2 Star 1 Fork 0

Python28/牛存果

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
直播第一天作业.py 9.80 KB
一键复制 编辑 原始数据 按行查看 历史
牛存果 提交于 2020-02-04 00:22 . 11
# 1,定义一个圆形类, 半径是这个圆形的属性, 实例化一个半径为5的圆形, 一个半径为10的圆形
# 完成方法
# 计算圆形面积
# 计算圆形周长
#
#
# class Round():
# def __init__(self,radius):
# self.radius =radius
# def area(self):
# print(3.14*self.radius*self.radius)
# def circumference(self):
# print(2*3.14*self.radius)
#
# r1 = Round(5)
# r1.area()
# r1.circumference()
# r2 = Round(10)
# r2.area()
# r2.circumference()
# 2,定义一个用户类, 用户名和密码是这个类的属性, 实例化两个用户, 分别有不同的用户名和密码
# 登陆成功之后才创建用户对象
# 设计一个方法
# 修改密码
#
# class Person():
# # def __init__(self,user,pwd):
# # self.user = user
# # self.pwd = pwd
# # def change_Password(self,newpwd):
# # self.pwd = newpwd
# #
# # p1 = Person("小刚",123456)
# # p1.change_Password(888888)
# # print(p1.pwd)
# # p2 = Person("小红",666)
# # p2.change_Password("新改的密码")
# # print(p2.pwd)
# 3,定义一个学生类。有下面的类属性:
# 1
# 姓名
# 2
# 年龄
# 3
# 成绩(语文,数学,英语)[每课成绩的类型为整数]
# 类方法:
# 1
# 获取学生的姓名:get_name()
# 返回类型: str
# 2
# 获取学生的年龄:get_age()
# 返回类型: int
# 3
# 返回3门科目中最高的分数。get_course()
# 返回类型: int
# 写好类以后,可以定义2个同学测试下:
# zm = Student('zhangming', 20, [69, 88, 100])
# 返回结果:
# zhangming
# 20
# 100
#
# class Student():
# def __init__(self,name,age,course):
# self.name = name
# self.age = age
# self.course = course
#
# def get_name(self):
# return self.name
# def get_age(self):
# return self.age
#
# def get_course(self):
# return max(self.course)
#
# zm = Student('zhangming', 20, [69, 88, 100])
# print(zm.get_name())
# print(zm.get_age())
# print(zm.get_course())
# 4,定义一个列表的操作类:Listinfo
# 包括的方法:
# 1
# 列表元素添加: add_key(keyname)[keyname:字符串或者整数类型]
# 2
# 列表元素取值:get_key(num)[num:整数类型]
# 3
# 列表合并:update_list(list)[list:列表类型]
# 4
# 删除并且返回最后一个元素:del_key()
# list_info = Listinfo([44, 222, 111, 333, 454, 'sss', '333'])
#
# class Listinfo():
# def __init__(self,list):
# self.list = list
#
# def add_key(self,keyname):
# self.list.append(keyname)
#
# def get_key(self,num):
# return self.list[num]
# def update_list(self,list):
# # self.list.extend(list)
# self.list += list
#
# def del_key(self):
# return self.list.pop()
# list_info = Listinfo([44, 222, 111, 333, 454, 'sss', '333'])
# list_info.add_key('444')
# print(list_info.list)
# print(list_info.list[2])
# list_info.update_list(['666','777'])
# print(list_info.list)
# print(list_info.del_key())
# print(list_info.list)
# 5,英雄自残
# 一秒打自己一次
# 掉的血是一个波动值,可以随机选择多个技能
# 有一定闪避概率,没血了会死
class Hero():
def __init__(self,name,hp):
self.name = name
self.hp = hp
def q1(self):
self.hp -=100
print(f"{self.name}使用了Q1技能自残了一下掉了100滴血,还剩{self.hp}滴血")
if self.hp <= 0:
print("完成自杀")
def q2(self):
self.hp -= 200
print(f"{self.name}使用了Q2技能自残了一下掉了200滴血,还剩{self.hp}滴血")
if self.hp <= 0:
print("完成自杀")
# 6,命名空间四件套
# 读程序, 标出程序的执行过程, 画出内存图解, 说明答案和为什么
# 请不要想当然, 执行之后检查结果然后再确认和自己的猜想是不是一致
# (1)
#
#
# class A:
# Country = '中国' # 静态变量/静态属性 存储在类的命名空间里的
#
# def __init__(self, name, age, country): # 绑定方法 存储在类的命名空间里的
# self.name = name
# self.age = age
#
# def func1(self):
# print(self)
#
#
# a = A('alex', 83, '印度')
# b = A('wusir', 74, '泰国')
# A.Country = '英国'
# a.Country = '日本'
# print(a.Country) # '日本'
# print(b.Country) ##'英国'
# print(A.Country) #'英国'
#
# (2)
#
#
# class A:
# Country = ['中国'] # 静态变量/静态属性 存储在类的命名空间里的
#
# def __init__(self, name, age, country): # 绑定方法 存储在类的命名空间里的
# self.name = name
# self.age = age
#
# def func1(self):
# print(self)
#
#
# a = A('alex', 83, '印度')
# b = A('wusir', 74, '泰国')
# a.Country[0] = '日本'
# print(a.Country) ## ['日本']
# print(b.Country) ##['日本']
# print(A.Country) ##['日本']
#
# (3)
#
# class A:
# Country = '中国' # 静态变量/静态属性 存储在类的命名空间里的
#
# def __init__(self, name, age, country): # 绑定方法 存储在类的命名空间里的
# self.name = name
# self.age = age
# self.Country = country
#
# def func1(self):
# print(self)
#
#
# a = A('alex', 83, '印度')
# b = A('wusir', 74, '泰国')
# A.Country = '英国'
# a.Country = '日本'
# print(a.Country) ## '日本'
# print(b.Country) ##'泰国'
# print(A.Country) ##'英国'
#
# # (4)
# #
#
# class A:
# Country = '中国' # 静态变量/静态属性 存储在类的命名空间里的
#
# def __init__(self, name, age, country): # 绑定方法 存储在类的命名空间里的
# self.name = name
# self.age = age
#
# def Country(self):
# return self.Country
#
#
# a = A('alex', 83, '印度')
# b = A('wusir', 74, '泰国')
# print(a.Country) # '中国'
# print(a.Country()) # '中国'
# 7,士兵类(Soldier)具有名字,和枪支(gun)两个属性
# 枪支属性默认为None值
# 士兵可以使用枪支开火(fire),如果没有获得枪则提示“还没有枪”
# 枪类(Gun)有型号(model)
# 和子弹数量(bullet_count)属性
# 枪能够发射子弹(shoot),也可以装填子弹(add_bullet),如果子弹数为0则不能继续发射
#
# class Soldier():
# def __init__(self,name,gun=None):
# self.name =name
# self.gun =gun
# def fire(self):
# if not self.gun:
# print("还没有枪")
#
# class Gun():
# def __init__(self,model,bullet_count):
# self.model = model
# self.bullet_count = bullet_count
# def add_bullet(self):
# pass
# def shoot(self):
# self.add_bullet -= 1
# if self.add_bullet <=0:
# print("没子弹了")
# pass
# 8,定义宠物类( Pet ),猫类(Cat)和狗类(Dog)
# 宠物都有属性姓名(name)和年龄(age)
# 宠物都有吃(eat)、喝(drink)、叫(shout)的方法
# 猫除了具有宠物类的方法,还有爬树( climbTree )的方法
# 狗除了具有宠物类的方法,还有警戒( police)的方法
#
class Pet():
def __init__(self,name,age):
self.name =name
self.age =age
def eat(self):
print("吃")
def drink(self):
print("喝")
def shout(self):
print("叫")
class Cat(Pet):
def climbTree(self):
print("爬树")
class Dog(Pet):
def police(self):
print("警戒")
# 9,建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等属性
# 至少要求汽车能够加速
# 减速
# 停车
# 再定义一个小汽车类CarAuto
# 继承Auto
# 并添加空调、CD属性,并且重新实现方法覆盖加速、减速的方法
#
# class Auto():
# def __init__(self,count1,color,speed):
# self.count1 =count1
# self.color = color
# self.speed =speed
# def speeded_up(self):
# self.speed += 10
# def retard(self):
# self.speed -= 10
# if self.speed <=0:
# print("车停了")
# class CarAuto(Auto):
# def __init__(self,air,cd,count1,color,speed):
# self.air =air
# self.cd =cd
# super().__init__(count1,color,speed)
#
# def speeded_up(self):
# self.speed += 20
#
# def retard(self):
# self.speed -=15
# if self.speed <= 0:
# print("车停了")
#
# 10,银行卡类(BankCard)有余额(balance)属性和存款(deposit)取款(draw)的方法,
# 只要取款金额小于余额即可完成取款操作
# 信用卡类(CreditCard)继承自银行卡类,信用卡多了透支额度(overdraft)属性,
# # 如果卡中余额和透支额度的和大于取款金额即可完成取款。如果透支,显示透支金额
#
class BankCard():
def __init__(self,balance):
self.balance =balance
def deposit(self):
self.balance += 100
def draw(self,amount):
if amount > self.balance:
print("没有这么多钱")
else:
self.balance -=amount
return self.balance
class CreditCard(BankCard):
def __init__(self,overdraft,balance):
self.overdraft = overdraft
super().__init__(balance)
def draw(self, amount):
if amount > self.balance + self.overdraft :
print("没有这么多钱")
else:
self.balance -=amount
# 选做题:
# 当买车时,有很多种品牌可以选择,比如北京现代、别克、凯迪拉克、特斯拉等,那么此时该怎样进行设计程序呢?能否根据用户输入的品牌名称来返回对应的汽车对象
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Python
1
https://gitee.com/old_boy_education_python_28/cow_fruit.git
git@gitee.com:old_boy_education_python_28/cow_fruit.git
old_boy_education_python_28
cow_fruit
牛存果
master

搜索帮助