马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
print("I---欢迎进入通讯录程序---I")
print("I---1.查询联系人资料---I")
print("I---2.插入新的联系人---I")
print("I---3.删除已有联系人---I")
print("I---4.退出通讯录程序---I")
flag = 1
numCard = {}
while (flag):
temp = int(input("请输入相关的指令代码:"))
if temp == 4:
print("I---感谢使用通讯录程序---I")
flag=0
if temp == 1:
checkName = input("请输入联系人姓名:")
print(checkName + ":" + numCard.get(checkName, "未存储该用户联系方式!"))
if temp == 3:
checkName = input("请输入联系人姓名:")
if checkName in numCard.keys():
del numCard[checkName]
print("删除成功!")
else:
print("删除失败")
if temp == 2:
checkName = input("请输入新增的联系人姓名:")
if checkName in numCard.keys():
print("您输入的用户在通讯录中已存在--》" + checkName + ":" + numCard[checkName])
isUpdate = input("是否修改用户资料(YES/NO):")
if isUpdate == "YES":
upNum = input("请输入用户联系电话:")
numCard[checkName] = upNum
print("修改成功!现在是:"+ checkName + ":" + numCard[checkName])
if isUpdate == "NO":
print("已放弃修改!")
else:
print("请输入正确指令!")
else:
inNum = input("请输入用户联系电话:")
numCard[checkName] = inNum
else:
print("I---请输入正确的指令!---I")
关于字典课后作业那个做通讯录的:
问题一:为啥我使用2新增用户不会执行while循环里的那个最后那个else?,选择1查询和3删除都会执行最后那个 else:
print("I---请输入正确的指令!---I")
问题二:修改已有联系人时,如果输入的非YES和NO时,判断输入有误,能否返回输入YES/NO的这一层,而不是直接跳到第一层?
问题三:为啥新增小甲鱼名片后,再次新增重复输入小甲鱼时,按NO,不会执行 isUpdate = input("是否修改用户资料(YES/NO):")
if isUpdate == "YES":
upNum = input("请输入用户联系电话:")
numCard[checkName] = upNum
print("修改成功!现在是:"+ checkName + ":" + numCard[checkName])
if isUpdate == "NO":
print("已放弃修改!")
else:
print("请输入正确指令!")
这里面的这个else,但是按YES时虽然能修改成功,却也会执行else?
老哥们while里这个else我有点懵,希望不吝赐教帮忙解惑
[b]
问题一:为啥我使用2新增用户不会执行while循环里的那个最后那个else?,选择1查询和3删除都会执行最后那个
因为你设置在 if temp == 2 下面 ,当然只要 这里的 if 条件不成立,就会执行 else 的代码块了,改成 elif 即可
问题二:修改已有联系人时,如果输入的非YES和NO时,判断输入有误,能否返回输入YES/NO的这一层,而不是直接跳到第一层?
加个 while 循环即可
问题三:为啥新增小甲鱼名片后,再次新增重复输入小甲鱼时,按NO,不会执行
会成功执行,可能是你输入错误了大小写要严格区分
这里面的这个else,但是按YES时虽然能修改成功,却也会执行else?
同问题一 用 elif 即可
参考代码:
print("I---欢迎进入通讯录程序---I")
print("I---1.查询联系人资料---I")
print("I---2.插入新的联系人---I")
print("I---3.删除已有联系人---I")
print("I---4.退出通讯录程序---I")
flag = 1
numCard = {}
while (flag):
temp = int(input("请输入相关的指令代码:"))
if temp == 4:
print("I---感谢使用通讯录程序---I")
flag=0
elif temp == 1:
checkName = input("请输入联系人姓名:")
print(checkName + ":" + numCard.get(checkName, "未存储该用户联系方式!"))
elif temp == 3:
checkName = input("请输入联系人姓名:")
if checkName in numCard.keys():
del numCard[checkName]
print("删除成功!")
else:
print("删除失败")
elif temp == 2:
checkName = input("请输入新增的联系人姓名:")
if checkName in numCard.keys():
print("您输入的用户在通讯录中已存在--》" + checkName + ":" + numCard[checkName])
while True:
isUpdate = input("是否修改用户资料(YES/NO):")
if isUpdate == "YES":
upNum = input("请输入用户联系电话:")
numCard[checkName] = upNum
print("修改成功!现在是:"+ checkName + ":" + numCard[checkName])
elif isUpdate == "NO":
print("已放弃修改!")
else:
print("请输入正确指令!")
continue
break
else:
inNum = input("请输入用户联系电话:")
numCard[checkName] = inNum
else:
print("I---请输入正确的指令!---I")
[/b]
|