-
看代码写结果【如果有错误,则标注错误即可,并且假设程序报错可以继续执行】
class Foo(object): a1 = 1 def __init__(self,num): self.num = num def show_data(self): print(self.num+self.a1) obj1 = Foo(666) obj2 = Foo(999) print(obj1.num) print(obj1.a1) obj1.num = 18 obj1.a1 = 99 print(obj1.num) print(obj1.a1) print(obj2.a1) print(obj2.num) print(obj2.num) print(Foo.a1) print(obj1.a1) 结果: 666 1 18 99 1 999 999 1 99
-
看代码写结果,注意返回值。
class Foo(object): def f1(self): return 999 def f2(self): v = self.f1() print('f2') return v def f3(self): print('f3') return self.f2() def run(self): result = self.f3() print(result) obj = Foo() v1 = obj.run() print(v1) 结果 f3 f2 999 None
-
看代码写结果
class Foo(object): def __init__(self, num): self.num = num v1 = [Foo for i in range(10)] v2 = [Foo(5) for i in range(10)] v3 = [Foo(i) for i in range(10)] print(v1) print(v2) print(v3) 结果 [<class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>, <class '__main__.Foo'>] [<__main__.Foo object at 0x000002A1D906D908>, <__main__.Foo object at 0x000002A1D906D898>, <__main__.Foo object at 0x000002A1D906D860>, <__main__.Foo object at 0x000002A1D906D828>, <__main__.Foo object at 0x000002A1D906D7B8>, <__main__.Foo object at 0x000002A1D906DDD8>, <__main__.Foo object at 0x000002A1D906DE10>, <__main__.Foo object at 0x000002A1D906DE48>, <__main__.Foo object at 0x000002A1D906DE80>, <__main__.Foo object at 0x000002A1D906DEB8>] [<__main__.Foo object at 0x000002A1D906DEF0>, <__main__.Foo object at 0x000002A1D906DF28>, <__main__.Foo object at 0x000002A1D906DF60>, <__main__.Foo object at 0x000002A1D906DF98>, <__main__.Foo object at 0x000002A1D906DFD0>, <__main__.Foo object at 0x000002A1D9073048>, <__main__.Foo object at 0x000002A1D9073080>, <__main__.Foo object at 0x000002A1D90730B8>, <__main__.Foo object at 0x000002A1D90730F0>, <__main__.Foo object at 0x000002A1D9073128>]
-
看代码写结果
class StarkConfig(object): def __init__(self, num): self.num = num def changelist(self, request): print(self.num, request) config_obj_list = [StarkConfig(1), StarkConfig(2), StarkConfig(3)] for item in config_obj_list: print(item.num) 结果 1 2 3
-
看代码写结果:
class StarkConfig(object): def __init__(self, num): self.num = num def changelist(self, request): print(self.num, request) config_obj_list = [StarkConfig(1), StarkConfig(2), StarkConfig(3)] for item in config_obj_list: item.changelist(666) 1 666 2 666 3 666
-
看代码写结果:
class Department(object): def __init__(self,title): self.title = title class Person(object): def __init__(self,name,age,depart): self.name = name self.age = age self.depart = depart d1 = Department('人事部') d2 = Department('销售部') p1 = Person('武沛齐',18,d1) p2 = Person('alex',18,d1) p3 = Person('安安',19,d2) print(p1.name) print(p2.age) print(p3.depart) print(p3.depart.title) 结果: 武沛齐 18 <__main__.Department object at 0x000001EA92C7DD68> 销售部
-
看代码写结果:
class Department(object): def __init__(self,title): self.title = title class Person(object): def __init__(self,name,age,depart): self.name = name self.age = age self.depart = depart def message(self): msg = "我是%s,年龄%s,属于%s" %(self.name,self.age,self.depart.title) print(msg) d1 = Department('人事部') d2 = Department('销售部') p1 = Person('武沛齐',18,d1) p2 = Person('alex',18,d1) p1.message() p2.message() 结果: 我是武沛齐,年龄18,属于人事部 我是alex,年龄18,属于人事部
-
看代码写结果:
class A: def f1(self): print('in A f1') class B(A): def f1(self): print('in B f1') class C(A): def f1(self): print('in C f1') class D(B, C): def f1(self): super(B, self).f1() print('in D f1') obj = D() obj.f1() 结果: in C f1 in D f1
-
看代码写结果:
class A: def f1(self): print('in A f1') class B(A): def f1(self): super().f1() print('in B f1') class C(A): def f1(self): print('in C f1') class D(B, C): def f1(self): super().f1() print('in D f1') obj = D() obj.f1() 结果: in C f1 in B f1 in D f1
-
程序设计题:
运用类完成一个扑克牌类(无大小王)的小游戏: 用户需要输入用户名,以下为用户可选选项: 1. 洗牌 2. 随机抽取一张 3. 指定抽取一张 4. 从小到大排序 5. 退出 1. 洗牌:每次执行的结果顺序随机。 2. 随机抽取一张:显示结果为:太白金星您随机抽取的牌为:黑桃K 3. 指定抽取一张: 用户输入序号(1~52) 比如输入5,显示结果为:太白金星您抽取的第5张牌为:黑桃A 4. 将此牌从小到大显示出来。A -> 2 -> 3 .......-> K 提供思路: 52张牌可以放置一个容器中。 用户名,以及盛放牌的容器可以封装到对象属性中。
import random class Poker: lst = ["A"]+[str(i) for i in range(2,11)]+["J","Q","K"] def __init__(self,name,poker_list): self.name = name self.poker_list = poker_list self.scrap_card = [] def shuffle_cards(self): """ 洗牌 :return: """ self.poker_list += self.scrap_card random.shuffle(self.poker_list) print(self.poker_list) def random_extraction(self): """ 随机抽取一张牌 :return: """ x = random.choice(self.poker_list) print(f"{self.name}您随机抽取的牌为:{x}") self.scrap_card.append(x) self.poker_list.remove(x) def appoint(self,num): """ 指定一张牌 :param num:第几张牌 :return: """ x = self.poker_list[num - 1] print(f"{self.name}您抽取的第{num}张牌为:{x}") self.scrap_card.append(x) self.poker_list.remove(x) def Sort(self): self.poker_list.sort(key=lambda x:self.lst.index(x[2:])) print(self.poker_list) lst1 = ["黑桃","红桃","方片","梅花"] lst2 = [ str(i) for i in range(2,11)]+["A","J","Q","K"] poker_list = [ i +j for i in lst1 for j in lst2] name = input("请输入姓名") masge = """ 1. 洗牌 2. 随机抽取一张 3. 指定抽取一张 4. 从小到大排序 5. 退出 """ poker = Poker(name,poker_list) dic = {"1":poker.shuffle_cards,"2" :poker.random_extraction,"3":poker.appoint,"4":poker.Sort,"5":exit} while True: ch = input(masge + "\n>>>") if ch in dic and ch !="3": dic[ch]() elif ch == "3": num = input(f"请输入一序号1~{len(poker.poker_list)}") if num.isdecimal() and 0 < int(num) < len(poker.poker_list): dic[ch](int(num)) else: print("输入的序号有误!") else: print("请输入正确的选项!")