3.1 - 面向对象练习题

 1 # -*- coding:utf-8 -*-
 2 '''
 3 练习1:编写一个学生类,产生一堆学生对象, (5分钟)
 4 要求:
 5 有一个计数器(属性),统计总共实例了多少个对象
 6 '''
 7 class Student:
 8     school = 'luffycity'
 9     count = 0
10     def __init__(self, name, age, sex):
11         self.name = name
12         self.age = age
13         self.sex = sex
14         Student.count += 1
15 
16     def learn(self):
17         print("%s is learning" % self.name)
18 
19 
20 stu1 = Student('alice', 18, 'female')
21 stu2 = Student('alex', 32, 'male')
22 
23 # print(Student.count)
24 # print(stu1.count)
25 # print(stu2.count)
26 # print(Student.__dict__)
27 # print(stu1.__dict__)
28 # print(stu2.__dict__)
29 
30 '''
31 练习2:模仿LoL定义两个英雄类, (10分钟)
32 
33 要求:
34 英雄需要有昵称、攻击力、生命值等属性;
35 实例化出两个英雄对象;
36 英雄之间可以互殴,被殴打的一方掉血,血量小于0则判定为死亡。
37 '''
38 class Garen:
39     camp = 'Demacia'
40 
41     def __init__(self,nickname,life_value,aggressivity):
42         self.nickname = nickname
43         self.life_value = life_value
44         self.aggressivity = aggressivity
45 
46     def attack(self,enemy):
47         enemy.life_value -= self.aggressivity
48         # r1.life_value -= g1.aggressivity
49         if enemy.life_value == 0:
50             print('%s is over' % enemy.nickname)
51 
52 
53 class Riven:
54     camp = 'Noxus'
55 
56     def __init__(self, nickname, life_value, aggressivity):
57         self.nickname = nickname
58         self.life_value = life_value
59         self.aggressivity = aggressivity
60 
61     def attack(self, enemy):
62         enemy.life_value -= self.aggressivity
63 
64 # g1 = Garen('草丛伦',100,30)
65 g1 = Garen('草丛伦',100,80)
66 r1 = Riven('可爱的锐雯',80,50)
67 
68 print(r1.life_value)
69 g1.attack(r1)
70 print(r1.life_value)

 

转载于:https://www.cnblogs.com/alice-bj/p/8530524.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值