1.百词斩
# 开发时间 :2023/4/2 10:55
import time
eng=["counter","stall","shelf","price tag","discount","change","bank","shop"]
chn=["柜台","售货摊","货架","标价签","打折扣","零钱","银行","商店"]
dic = dict(zip(eng,chn)) # 将列表转换为字典
print("百词斩")
times =int(input("请设置每个单词停留时间(1~10秒)")) # 设置停留时间
for key in dic: # 遍历字典
print(key+"______________") # 输出英语单词,写汉语意思
time.sleep(times) # 单词写汉语停留时间
for value in dic.values(): # 遍历字典
print(value+"______________") # 输出汉语意思,写英语单词
time.sleep(times) # 汉语写英语停留时间
import datetime
note={} # 建立空字典note,保存便签信息
for i in range(2): # 存储两条便签信息
print("第"+str(i+1)+"条便签:") # 输出便签的编号
order=datetime.datetime.now() # 获取当前时间作为便签的时间
order=format(order,"%Y-%m-%d %H:%M:%S ") # 格式化便签时间
word = input("") # 输入便签内容
if word in dic or word in dic.values(): #判断字典内是否有某个键或某个值
word+=' 正确'
else:
word+=' 错误'
note[order] = word # 便签信息保存到字典note
for key,value in note.items(): # 输出便签 item相当于把key和value包裹在一起形成了键值对
print(key, "\n", value)
2.车辆
filename='车辆进出记录表.txt'
carlist=[]
with open(filename,'r') as f:
list1=f.readlines()
for i in range(1, len(list1)):
list1[i] = list1[i].rstrip('\n')
a,b=list1[i].split(' ')
if b=='进':
carlist.append(a)
elif a in carlist:
carlist.remove(a)
with open('新增车辆信息表.txt','w') as f2:
f2.write('\n'.join(carlist))
3.打印获奖名单
from operator import itemgetter
player_num = int(input('共有多少名参赛者?'))
scores = []
for i in range(player_num):
s = float(input('请输入第{}号选手成绩:'.format(i + 1)))
scores.append(s)
print('======================')
enum_scores = enumerate(scores)
sortedscore = sorted(enum_scores, key=itemgetter(1), reverse=True)
upper = len(sortedscore) if len(sortedscore) < 6 else 6
print('前{}名运动员编号依次是:'.format(upper))
for i in range(upper):
print('第{}名:{}号选手成绩是{}。'.format(i + 1, sortedscore[i][0] + 1, sortedscore[i][1]))
4.点餐程序
caidan={"吴山贡鹅":3,"石耳炒蛋":6,"土豆丝":10,
"农家小炒":4,"臭鳜鱼":5,"笋烧黑猪肉":0,
"地锅鸡":7,"红烧牛肉":7,"西红柿蛋汤":10}
diancan=[]
print(caidan)
ch="y"
while ch=="y":
choice=input("请输入你选择的菜品:")
if choice in caidan:
if caidan[choice]>0:
diancan.append(choice)
caidan[choice]-=1
else:
print("该菜品已经售完,请选择其他菜品。")
ch=input("你还需要选择其他菜品吗(y/n):")
ch=input("有需要删除的菜品吗(y/n):")
while ch=="y":
choice=input("请输入需要删除的菜品:")
diancan.remove(choice)
caidan[choice]+=1
ch=input("你还有不需要的菜品吗(y/n):")
print("你选择的菜品是:",diancan)
5.体温监控
filename='G:\Desktop\李明同学体温记录表.txt'
with open(filename,'r') as f:
maxnum=0
list1=f.readlines()
num=0
for i in range(1, len(list1)):
list1[i] = list1[i].rstrip('\n')
if float(list1[i])>37.2:
num=num+1
else:
num=0
if num>=maxnum:
maxnum=num
if maxnum<7:
print('无连续一周发热的情况,最长连续发热天数为:%d天' % maxnum)
else:
print('有连续一周发热的情况,最长连续发热天数为:%d天' % maxnum)
6.体温测控
import os
def read_temperatures(filename):
temperatures = {}
try:
with open(filename, 'r') as file:
for line in file:
name, temp = line.strip().split(',')
temp = float(temp)
if name not in temperatures:
temperatures[name] = []
temperatures[name].append(temp)
except FileNotFoundError:
print(f"文件 {filename} 不存在,将创建一个新文件。")
create_temperature_file(filename)
return {}
return temperatures
def create_temperature_file(filename):
with open(filename, 'w') as file:
pass
print(f"已创建新文件 {filename},请手动输入体温数据。")
def check_consecutive_fever(temperatures, fever_threshold=37.2):
max_consecutive_days = 0
for name, records in temperatures.items():
consecutive_days = 0
for i in range(len(records) - 2):
if all(record >= fever_threshold for record in records[i:i+3]):
consecutive_days += 1
if consecutive_days > max_consecutive_days:
max_consecutive_days = consecutive_days
if consecutive_days > 0:
print(f"{name}同学有连续发热的情况,最长连续{consecutive_days + 2}天。")
if max_consecutive_days == 0:
print("没有学生出现连续三天发热的情况。")
else:
print(f"最长连续发热天数为:{max_consecutive_days + 2}天。")
def main():
filename = 'temperature_records.txt'
temperatures = read_temperatures(filename)
check_consecutive_fever(temperatures)
if __name__ == '__main__':
main()
7.图书管理系统_实例对象法
import json
class BookManager:
def __init__(self):
self.books_dict = self.load_books()
def save_books(self):
"""将图书信息保存到文件"""
with open('books.json', 'w') as f:
json.dump(self.books_dict, f)
print("图书信息已保存到文件。")
def load_books(self):
"""从文件中加载图书信息"""
try:
with open('books.json', 'r') as f:
return json.load(f)
except FileNotFoundError:
return {}
except json.JSONDecodeError:
return {}
def add_book(self):
"""增加图书信息"""
book_id = input("请输入图书id:")
book_name = input("请输入图书的名称:")
book_position = input("请输入图书的位置:")
is_lend = False
self.books_dict[book_id] = {"book_name": book_name,
"book_position": book_position,
"is_lend": is_lend
}
print(f"数据添加成功:{self.books_dict[book_id]}")
self.save_books()
def del_book(self):
"""删除图书信息"""
book_id = input("请输入图书id:")
if book_id in self.books_dict:
book_info = self.books_dict.pop(book_id)
print(f"删除图书:{book_id}:{book_info}")
print("图书删除成功。")
self.save_books()
else:
print(f"图书ID:{book_id} 不存在。")
def select_book(self):
"""查找图书信息"""
print("1:查找详细的图书 2:查找已借出的图书 3:查看所有的图书信息")
sub_code = input("请输入需要使用的功能:")
if sub_code == "1":
book_id = input("请输入图书的id:")
if book_id in self.books_dict:
print(self.books_dict[book_id])
else:
print(f"图书ID:{book_id}不存在。")
elif sub_code == "2":
for book_id, book_info in self.books_dict.items():
if book_info["is_lend"]:
print(f"{book_id}: {book_info}")
elif sub_code == "3":
for book_id, book_info in self.books_dict.items():
print(f"{book_id}: {book_info}")
def modify_book(self):
"""修改图书位置"""
book_id = input("请输入图书的id:")
if book_id in self.books_dict:
book_position = input("请输入图书存放的位置:")
self.books_dict[book_id]["book_position"] = book_position
print(f"修改后的数据:{book_id}: {self.books_dict[book_id]}")
self.save_books()
else:
print(f"图书ID:{book_id}不存在。")
def give_back(self):
"""图书的归还"""
book_id = input("请输入需要归还图书的id:\n")
if book_id in self.books_dict:
self.books_dict[book_id]["is_lend"] = False
print(f"归还成功:{book_id}:{self.books_dict[book_id]}")
self.save_books()
else:
print(f"图书ID:{book_id}不存在。")
def lend_book(self):
"""图书借出"""
book_id = input("请输入需要借出图书的id:\n")
if book_id in self.books_dict:
self.books_dict[book_id]["is_lend"] = True
print(f"借出成功:{book_id}:{self.books_dict[book_id]}")
self.save_books()
else:
print(f"图书ID:{book_id}不存在。")
book_manager = BookManager()
while True:
print("-" * 90)
print("1、添加图书 2、删除图书 3、查找图书位置 4、修改图书位置 5、图书归还 6、图书借出 0、退出程序")
func_code = input("请输入你需要的功能:")
print("-" * 90)
if func_code == "1":
book_manager.add_book()
elif func_code == "2":
book_manager.del_book()
elif func_code == "3":
book_manager.select_book()
elif func_code == "4":
book_manager.modify_book()
elif func_code == "5":
book_manager.give_back()
elif func_code == "6":
book_manager.lend_book()
elif func_code == "0":
print("程序已成功退出!")
break
else:
print("输入的功能无效,请重新输入!")
8. 图书管理系统_函数法
import json
def save_books():
"""将图书信息保存到文件"""
with open('books.json', 'w') as f:
json.dump(books_dict, f)
print("图书信息已保存到文件。")
def load_books():
"""从文件中加载图书信息"""
try:
with open('books.json', 'r') as f:
return json.load(f)
except FileNotFoundError:
return {}
books_dict = load_books()
def add_book():
"""增加图书信息"""
book_id = input("请输入图书id:")
book_name = input("请输入图书的名称:")
book_position = input("请输入图书的位置:")
is_lend = False
books_dict[book_id] = {"book_name": book_name,
"book_position": book_position,
"is_lend": is_lend
}
print(f"数据添加成功:{books_dict[book_id]}")
save_books()
def del_book():
"""删除图书信息"""
book_id = input("请输入图书id:")
if book_id in books_dict:
book_info = books_dict.pop(book_id)
print(f"删除图书:{book_id}:{book_info}")
print("图书删除成功。")
save_books()
else:
print(f"图书ID:{book_id} 不存在。")
def select_book():
"""查找图书信息"""
print("1:查找详细的图书 2:查找已借出的图书 3:查看所有的图书信息")
sub_code = input("请输入需要使用的功能:")
if sub_code == "1":
book_id = input("请输入图书的id:")
if book_id in books_dict:
print(books_dict[book_id])
else:
print(f"图书ID:{book_id}不存在。")
elif sub_code == "2":
for book_id, book_info in books_dict.items():
if book_info["is_lend"]:
print(f"{book_id}: {book_info}")
elif sub_code == "3":
for book_id, book_info in books_dict.items():
print(f"{book_id}: {book_info}")
def modify_book():
"""修改图书位置"""
book_id = input("请输入图书的id:")
if book_id in books_dict:
book_position = input("请输入图书存放的位置:")
books_dict[book_id]["book_position"] = book_position
print(f"修改后的数据:{book_id}: {books_dict[book_id]}")
save_books()
else:
print(f"图书ID:{book_id}不存在。")
def give_back():
"""图书的归还"""
book_id = input("请输入需要归还图书的id:\n")
if book_id in books_dict:
books_dict[book_id]["is_lend"] = False
print(f"归还成功:{book_id}:{books_dict[book_id]}")
save_books()
else:
print(f"图书ID:{book_id}不存在。")
def lend_book():
"""图书借出"""
book_id = input("请输入需要借出图书的id:\n")
if book_id in books_dict:
books_dict[book_id]["is_lend"] = True
print(f"借出成功:{book_id}:{books_dict[book_id]}")
save_books()
else:
print(f"图书ID:{book_id}不存在。")
while True:
print("-" * 100)
print("1、添加图书 2、删除图书 3、查找图书位置 4、修改图书位置 5、图书归还 6、图书借出 0、退出程序")
func_code = input("请输入你需要的功能:")
print("-" * 100)
if func_code == "1":
add_book()
elif func_code == "2":
del_book()
elif func_code == "3":
select_book()
elif func_code == "4":
modify_book()
elif func_code == "5":
give_back()
elif func_code == "6":
lend_book()
elif func_code == "0":
print("程序已退出。")
break
else:
print("输入的功能无效,请重新输入!")
9.book
books=[]
def add():
id=input('请输入图书的索书号:')
name=input('请输入图书书名')
year=input('请输入图书的出版年份')
book={'id':id,'name':name,'year':year}
books.append(book)
print('新增书籍成功!')
def remove():
id=input('请输入需要删除的图书的索书号:')
for book in books:
if book['id']==id:
books.remove(book)
print('删除成功!')
break
else:
print('找不到这本书')
def search():
id=input('请输入需要查询的图书的索书号:')
for book in books:
if book['id']==id:
print('书籍信息为:',book)
break
else:
print('找不到这本书')
def edit():
id = input('请输入需要查询的图书的索书号:')
for book in books:
if book['id'] == id:
book['name']=input('请输入修改后的书籍名')
book['year']=input('请输入修改后的出版年份')
print('修改成功')
break
else:
print('找不到这本书')
def main():
while True:
print('欢迎使用图书管理系统')
print('1.新增图书信息')
print('2.删除图书信息')
print('3.查询图书信息')
print('4.修改图书信息')
print('5.退出系统')
option=input('请输入操作选项:')
if option=='1':
add()
elif option=='2':
remove()
elif option=='3':
search()
elif option=='4':
edit()
elif option=='5':
print('感谢使用,再见!')
break
else:
print('输入错误请重新输入!')
if __name__=='__main__':
main()
10.歌单
import random
gequ=["《我的未来不是梦》","《我相信》","《相信自己》",
"《从头再来》","《飞得更高》","《爱拼才会赢》"]
gequ.append("《超越梦想》")
gequ.pop(1)
print("——显示全部歌单——")
for j in gequ:
print("第",gequ.index(j)+1,"首:",j)
p="y"
bofang=[]
while p=="y":
n=int(input("输入你想听的歌曲(输入序号):"))
bofang.append(gequ[n-1])
p=input("你想继续选择歌曲吗?(y:继续,n:结束):")
print(bofang)
11.集合课后练习
# 选课程序,每一位学生可以任意选择1~3门选修课程,现对学生选择的课程进行统计,将全体学生的选课情况汇总到一起(使用集合),
# 当有学生选择某门课程时,开设这门课程,列出所有开设的选修课程,以及无人选择的课程,并统计每门课程选修的人数(使用字典)。
courses_set = set()
course_counts = {}
student_choices = [[1, 2], [3], [1, 3], [2]]
for student_choice in student_choices:
courses_set.update(student_choice)
for course in student_choice:
if course in course_counts:
course_counts[course] += 1
else:
course_counts[course] = 1
print("所有开设的选修课程:", sorted(courses_set))
all_courses = set(range(1, max(courses_set) + 1))
unselected_courses = all_courses - courses_set
print("无人选择的课程:", sorted(unselected_courses))
print("每门课程选修的人数:")
for course, count in course_counts.items():
print(f"课程 {course}: {count} 人")
12.fibonaqcci数列
"""
输出fibonacci数列的前n项
"""
def fibonacci(n):
sequence = []
a, b = 0, 1
for i in range(n):
sequence.append(a)
a, b = b, a+b
return sequence
num = int(input("请输入需要输出数列的位数:"))
print(fibonacci(num))
13.冒泡排序
"""
使用sort可直接排序
"""
def bubble_sort(arr):
n = len(arr)
for i in range(n):
for j in range(0, n-i-1):
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
return arr
def inpuData(arr):
n = int(input("请输入需要排序的个数:"))
for i in range(n):
num = int(input("请输入第{}个数字:".format(i+1)))
arr.append(num)
return arr
arr = []
inpuData(arr)
bubble_sort(arr)
print("冒泡排序后的数组为:", arr)
14.生肖判断
生肖判断
zodiacs = ('鼠', '牛', '虎', '兔', '龙', '蛇', '马', '羊', '猴', '鸡', '狗', '猪')
birth_year = int(input("请输入你的出生年份:"))
zodiac_index = (birth_year - 1912) % 12
zodiac = zodiacs[zodiac_index]
print("你的生肖是:" + zodiac)
start_year = int(input("请输入起始年份:"))
end_year = int(input("请输入结束年份:"))
same_zodiac_years = []
for year in range(start_year, end_year + 1):
if (year - 1912) % 12 == zodiac_index:
same_zodiac_years.append(year)
print("从", start_year, "年到", end_year, "年内和你生肖相同的年份有:", same_zodiac_years)
15.餐馆点菜
menu = {
'鱼香肉丝': 6,
'宫保鸡丁': 5,
'红烧肉': 1,
'麻婆豆腐': 3,
'莲白回锅肉': 4,
'凉拌鸡丝': 5,
'锅包肉': 6
}
order = {}
while True:
print("菜单:")
for dish, stock in menu.items():
if stock > 0:
print(dish, "(库存:", stock, ")")
else:
print(dish, "(已售完)")
choice = input("请选择菜品(输入菜名):")
if choice in menu:
if menu[choice] > 0:
order[choice] = order.get(choice, 0) + 1
menu[choice] -= 1
print("已选择", choice)
else:
print("抱歉,该菜品已售完!")
else:
print("菜品不存在,请重新选择!")
continue_choice = input("是否继续选择菜品?(是/否)")
if continue_choice == '否':
break
print("您的点餐结果:")
for dish, quantity in order.items():
print(dish, "x", quantity)