太原理工大学2018级python复习题
第一题:
# 题目要求 键盘输入字符串 对其每个不重复的字符串形成列表 倒序输出
str_ = input("请输入字符串")
# 把字符串转为列表
listt = list(str_)
# 使用切片完成倒序
listtt = listt[::-1]
# 使用列表推导式去重
list3 = []
[list3.append(i) for i in listtt if not i in list3]
print(list3)
第二题
# 求阶乘的和
sum_test = 0
def test_sum(n):
if n == 1:
return 1
return n * test_sum(n - 1)
n = int(input("请输入n的值"))
for i in range(1,n+1):
sum_test += test_sum(i)
print(sum_test)
第三题:
class teacher(object):
def __init__(self, title, major, subject):
self.title = title
self.major = major
self.subject = subject
def printTeacherInfo(self):
print(f"教室的职称是{self.title}教师的专业是{self.major}教师的授课名称是{self.subject}")
class Cadre(object):
def __init__(self, postion, department):
self.posttion = postion
self.department = department
def printCadreInfo(self):
print(f"干部的职位是{self.posttion}干部的部门是{self.department}")
class TeacherCadre(teacher, Cadre):
def __init__(self, title, major, subject, postion, dpartment, name, gender, age, wages):
teacher.__init__(self, title, major, subject)
Cadre.__init__(self, postion, dpartment)
self.name = name
self.gender = gender
self.age = age
self.__wages = wages
def printTeacherCadreInfo(self):
print(f"职称是{self.title}专业是{self.major}授课名称是{self.subject}职位是{self.posttion}"
f"部门是{self.department}姓名是{self.name}年龄是{self.age}性别是{self.gender}工资是{self.__wages}")
teacherCadre = TeacherCadre("老师", "软件", "数据库", "牛皮", "教学部", "libin", "男", 22, 5000)
teacherCadre.printTeacherCadreInfo()
第四题
# coding=utf-8
# 一个学校,有3个办公室,现在有8位老师等待工位的分配,请编写程序,完成随机的分配.
import random
# 定义一个列表来保存3个办公室
offices = [[], [], []]
# 定义一个列表来存储8位老师的名字
names = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
# 开始分配
# for name in names:
# index = random.randint(0, 2)
# offices[index].append(name)
# 如果有一个办公室为空就重新分配
while len(offices[0]) == 0 or len(offices[1]) == 0 or len(offices[2]) == 0:
for name in names:
index = random.randint(0, 2)
offices[index].append(name)
# 遍历输出分配结果
i = 1
for tempNames in offices:
print('办公室%d中有%d个老师,分别是:' % (i, len(tempNames))),
i += 1
for name in tempNames:
print('%s' % name, end=" "),
print()
第五题
class Vehicle(object):
def __init__(self, wheels, weight):
self.setWheels(wheels)
self.setWeight(weight)
def setWheels(self, wheels):
self.__wheels = wheels
def setWeight(self, weight):
self.__weight = weight
def getWeight(self):
return self.__weight
def getWheels(self):
return self.__wheels
def display(self):
print("轮胎数为:" + str(self.getWheels()) + "," + "重量为:" + str(self.getWeight()))
class Car(Vehicle):
def __init__(self, wheels, weight, passenger_load=4):
super(Car, self).__init__(wheels, weight)
Vehicle.__init__(self, wheels, weight)
self.setPassenger(passenger_load)
def setPassenger(self, passenger_load):
self.__passenger_load = passenger_load
def getPassenger(self):
return self.__passenger_load
def display(self):
super(Car, self).display()
print("载客量为:" + str(self.getPassenger()))
class Truck(Vehicle):
def __init__(self, wheels, weight, passenger_load, payload):
super(Truck, self).__init__(wheels, weight)
Vehicle.__init__(self, wheels, weight)
self.setPassenger(passenger_load)
self.setPayload(payload)
def setPassenger(self, passenger_load):
self.__passenger_load = passenger_load
def setPayload(self, payload):
self.__payload = payload
def getPayload(self):
return self.__payload
def getPassenger(self):
return self.__passenger_load
def display(self):
super(Truck, self).display()
print("载客量为:" + str(self.getPassenger()) + "," + "载重量为:" + str(self.getPayload()))
if __name__ == '__main__':
vehicle = Vehicle(10, 150)
vehicle.display()
car = Car(5, 50)
car.display()
truck = Truck(12, 200, 12, 200)
truck.display()