具體步驟:
編寫主程序
使用while循環實現程序一直運行,用戶輸入字符數字進行判斷通過if-elif-else語句控制進入不同的函數,實現不同的效果。
編寫預約系統主界面,和一個實驗室的空列表,用於暫時存儲預約信息
新增實驗室預約(學號、姓名、所預約的時間、目標實驗室等信息)
編寫新增實驗室預約函數,通過用戶輸入學號,姓名,預約時間,實驗室存儲到一個字典中,讓global info 讓info數組成為全局變量,然后判斷字典中的學號是否已經存在,如果不存在則把新增的字典追加到info數組里面。
顯示目前全部的預約信息
編寫全部預約信息函數,通過遍歷info里面的字典,然后打印出來
查詢預約情況、修改預約信息
編寫查詢預約情況和修改預約信息函數,首先通過input讓用戶輸入學號,然后遍歷數組里面各個字典是否存在對應的學號,如果存在,則進行顯示或者修改里面的值。
所有代碼
# 預約系統主界面
def index():
print("======歡迎使用實驗室預約系統======")
print("1.新增實驗室預約")
print("2.顯示目前全部的預約情況")
print("3.查詢預約情況")
print("4.修改預約信息")
print("5.退出系統")
# 定義實驗室空列表
info = []
# 新增實驗室預約
def input_info():
stuId = input("請輸入你的學號:")
stuName = input("請輸入你的姓名:")
time = input("請輸入你需要預約的時間:")
room = input("請輸入你需要預約的實驗室:")
global info
for k in info:
if stuId == k["stuId"]:
print("你已經預約過了")
return
info_dict = dict()
info_dict["stuId"] = stuId
info_dict["stuName"] = stuName
info_dict["time"] = time
info_dict["room"] = room
info.append(info_dict)
# 顯示目前全部的預約信息
def show_info():
print("全部的預約信息如下:")
for k in info:
print(f'學號:{k["stuId"]}\t姓名:{k["stuName"]}\t預約時間:{k["time"]}\t實驗室:{k["room"]}')
# 查詢預約情況
def select_info():
select = input("請輸入你的學號:")
for k in info:
if select == k["stuId"]:
print(f'你好{k["stuName"]},你所預約的時間是:{k["time"]},實驗室是:{k["room"]}')
break
else:
print("找不到預約情況")
# 修改預約信息
def modify_info():
modify = input("請輸入你的學號:")
for k in info:
if modify == k["stuId"]:
print(f'你好{k["stuName"]}')
time = input("請輸入你需要預約的時間:")
room = input("請輸入你需要預約的實驗室:")
k["time"] = time
k["room"] = room
break
else:
print("找不到預約情況")
# 主程序
while 'true':
index()
i = input("請輸入你需要使用功能對應的數字:")
if i == "1":
input_info()
elif i == "2":
show_info()
elif i == "3":
select_info()
elif i == "4":
modify_info()
elif i == "5":
flag = input("是否真的要退出系統yes or no:")
if flag == "yes":
break
else:
print("輸入有誤,請重新輸入")