鱼C论坛

 找回密码
 立即注册
查看: 1664|回复: 4

[已解决]新手求助,条件设定问题

[复制链接]
发表于 2020-9-23 22:22:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料 ---|')
print('|--- 2:插入新的联系人 ---|')
print('|--- 3:删除已有的联系人 ---|')
print('|--- 4:查看所有通讯录 ---|')
print('|--- 5:退出通讯录程序 ---|')


contacts = dict()

while True:
    instr = input('\n请输入相关的指令编号:')

    if instr.isdigit():
        instr = int(instr)
    else:
        print('抱歉,您的输入有误,请重新输入!')

    if instr == 1:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('姓名\t手机号码')
            print(name + '\t' + contacts[name])
        else:
            print('抱歉,您输入的姓名不在通讯录中!')

    if instr == 2:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('您输入的姓名在通讯录中已存在 -->> ', end='')
            print(name + ': ' + contacts[name])
            if input('是否修改用户资料(YES/NO):').upper() == 'YES':
                contacts[name] = input('请输入用户联系电话:')
        else:
            contacts[name] = input('请输入用户联系电话:')
            print('保持联系人' + name + '成功!')

    if instr == 3:
        name = input('请输入联系人姓名:')
        if name in contacts:
            del(contacts[name])
        else:
            print('您输入的联系人不存在。')

    if instr == 4:
        print('姓名\t手机号码')
        for key, value in contacts.items():
            print(key, value)       

    if instr == 5:
        break

print('|--- 感谢使用通讯录程序! ---|')



我想添加一个条件,即当输入的数据不在(1,6)的范围内时,程序会提示输入错,请重新输入,但是尝试了好久都没有成功过,希望大佬帮帮忙看看怎么实现
最佳答案
2020-9-24 00:14:58
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料 ---|')
print('|--- 2:插入新的联系人 ---|')
print('|--- 3:删除已有的联系人 ---|')
print('|--- 4:查看所有通讯录 ---|')
print('|--- 5:退出通讯录程序 ---|')


contacts = dict()

while True:
    instr = input('\n请输入相关的指令编号:')
    while instr not in ['1','2','3','4','5','6']: #这里加两行判断即可
        instr = input('\n输入错误,请输入正确的的指令编号:')
    if instr.isdigit():
        instr = int(instr)
    else:
        print('抱歉,您的输入有误,请重新输入!')

    if instr == 1:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('姓名\t手机号码')
            print(name + '\t' + contacts[name])
        else:
            print('抱歉,您输入的姓名不在通讯录中!')

    if instr == 2:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('您输入的姓名在通讯录中已存在 -->> ', end='')
            print(name + ': ' + contacts[name])
            if input('是否修改用户资料(YES/NO):').upper() == 'YES':
                contacts[name] = input('请输入用户联系电话:')
        else:
            contacts[name] = input('请输入用户联系电话:')
            print('保持联系人' + name + '成功!')

    if instr == 3:
        name = input('请输入联系人姓名:')
        if name in contacts:
            del(contacts[name])
        else:
            print('您输入的联系人不存在。')

    if instr == 4:
        print('姓名\t手机号码')
        for key, value in contacts.items():
            print(key, value)       

    if instr == 5:
        break

print('|--- 感谢使用通讯录程序! ---|')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-24 00:14:58 | 显示全部楼层    本楼为最佳答案   
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料 ---|')
print('|--- 2:插入新的联系人 ---|')
print('|--- 3:删除已有的联系人 ---|')
print('|--- 4:查看所有通讯录 ---|')
print('|--- 5:退出通讯录程序 ---|')


contacts = dict()

while True:
    instr = input('\n请输入相关的指令编号:')
    while instr not in ['1','2','3','4','5','6']: #这里加两行判断即可
        instr = input('\n输入错误,请输入正确的的指令编号:')
    if instr.isdigit():
        instr = int(instr)
    else:
        print('抱歉,您的输入有误,请重新输入!')

    if instr == 1:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('姓名\t手机号码')
            print(name + '\t' + contacts[name])
        else:
            print('抱歉,您输入的姓名不在通讯录中!')

    if instr == 2:
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('您输入的姓名在通讯录中已存在 -->> ', end='')
            print(name + ': ' + contacts[name])
            if input('是否修改用户资料(YES/NO):').upper() == 'YES':
                contacts[name] = input('请输入用户联系电话:')
        else:
            contacts[name] = input('请输入用户联系电话:')
            print('保持联系人' + name + '成功!')

    if instr == 3:
        name = input('请输入联系人姓名:')
        if name in contacts:
            del(contacts[name])
        else:
            print('您输入的联系人不存在。')

    if instr == 4:
        print('姓名\t手机号码')
        for key, value in contacts.items():
            print(key, value)       

    if instr == 5:
        break

print('|--- 感谢使用通讯录程序! ---|')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-24 00:15:39 | 显示全部楼层
第十三十四行
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-24 11:24:19 | 显示全部楼层
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料 ---|')
print('|--- 2:插入新的联系人 ---|')
print('|--- 3:删除已有的联系人 ---|')
print('|--- 4:查看所有通讯录 ---|')
print('|--- 5:退出通讯录程序 ---|')

contacts = dict()

while True:
    instr = input('\n请输入相关的指令编号:')
    while instr not in ['1','2','3','4','5']: #这里加两行判断即可
        instr = input('\n输入错误,请输入正确的的指令编号:')
    #instr = int(instr)#其实下面直接与字符比较即可,若你想与数字比较,那就在这里转一下然后把下面的if后面都改回数字
    # 下面用if…elif…else…的模式可以减少很多次判断
    if instr == '1':
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('姓名\t手机号码')
            print(name + '\t' + contacts[name])
        else:
            print('抱歉,您输入的姓名不在通讯录中!')

    elif instr == '2':
        name = input('请输入联系人姓名:')
        if name in contacts:
            print('您输入的姓名在通讯录中已存在 -->> ', end='')
            print(name + ': ' + contacts[name])
            if input('是否修改用户资料(YES/NO):').upper() == 'YES':
                contacts[name] = input('请输入用户联系电话:')
        else:
            contacts[name] = input('请输入用户联系电话:')
            print('保持联系人' + name + '成功!')

    elif instr == '3':
        name = input('请输入联系人姓名:')
        if name in contacts:
            del(contacts[name])
        else:
            print('您输入的联系人不存在。')

    elif instr == '4':
        print('姓名\t手机号码')
        for key, value in contacts.items():
            print(key, value)       

    else:
        break

print('|--- 感谢使用通讯录程序! ---|')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-24 12:12:09 | 显示全部楼层
谢谢各位大佬帮忙
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-11 04:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表