马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
在命令2的条件下,“是否选择修改联系人信息”这一步选择“no”,为什么还是让我输入联系人电话?
求解。全部代码如下:telephone = {'小甲鱼':'020-88974651'}
print('''|---欢迎进入通讯录程序---|
|---1:查询联系人资料---|
|---2:插入新的联系人---|
|---3:删除已有联系人---|
|---4:退出通讯录程序---|''')
while 1:
order = input('请输入相关的指令代码:')
if order == '1':
name = input('请输入联系人姓名:')
if name not in telephone:
print('您所查找的用户不存在')
continue
else:
print(name + ':' + telephone[name])
continue
if order == '2':
name = input('请输入联系人姓名:')
if name not in telephone:
new_number1 = input('请输入用户联系电话:')
telephone.setdefault(name,new_number1)
continue
else:
print('您输入的姓名在通讯录中已存在--->',name + ':' + telephone[name])
choice = input('是否修改用户资料(YES/NO):')
if choice == 'yes' or 'YES':
new_number2 = input('请输入用户联系电话:')
telephone[name] = new_number2
else:
continue
if order == '3':
name = input('请输入联系人姓名:')
if name not in telephone:
print('您所查找的用户名不存在')
continue
else:
telephone.pop(name)
continue
if order == '4':
break
print('|---感谢使用通讯录程序---|')
本帖最后由 sunrise085 于 2020-10-29 16:21 编辑
第26行的条件写错了。
if choice == 'yes' or 'YES',这个条件永远为True
应该改为
if choice == 'yes' or choice == 'YES'
or优先级要比==低
你这样写相当于 (choice == 'yes') or 'YES',不管choice是什么,和'YES'作or运算结果都为True
|