名字是啥 发表于 2021-10-16 23:08:04

课后25,求助

content='''|---欢迎进入通讯录程序---|
|---1:查询联系人资料 ---|
|---2:插入新联系人   ---|
|---3:删除已有联系人 ---|
|---4:推出通讯录程序 ---|'''
print(content)
dict1=dict()#创建姓名和电话的字典
is_order=True
while is_order:
    order=int(input('请输入相关的指令:'))#为什么一定要加int,不然会循环这一句?{:10_269:}
    if order==2:
      name=input('请输入联系人姓名:')    #在if order==2这一段为什么我
      if name not in dict1:               #输入重复的name后执行的是if name not in dict1:的情况{:10_269:}
            phone=input('请输入用户联系方式:')
            dict1['name']=phone
            continue
      else:
            print('您输入的姓名在通讯录中存在-->>',name,dict1['name'])
            answer=input('是否修改用户姓名:')
            if answer == yes:
                new_phone=input('请输入用户联系方式:')
                dict1['name']=new_phone
            if answer == no:
                continue

    if order==1:
      name=input('请输入联系人姓名:')
      print(name,dict1['name'],sep=':')

    if order==4:
      print('感谢您的使用')
      break

    if order==3:
      name=input('请输入联系人姓名:')
      dict1.pop('name')

傻眼貓咪 发表于 2021-10-17 10:25:03

input() 函数如果不加 int() 默认输入则是字符串类型(整数和字符串是不同类型的)

名字是啥 发表于 2021-10-17 11:17:36

傻眼貓咪 发表于 2021-10-17 10:25
input() 函数如果不加 int() 默认输入则是字符串类型(整数和字符串是不同类型的)

哦哦这一点明白了
可是为什么在if order==2这一条件下,我输入重复的,已经被计入字典的名字后,
程序实行的不是else:而是if name not in dict1这一条件呢
if order==2:
      name=input('请输入联系人姓名:')   
      if name not in dict1:               
            phone=input('请输入用户联系方式:')
            dict1['name']=phone
            continue
else:
            print('您输入的姓名在通讯录中存在-->>',name,dict1['name'])
            answer=input('是否修改用户姓名:')
            if answer == yes:
                new_phone=input('请输入用户联系方式:')
                dict1['name']=new_phone
            if answer == no:
                continue
页: [1]
查看完整版本: 课后25,求助