ghser 发表于 2020-9-23 22:22:39

新手求助,条件设定问题

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)
      else:
            print('抱歉,您输入的姓名不在通讯录中!')

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

    if instr == 3:
      name = input('请输入联系人姓名:')
      if name in contacts:
            del(contacts)
      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)
      else:
            print('抱歉,您输入的姓名不在通讯录中!')

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

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

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

    if instr == 5:
      break

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

昨非 发表于 2020-9-24 00:15:39

第十三十四行

sunrise085 发表于 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)
      else:
            print('抱歉,您输入的姓名不在通讯录中!')

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

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

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

    else:
      break

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

ghser 发表于 2020-9-24 12:12:09

谢谢各位大佬帮忙
页: [1]
查看完整版本: 新手求助,条件设定问题