单词本
import random
prebook = ["记录单词的书", "课本", "某种想法", "背诵课文", "做作业", "在家睡觉"]
wordbook = {}
print("0 : 退出程序", "1 : 查看生词", "2 : 背单词", "3 : 添加单词", "4 : 删除单词", "5 : 清空单词表", sep = '\n')
def View():
print("输入 ## 退出, a 单个单词查询, b 查看全部单词")
bl = True
while bl:
od = input()
if od == '##':
bl = False
if od != 'a' and od != 'b':
print("命令错误请重新输入")
elif od == 'a':
while True:
print("请输入查询单词")
word = input()
if word == '##':
bl = False
break
if not word in wordbook.keys():
print("该单词不存在")
else :
print(wordbook[word])
elif od == 'b':
for key in wordbook.keys():
print("{} : {}".format(key, wordbook[key]))
def Recite():
print("a : 根据释义写出单词", "b : 根据单词选择正确翻译", "c : 退出")
while True:
print("\n请从(a b c)选择输入 :")
order = input()
if order != 'a' and order != 'b' and order != 'c':
print("命令错误, 请重新输入:")
else:
if order == 'c':
return
elif order == 'a':
print("输入 # 跳过该单词, ## 退出")
bl = True
for i in wordbook.keys():
if bl == False:
break
print(wordbook[i])
while True:
ans = input()
if ans == '#':
break
elif ans == '##':
bl = False
break
elif ans != i:
print("答案错误, 请重新输入:")
elif ans == i:
print("正确")
break
print("背诵结束, 请进行下一步操作")
elif order == 'b':
print("输入 # 跳过该单词, ## 退出")
pl = True
for i in wordbook.keys():
print(i)
if pl == False:
break
lista = random.sample(list(wordbook.values())+prebook, 3)
lista.append(wordbook[i])
random.shuffle(lista)
print("1 : {}\n2 : {}\n3 : {}\n4 : {}".format(lista[0], lista[1], lista[2], lista[3]))
while True:
od = input()
if od == '#':
break
elif od == '##':
pl = False
break;
elif not od in ['1', '2', '3', '4']:
print("没有该选项")
elif lista[int(od)-1] == wordbook[i]:
print("正确")
break
else :
print("错误")
print("单词背诵结束, 请进行下一步操作")
def AddWord():
while True:
print("请按要求输入要添加的单词")
word = input("单词(或输入 ## 退出) :")
if word == '##':
break
elif word in wordbook.keys():
print("该单词已存在")
else:
interpretation = input("释义:")
wordbook[word] = interpretation
print("添加完成")
def DeleteWord():
while True:
print("请输入要删除的单词或输入 ## 退出:")
word = input()
if word == "##":
break
elif not word in wordbook.keys():
print("该单词不存在")
else:
wordbook.pop(word)
print("删除成功")
def ClearBook():
print("确定要清空单词本吗 Y/n")
while True:
od = input()
if od != 'Y' and od != 'n':
print("命令错误, 请重新输入:")
elif od == 'Y':
wordbook.clear()
print("单词本已清空")
break
elif od == 'n':
break
while True:
print("\n请从(0 1 2 3 4 5)中输入选项:")
order = input()
if not order.isdigit() or int(order) > 5:
print("命令错误, 请重新输入:")
else:
n = int(order)
if n == 0:
exit(0)
elif n == 1:
if len(wordbook) == 0:
print("单词本为空")
else:
View()
elif n == 2:
if len(wordbook) == 0:
print("单词本为空")
else:
Recite()
elif n == 3:
AddWord()
elif n == 4:
if len(wordbook) == 0:
print("单词本为空")
else:
DeleteWord()
else:
if len(wordbook) == 0:
print("单词本为空")
else:
ClearBook()
通讯录
maillist = {}
print("0 : 退出", "1 : 添加联系人", "2 : 查看和修改联系人", "3 : 删除联系人")
def addContact():
while True:
print("\n按要求输入信息或输入 ## 退出")
name = input("姓名 : ")
if name == '##':
break
number = input("号码 : ")
if number == '##':
break
mailbox = input("邮箱 : ")
if mailbox == '##':
break
company = input("公司 : ")
if company == '##':
break
remarks = input("备注 : ")
if remarks == '##':
break
user = {'name':name, 'number':number, 'mailbox':mailbox, 'company':company, 'remarks':remarks}
maillist[number] = user
print("添加成功")
def ViewAndModify():
print("a : 查看, b : 修改, ## : 退出")
while True:
print("\n请从 a b ## 中选择输入 :")
od = input()
if od == '##':
break
if od != 'a' and od != 'b':
print("命令错误")
elif od == 'a':
print("1 输出全部成员号码和姓名; 2 输入号码查询联系人; ## 退出")
while True:
order = input()
if order == '##':
break
elif order == '1':
for i in maillist.keys():
print("{} : {}".format(maillist[i]['name'], i))
elif order == '2':
print("输入号码或输入 ## 退出")
while True:
number = input("输入号码 : ")
if number == '##':
break
if not number in maillist.keys():
print("该号码不存在")
else:
print("姓名 : {}\n号码 : {}\n邮箱 : {}\n公司 : {}\n备注 : {}".format(maillist[number]['name'], maillist[number]['number'], maillist[number]['mailbox'], maillist[number]['company'], maillist[number]['remarks']))
else:
print("命令错误")
elif od == 'b':
print("\n输入要修改的联系人号码或 ## 退出")
while True:
order = input("输入号码 : ")
if order == '##':
break
elif not order in maillist.keys():
print("该号码不存在")
else :
print("输入 ## 可退出")
name = input("姓名({}) : ".format(maillist[order]['name']))
if name == '##':
break
number = input( "号码({}) : ".format(maillist[order]['number']))
if number == '##':
break
mailbox = input( "邮箱({}) : ".format(maillist[order]['mailbox']))
if mailbox == '##':
break
company = input( "公司({}) : ".format(maillist[order]['company']))
if company == '##':
break
remarks = input( "备注({}) : ".format(maillist[order]['remarks']))
if remarks == '##':
break
if name != '':
maillist[order]['name'] = name
if number != '':
maillist[order]['number'] = number
if mailbox != '':
maillist[order]['mailbox'] = mailbox
if company != '':
maillist[order]['company'] = company
if remarks != '':
maillist[order]['remarks'] = remarks
if order != maillist[order]['number']:
maillist[number] = maillist[order]
maillist.pop(order)
order = number
print ("修改完成\n")
print("姓名 : {}\n号码 : {}\n邮箱 : {}\n公司 : {}\n备注 : {}".format(maillist[order]['name'], maillist[order]['number'], maillist[order]['mailbox'], maillist[order]['company'], maillist[order]['remarks']))
def DeleteContact():
print("\n输入要删除的联系人的号码或 ## 退出")
while True:
number = input("输入号码 : ")
if number == '##':
break
if not number in maillist.keys():
print("该联系人不存在")
else:
maillist.pop(number)
print("删除成功")
while True:
order = input("\n从 0 1 2 3 中选择输入命令 : ")
if order == '0':
exit(0)
elif order == '1':
addContact()
elif order == '2':
ViewAndModify()
elif order == '3':
DeleteContact()
else:
print("命令错误")