CSE111 Lab Assignment 6
CSE111 Lab Assignment 6
5. Explain the difference between a class variable and an instance variable. Print
your answer at the very end of your code.
6. What is the difference between an instance method and class method? Print your
answer at the very end
Task 2
Write the Assassin class so that the given code provides the expected output.
The assumption is Bus base-fare is 450 taka. A passenger can carry upto 20 kg for free.
50 taka will be added if bag weight is between 21 and 50 kg. 100 taka will be added if
bag weight is greater than 50 kg.
Task 6
Implement the design of the Laptop class so that the following output is produced
You have already solved this problem in assignment 4 using constructor overloading.
Now, solve this again but this time DO NOT USE CONSTRUCTOR OVERLOADING.
**Observe the output values carefully to understand how the radius and height values
are changing.
Subtaks:
q1 = FinalT6A(2,1) x y sum
q1.methodA()
q1.methodA()
Task 13
1 class A:
2 temp = 4
3 def __init__(self):
4 self.y = self.temp - 2
5 self.sum = self.temp + 1
6 A.temp -= 2
7 self.methodA(3, 4)
8 def methodA(self, m, n):
9 x = 0
10 self.y = self.y + m + (self.temp)
11 A.temp += 1
12 x = x + 1 + n
13 self.sum = self.sum + x + self.y
14 print(x, self.y, self.sum)
15
16 class B:
17 x = 0
18 def __init__(self, b = None):
19 self.y, self.temp, self.sum = 5, -5, 2
20
21 if b == None:
22 self.y = self.temp + 3
23 self.sum = 3 + self.temp + 2
24 self.temp -= 2
25 else:
26 self.sum = b.sum
27 B.x = b.x
28 b.methodB(2, 3)
29 def methodA(self, m, n):
30 x = 2
31 self.y = self.y + m + (self.temp)
32 self.temp += 1
33 x = x + 5 + n
34 self.sum = self.sum + x + self.y
35 print(x, self.y, self.sum)
36 def methodB(self, m, n):
37 y = 0
38 y = y + self.y
39 B.x = self.y + 2 + self.temp
40 self.methodA(self.x, y)
41 self.sum = self.x + y + self.sum
42 print(self.x, y, self.sum)
a1 = A()
b1 = B()
b2 = B(b1)
b1.methodA(1, 2)
b2.methodB(3, 2)
Output:
x y sum
Task 14
1 class msgClass:
2 def __init__(self):
3 self.content = 0
4
5 class Quiz3:
6 x = 0
7 def __init__(self, k = None):
8 self.sum, self.y = 0, 0
9 if k is None:
10 self.sum = 5
11 Quiz3.x = 2
12 self.y = 2
13 else:
14 self.sum = self.sum + k
15 self.y = 3
16 Quiz3.x += 2
17 def methodA(self):
18 x = 1
19 y = 1
20 msg = [None]
21 myMsg = msgClass()
22 myMsg.content = Quiz3.x
23 msg[0] = myMsg
24 msg[0].content = self.y + myMsg.content
25 self.y = self.y + self.methodB(msg[0])
26 y = self.methodB(msg[0]) + self.y
27 x = y + self.methodB(msg, msg[0])
28 self.sum = x + y + msg[0].content
29 print(x, y, self.sum)
30 def methodB(self, *args):
31 if len(args) == 2:
32 mg2, mg1 = args
33 x = 2
34 self.y = self.y + mg2[0].content
35 mg2[0].content = self.y + mg1.content
36 x = x + 2 + mg1.content
37 self.sum = self.sum + x + self.y
38 mg1.content = self.sum - mg2[0].content
39 print(Quiz3.x, self.y, self.sum)
40 return self.sum
41
42 elif len(args) == 1:
43 mg1, = args
44 x = 1
45 y = 2
46 y = self.sum + mg1.content
47 self.y = y + mg1.content
48 x = Quiz3.x + 5 + mg1.content
49 self.sum = self.sum + x + y
50 Quiz3.x = mg1.content + x + 3
51 print(x, y, self.sum)
52 return y
a1 = Quiz3() x y sum
a2 = Quiz3(5)
msg = msgClass()
a1.methodA()
a2.methodB(msg)