|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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]
|
|