‘’’
1.刘凯买了了⼀一台玫瑰红phone10,价值8000元,可以打电话、玩游戏
‘’’
class Person:
def __init__(self,name,gender):
self.name=name
self.gender=gender
def buy_phone(self,phone):
self.phone=phone
print('{}买了一部{}手机'.format(self.name,phone.kind))
def call(self,phonenumber):
phone.call(phonenumber)
def play(self, game_name):
phone.game(game_name)
class Phone(object):
def __init__(self, kind, color, money):
self.kind = kind
self.color = color
self.money = money
def call(self,phonenumber):
print('正在打电话:',phonenumber)
def game(self,game_name):
print(f'{game_name}真好玩!')
if __name__ == '__main__':
p=Person('刘凯','男')
phone=Phone('iphone10','红',8000)
p.buy_phone(phone)
p.call('1234567')
p.play('消消乐')
‘’‘2.写⼀一个计算器器类,可以进⾏行行加、减、乘、除计算’’’
class Caculate(object):
# 初始化参数
def __init__(self,x,y):
self.x=x
self.y=y
def add(self):
return self.x+self.y
def minus(self):
return self.x-self.y
def multiply(self):
return self.x*self.y
def divide(self):
try:
return self.x / self.y
except:
return '分母不能为零'
if __name__ == '__main__':
c=Caculate(9,0)
print(c.divide())
print(c.add())
print(c.minus())
print(c.multiply())
‘’‘3.设计两个类:
⼀一个点类,属性包括xy坐标。
⼀一个Rectangle类(矩形),属性有左上⻆角和右下⻆角的坐标,可以计算矩形的⾯面
积;可以判断点是否在正⽅方形内
实例例化⼀一个点,⼀一个正⽅方形,输出正⽅方形的⾯面积,输出点是否在正⽅方形内’’’
class Dot:
# 初始化参数
def __init__(self,x,y):
self.x = x
self.y = y
class Rectangle:
# 初始化参数
def __init__(self,left,right):
self.left=left
self.right=right
#计算面积
def area(self):
return abs(self.right.x-self.left.x)*abs(self.right.y-self.left.y)
# 判断点是否在矩形中
def judge(self,dot):
if dot.x>=self.left.x and dot.x<=self.right.x and dot.y<=self.left.y and dot.y>=self.right.y:
return True
else:
return False
if __name__ == '__main__':
left=Dot(2,5)
right=Dot(6,10)
d = Dot(3, 5)
rec=Rectangle(left,right)
print(rec.area())
print(rec.judge(d))
‘’’
4.定义⼀一个Time类,成员属性包括:时、分、秒;成员⽅方法:
add_hour(self,num) 把⼩小时加num add_minute(self,num) 把分钟加num
add_second(self,num) 把秒数加num 重写__str(self)__ ⽅方法,返回格式化的时
间字符串串:“04:16:09”
‘’’
class Time:
'''初始化参数时分秒'''
def __init__(self,hour,minute,second):
self.hour=hour
self.minute=minute
self.second=second
self.total=self.hour*3600+self.minute*60+self.second #时间转化成秒数
def add_hour(self,num):
# 增加的小时数转换为秒数
self.total+=num*3600
def add_minute(self,num):
# 增加的分钟数转换为秒数
self.total += num*60
def add_second(self,num):
self.total+=num
def __str__(self):
return '{:0>2d}:{:0>2d}:{:0>2d}'.format(int(self.total//3600%24),int(self.total/60%60),int(self.total%60))
if __name__ == '__main__':
t=Time(23,14,7)
t.add_hour(2)
t.add_minute(46)
t.add_second(12)
print(t)
‘’’
1.请写一个小游戏,人狗大站,2个角色,人和狗,游戏开始后,生成2个人,3条
狗,互相混战,人被狗咬了会掉血,狗被人打了也掉血,狗和人的攻击力,具备的
功能都不一样。
类:人
属性:人:攻击力(打)、生命值(血)
方法:打
类:狗;
属性:攻击力(咬)、生命值(血)
方法:咬
‘’’
import random
from random import randint
class Person:
def __init__(self, name, attack, blood):
self.name = name
self.attack = attack
self.blood = blood
self.alive = True
def hit(self, dog):
if self.blood > 0:
dog.blood -= self.attack
print('人(name:{} attack{})打了狗(name:{} attack{}),狗剩余血量{}'.format(self.name, self.attack,
dog.name,
dog.attack,
dog.blood))
else:
self.alive = False
class Dog:
def __init__(self, name, attack, blood):
self.name = name
self.attack = attack
self.blood = blood
self.alive = True
def bit(self, person):
if self.blood > 0:
person.blood -= self.attack
print('狗(name:{} attack{})咬了人(name:{} attack{}),人剩余血量{}'.format(self.name, self.attack,
person.name,
person.attack,
person.blood))
else:
self.alive = False
def main():
dogs = []
persons = []
# 产生两个人,并添加到容器
for i in range(1, 3):
attack, blood = randint(10, 20), randint(200, 300)
person = Person(i, attack, blood)
persons.append(person)
# 产生三条狗,并添加到容器
for i in range(1, 4):
attack, blood = randint(15, 30), randint(90, 150)
dog = Dog(i, attack, blood)
dogs.append(dog)
# 判断是否有一方获胜
while len(persons) != 0 and len(dogs) != 0:
person = random.choice(persons)
# 判断人是否死亡,死亡就移除
if person.alive:
dog = random.choice(dogs)
# 判断狗是否死亡,死亡就移除
if dog.alive:
person.hit(dog)
dog.bit(person)
else:
dogs.remove(dog)
else:
persons.remove(person)
else:
if len(persons) != 0:
print('人获胜了')
else:
print('狗获胜了')
if __name__ == '__main__':
main()