一小时学会Python基础练习的十四个练手题

目录

    • 1到100的加法
    • 搬家具
    • 办公室人员分配
    • 猜拳游戏
    • 乘公交车
    • 吃苹果
    • 九九乘法表
    • 烤地瓜
    • 奇偶100内相加
    • 三角形
    • 正方形
    • 文件备份
    • 学员管理系统(函数版)
    • 学员管理系统(面向对象版)
      • main
      • mangerSystem
      • student

1到100的加法

i = 1 
result = 0
while i <= 100:result += ii += 1
print(result)

搬家具

class Furniture():def __init__(self,name,area):self.name = nameself.area = areaclass Home():def __init__(self,address,area):self.address = addressself.area = areaself.free_area = areaself.furniture = []def __str__(self):return f"房子地理位置{self.address},房屋面积是{self.area},剩余面积{self.free_area},家具有{self.furniture}"def add_furniture(self,item):if self.free_area >= item.area:self.furniture.append(item.name)self.free_area -= item.areaelse:print('无法容纳更多的家具')F1 = Furniture('沙发',10)
F2 = Furniture('双人床',30)addHome = Home('上海',2000)addHome.add_furniture(F1)print(addHome)
addHome.add_furniture(F2)print(addHome)

办公室人员分配

offices = [[],[],[]]
teachers =["李老师","王老师","牛老师","黄老师","庄老师","陈老师","毕老师","何老师"]import randomfor name in teachers: # 先挑选老师num = random.randint(0,2)offices[num].append(name) # 随机选取教室,将老师安排进去i = 1 
for office in offices:print(f'第{i}办公室,人数为{len(office)}') # 读出进入到教室的老师for name in office:print(f'{name} ',end='')print()print()i += 1

猜拳游戏

import randomwhile True:player = int(float(input("请输入数字-1.剪刀、2.石头、3.布:")))computer = random.randint(1,3)if (player == 1) and (computer == 2) or (player == 2) and (computer == 1) or (player == 3) and (computer == 1):print("玩家获胜")elif player == computer:print("平局")else:print("电脑获胜")

乘公交车

money = 1 # 用1和0表示有或没有
seat = 1if money == 1:print('请上车')if seat == 1:print('请坐下')else:print('无座')
else:print('请步行')

吃苹果

i = 0
while i < 5:if i == 3:print('我已经吃饱了')break # 条件生效后,直接中断这次的循 (中断)i += 1
print(f'吃完{i}个苹果,饱了')j = 1
while j < 5:if j == 3:print(f'第{j}个有虫子')j += 1continue # 迭代 跳出这个循环print(f'一共吃了{j}个苹果')j += 1
print('吃完这些苹果')

九九乘法表

i = 1
while i<=9:j = 1while j <= i:print(f"  {i}*{j}={i*j}",end="")j += 1print()i += 1

烤地瓜

class SweetPotato():def __init__(self):self.cook_time = 0self.cook_state = '生的'self.condiments = []def cook(self,time):self.cook_time += timeif 0<= self.cook_time <3:self.cook_state = '生的'elif 3<= self.cook_time <6:self.cook_state = '半生'elif 6<= self.cook_time <8:self.cook_state = '全熟'elif 8<= self.cook_time :self.cook_state = '烤糊'def add_condiments(self,condiment):self.condiments.append(condiment)def __str__(self):return f"这个地瓜烤了{self.cook_time}分钟,状态是{self.cook_state},调料{self.condiments}"if __name__ == "__main__":CookingDiGua = SweetPotato()print(CookingDiGua)CookingDiGua.cook(1)CookingDiGua.add_condiments("盐巴")print(CookingDiGua)CookingDiGua.cook(2)CookingDiGua.add_condiments("酱油")print(CookingDiGua)CookingDiGua.cook(3)print(CookingDiGua)

奇偶100内相加

i = 1
result = 0
while i <= 100:if i % 2 == 0:result += ii += 1
print(result)j = 0 
result = 0
while j <= 100:result += jj += 2
print(result)

三角形

j = 0
while j < 5:i = 0while i < j:print('*',end="")i += 1print()j += 1

正方形

j = 0
while j <4:i = 0while i <7:print('*',end="")i += 1print()j += 1

文件备份

old_file = input('请输入您需要的备份文件名:')index = old_file.rfind('.')new_file = old_file[:index] + '[备份]' + old_file[index:]print(new_file)old_f = open(old_file,'rb')
new_f = open(new_file,'wb')while True:con = old_f.read(1024)if len(con) == 0:breaknew_f.write(con)old_f.close()
new_f.close()   

学员管理系统(函数版)

info = []def print_info():print('-' * 20)print('1.添加学员')print('2.删除学员')print('3.修改学员')print('4.查询学员')print('5.所有学员')print('6.退出系统')print('-' * 20)def add_info():new_id = input("请输入ID:")new_name = input("请输入姓名:")new_tel = input("请输入Tel:")global infofor i in info:if new_id == i['name']:print("用户存在")returninfo_dict = {}info_dict["id"] = new_idinfo_dict["name"] = new_nameinfo_dict["tel"] = new_telinfo.append(info_dict)print(info)def del_info():del_name = input('输入删除姓名:')global infofor i in info:if del_name == i['name']:info.remove(i)print('删除成功')breakelse:print('不存在该学员')print(info)def modify_info():modify_name = input('输入修改姓名:')for i in info:if modify_info == i['name']:i['tel'] = input('输入修改的TEL:') breakelse:print("学员不存在")def search_info():search_name = input('输入姓名:')    for i in info:      if search_name == i["name"]:print('---查找到一下学员信息-----')print(f'学员姓名/t{i["name"]}/t电话{i["tel"]}/t学员号{i["id"]}')breakelse:print('学员不存在')print(info)def all_info():print("学号/t姓名/t手机号")global infofor i in info:print(f'{i["id"]}/t{i["name"]}/t{i["tel"]}')while True:print_info()User_num = int(float(input("请输入需要执行的功能:")))if User_num == 1:add_info()elif User_num == 2:del_info()elif User_num  == 3:modify_info()elif User_num  == 4:search_info()elif User_num  == 5:all_info()elif User_num  == 6:exit_flag = input('退出系统 yes or no:')if exit_flag == "yes":breakelse:print('操作粗错误')

学员管理系统(面向对象版)

main

from mangerSystem import*if __name__ == '__main__':student_manager = StudentManager()student_manager.run()

mangerSystem

from student import*class StudentManager(object):def __init__(self):self.student_list = []def run(self):while True:self.show_menu()menu_num = int(float(input("请输入功能序列号:")))if   menu_num == 1:self.add_student()elif menu_num ==2: self.del_student()elif menu_num ==3: self.modify_student()elif menu_num ==4: self.search_student()elif menu_num ==5: self.show_student()elif menu_num ==6: self.save_student()elif menu_num ==7: breakelse:print("您输入错误")@staticmethoddef show_menu():print("————请输入以下序列功能—————")print('——1.添加')            print('——2.删除')            print('——3.修改')            print('——4.查询')            print('——5.所有')            print('——6.保存')            print('——7.退出')print("—————————————————————————")def add_info(self):new_name = input('请输入姓名:')new_id = input('请输入ID:')new_tel = input('请输入电话:')for i in self.student_list:if (i.name == new_name) and (i.id == new_id) and (i.tel == new_tel):print("学员存在")returnstudent = Student(name,id,tel)self.student_list.append(student)print(self.student_list)print(student)def del_student(self):del_name = input("请输入删除的姓名:")for i in self.student_list:if i.name == del_name:self.student_list.remove(i)breakelse:print('查无此人!')print(self.student_list)def modify_student(self):modify_name = input('请输入修改的姓名:')for i in self.student_list:if i.name == modify_name:i.name = input("输入新名字")i.gender = input('输入性别')i.tel = input('输入新手机号')print(f'修改学员信息成功,姓名{i.name},性别{i.gender},手机号{i.tel}')breakelse:print('查无此人')def search_student(self):search_name = input("请输入查询的姓名")for i in self.student_list:if i.name == search_name:print(f'学员名字:{i.name},性别:{i.gender},手机号:{i.tel}')else:print('查无此人')def show_student(self):print('姓名\t性别\t手机号')for i in self.student_list:print(f'{i.name}\t{i.gender}\t{i.tel}')def save_student(self):f = open('student.data','w')new_list = [i.__dict__ for i in self.student_list]print(new_list)f.write(str(new_list))f.close()def load_info(self):try:f = open('student.data','r')except:f = open('student.data','w')else:data = f.read()new_list = eval(data)self.student_list = [student(i['name'],i['id'],i['tel']) for i in new_list]finally:f.close()

student

class Student(object):def __init__(self,name,gender,tel):self.name = nameself.gender = genderself.tel = teldef __ste__(self):return f'{self.name},{self.gender},{self.tel}'


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部