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