太原理工大学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()

  • 14
    点赞
  • 106
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值