python小测验-附实现
2018-08-02 本文已影响0人
KingJX
"""
1.定义一个学生类。有属性:姓名、年龄、成绩(语文,数学,英语)[每课成绩的类型为整数]
方法: a. 获取学生的姓名:getname() b. 获取学生的年龄: getage()
c. 返回3门科目中最高的分数。get_course()
"""
class Score:
def __init__(self, chinese=0, math=0, english=0):
self.chinese = chinese
self.math = math
self.english = english
class Student:
def __init__(self, name='', age=0, score = {}):
self.name = name
self.age = age
self.score = score
def get_name(self):
return self.name
def get_age(self):
return self.age
def get_course(self, score):
max_sco = score['chinese']
for course in score:
if max_sco < score[course]:
max_sco = score[course]
return max_sco
if __name__ == '__main__':
sco1 = Score(90, 117, 94)
print(sco1.__dict__)
stu1 = Student('King', 21, sco1.__dict__)
print('学生姓名为:%s' % stu1.get_name())
print('学生年龄为:%s' % stu1.get_age())
print('三科中成绩最高分数是:%d' % stu1.get_course(sco1.__dict__))
输出结果:
{'chinese': 90, 'math': 117, 'english': 94}
学生姓名为:King
学生年龄为:21
三科中成绩最高分数是:117
"""
建立一个汽车类Auto,包括轮胎个数,汽车颜色,车身重量,速度等成员变量,并通过不同的构造方法创
建实例。至少要求 汽车能够加速 减速 停车。 再定义一个小汽⻋车类CarAuto 继承Auto 并添加空调、CD等成
员变量 覆盖加速 减速的方法
"""
class Auto:
def __init__(self , tyre=4, color='', weight=0, speed=0):
self.tyre = tyre
self.color = color
self.weight = weight
self.speed = speed
def up_speed(self):
self.speed += 1
print('Auto加速')
def down_speed(self):
if self.speed <= 0:
return
self.speed -= 1
print('Auto减速')
def stop_car(self):
self.speed = 0
print('Auto停止了')
class CarAuto(Auto):
def __init__(self, air_conditioner='制冷', cd = ''):
super().__init__()
self.air_conditioner = air_conditioner
self.cd = cd
def up_speed(self):
self.speed += 1
print('CarAuto加速')
def down_speed(self):
self.speed -= 1
print('CarAuto减速')
if __name__ == '__main__':
a1 = Auto(4, '白色', 800, 60)
c1 = CarAuto(cd='仙剑问情')
c1.tyre = 4
c1.color = '红色'
c1.weight = 500
c1.speed = 75
a1.up_speed()
a1.down_speed()
a1.stop_car()
c1.up_speed()
c1.down_speed()
输出结果:
Auto加速
Auto减速
Auto停止了
CarAuto加速
CarAuto减速
"""
创建一个名为User 的类,其中包含属性firstname 和 lastname ,还有用户简介通常会存储的其他几个属
性。在类User 中定义一个名为describeuser() 的方法,它打印用户信息摘要 ; 再定义一个名为 greetuser() 的
方法,它向用户发出个性化的问候
管理员是一种特殊的用户。编写一个名为Admin 的类,让它继承User类。添加一个名为privileges 的属性,
用于存储一个由字符串(如"can add post"、"can delete post"、"can ban user"等)组成的列表。编写一个名为
show_privileges()的方法,它显示管理员的权限。创建一个Admin 实例,并调⽤用这个方法
"""
import time
# print(time.localtime(),time.localtime().tm_hour)
class User:
def __init__(self, first_name='', last_name='', address=''):
self.first_name = first_name
self.last_name = last_name
self.address = address
def describe_user(self):
print('姓:%s \n名:%s \n住址:%s' % (self.first_name, self.last_name, self.address))
def greet_user(self):
hour = time.localtime().tm_hour
if 6 < hour <= 11:
print('早上好%s' % self.last_name)
if 11 < hour <= 14:
print('中午好%s' % self.last_name)
if 14 < hour <= 18:
print('下午好%s' % self.last_name)
if 18 < hour <= 24 or 0 <= hour <=6:
print('晚上好%s' % self.last_name)
class Admin(User):
def __init__(self, privileges=[]):
super().__init__()
self.privileges = privileges
def show_privileges(self):
print('管理员的权限有:')
for privileges in self.privileges:
print(privileges)
if __name__ == '__main__':
user1 = User('King','JX','南充')
user1.describe_user()
user1.greet_user()
admin1 = Admin(["can add post","can delete post","can ban user"])
admin1.show_privileges()
输出结果:
姓:King
名:JX
住址:南充
晚上好JX
管理员的权限有:
can add post
can delete post
can ban user
"""
"""
class Person:
number = 0
def __init__(self):
Person.number += 1
print('创建了一个对象')
return print('这是第%d个对象' % Person.number)
if __name__ == '__main__':
p1 = Person()
p2 = Person()
p3 = Person()
输出结果:
创建了一个对象
这是第1个对象
创建了一个对象
这是第2个对象
创建了一个对象
这是第3个对象