lfc990426 发表于 2021-11-3 21:53:46

字典,联系人作业。


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

contacts = dict()

while 1:
    instr = int(input('\n请输入相关的指令代码:'))
   
    if instr == 1:
      name = input('请输入联系人姓名:')
      if name in contacts:
            print(name + ' : ' + contacts)
      else:
            print('您输入的姓名不再通讯录中!')

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

    if instr == 3:
      name = input('请输入联系人姓名:')
      if name in contacts:
            del(contacts)         # 也可以使用dict.pop()
      else:
            print('您输入的联系人不存在。')
            
    if instr == 4:
      break

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



为什么要使用while函数,直接使用 if函数不可以吗?




print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料---|')
print('|--- 2:插入新的联系人---|')
print('|--- 3:删除已有联系人---|')
print('|--- 4:退出通讯录程序---|')
print('|--- 感谢使用通讯录程序 ---|')
contacts = dict()


zhiling =input('请输入指令名称:')


if zhiling == 1:
   name = input('请输入联系人名字:')
   if name in contacts:
          print(name+','+contacts)
   else:
          print('您输入的联系人不在通讯录中!')
if zhiling == 2:
   name = input('请输入联系人名字:')
   if name in contacts:
          print('名字已经存在,是否需要修改电话号,Yes Or No')
          zhiling2=input('请输入是否需要修改电话号的指令:')
   if zhiling2 == Yes :
          contacts = input('请输入新的电话号')
   else:
          print('联系人不在通讯录中')
if zhiling == 3:
   name = input('请输入联系人名字:')
   if name in contacts:
          del(contacts)
   else:
          print('没有找到该联系人')
if zhiling ==4:
   print('感谢使用通讯录程序')


我写的这个,输入之后没反应了。怎么回事呀。谢谢大佬{:5_96:}{:5_96:}

jackz007 发表于 2021-11-4 09:26:15

本帖最后由 jackz007 于 2021-11-4 09:33 编辑

         input() 的到的一定是字符串,所以,这样的代码
if zhiling == 1:
         一定要改为
if zhiling == '1':
         这是我修改后的代码
         print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料---|')
print('|--- 2:插入新的联系人---|')
print('|--- 3:删除已有联系人---|')
print('|--- 4:退出通讯录程序---|')
print('|--- 感谢使用通讯录程序 ---|')
contacts = dict()
zhiling = input('请输入指令名称:')
if zhiling == '1':
   name = input('请输入联系人名字:')
   if name in contacts:
          print(name + ',' + contacts)
   else:
          print('您输入的联系人不在通讯录中!')
if zhiling == '2':
   name = input('请输入联系人名字:')
   if name in contacts:
          print('名字已经存在,是否需要修改电话号,Yes Or No')
          zhiling2 = input('请输入是否需要修改电话号的指令:')
   if zhiling2 == 'Yes' :
          contacts = input('请输入新的电话号')
   else:
          print('联系人不在通讯录中')
if zhiling == '3':
   name = input('请输入联系人名字:')
   if name in contacts:
          del(contacts)
   else:
          print('没有找到该联系人')
if zhiling == '4':
   print('感谢使用通讯录程序')
      你的这个代码只能执行一次,加上 while 1: 就可以一直执行了。
while 1:
    print('|--- 欢迎进入通讯录程序 ---|')
    print('|--- 1:查询联系人资料---|')
    print('|--- 2:插入新的联系人---|')
    print('|--- 3:删除已有联系人---|')
    print('|--- 4:退出通讯录程序---|')
    print('|--- 感谢使用通讯录程序 ---|')
    contacts = dict()
    zhiling = input('请输入指令名称:')
    if zhiling == '1':
      name = input('请输入联系人名字:')
      if name in contacts:
            print(name + ',' + contacts)
      else:
            print('您输入的联系人不在通讯录中!')
    if zhiling == '2':
      name = input('请输入联系人名字:')
      if name in contacts:
            print('名字已经存在,是否需要修改电话号,Yes Or No')
            zhiling2 = input('请输入是否需要修改电话号的指令:')
      if zhiling2 == 'Yes' :
            contacts = input('请输入新的电话号')
      else:
            print('联系人不在通讯录中')
    if zhiling == '3':
      name = input('请输入联系人名字:')
      if name in contacts:
            del(contacts)
      else:
            print('没有找到该联系人')
    if zhiling == '4':
      print('感谢使用通讯录程序')
      break
    print()

lfc990426 发表于 2021-11-4 09:32:38

jackz007 发表于 2021-11-4 09:26
input() 的到的一定是字符串,所以,这样的代码

         一定要改为


谢谢大佬,懂了懂了,基础知识看来还是掌握的不够牢固。

tomok 发表于 2021-11-4 22:37:06

学习知识
页: [1]
查看完整版本: 字典,联系人作业。