鱼C论坛

 找回密码
 立即注册
查看: 1054|回复: 8

[已解决]Python第25讲动手课后题不解

[复制链接]
发表于 2018-2-8 17:54:37 | 显示全部楼层 |阅读模式
5鱼币
感觉代码和小甲鱼老师的差不多,但是报错,这是我的
  1. #这是我的
  2. print('|--- 欢迎进入通讯录程序 ---|')
  3. print('|--- 1:查询联系人资料  ---|')
  4. print('|--- 2:插入新的联系人  ---|')
  5. print('|--- 3:删除已有联系人  ---|')
  6. print('|--- 4:退出通讯录程序  ---|')
  7. temp_dict={}
  8. while 1:
  9.     temp = int(input('请输入相关指令代码:'))
  10.     if temp == 1:
  11.         name = input('请输入联系人姓名:')
  12.         if name in temp_dict:
  13.             print(name + ':' + temp_dict[name])
  14.         else:
  15.             print('您输入的姓名在联系人中不存在')
  16.     if temp == 2:
  17.         name = input('请输入联系人姓名:')
  18.         if name in temp_dict:
  19.             print('您输入的姓名在通讯录已经存在--》',end='')
  20.             print(name + ':' + temp_dict[name])
  21.             if input('是否修改用户资料(YES/NO):') == 'YES':
  22.                 name_num = input('请输入用户联系电话:')
  23.                 temp_dict[name] = 'name_num'
  24.         else:
  25.             name_num = input('请输入用户联系电话:')
  26.             temp_dict[name] = 'name_num'
  27.     if temp == 3:
  28.         name = input('请输入联系人姓名:')
  29.         if name in contacts:
  30.             del(temp_dict[name])
  31.         else:
  32.             print('您输入的联系人不存在。')
  33.     if temp == 4:
  34.         break
  35. print('谢谢使用')
  36.         
  37.                   
  38.         
复制代码

我看了半天不知道错在哪,请大神点拨下,谢谢~~附小甲鱼老师的原代码

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

  6. contacts = dict()

  7. while 1:
  8.     instr = int(input('\n请输入相关的指令代码:'))
  9.    
  10.     if instr == 1:
  11.         name = input('请输入联系人姓名:')
  12.         if name in contacts:
  13.             print(name + ' : ' + contacts[name])
  14.         else:
  15.             print('您输入的姓名不再通讯录中!')

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

  25.     if instr == 3:
  26.         name = input('请输入联系人姓名:')
  27.         if name in contacts:
  28.             del(contacts[name])         # 也可以使用dict.pop()
  29.         else:
  30.             print('您输入的联系人不存在。')
  31.             
  32.     if instr == 4:
  33.         break

  34. print('|--- 感谢使用通讯录程序 ---|')
  35.    
复制代码
最佳答案
2018-2-8 17:54:38
你文件代码的几处坑
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料  ---|')
print('|--- 2:插入新的联系人  ---|')
print('|--- 3:删除已有联系人  ---|')
print('|--- 4:退出通讯录程序  ---|')
temp_dict={}
while 1:
    temp = int(input('请输入相关指令代码:'))
    if temp == 1:
        name = input('请输入联系人姓名:')
        if name in temp_dict:
            print(name + ':' + temp_dict[name])
        else:
            print('您输入的姓名在联系人中不存在')
    if temp == 2:
        name = input('请输入联系人姓名:')
        if name in temp_dict:
            print('您输入的姓名在通讯录已经存在--》',end='')                      1.这里是中文的逗号,用英文的      
            print(name + ':' + temp_dict[name])
            if input('是否修改用户资料(YES/NO):') == 'YES':
                name_num = input('请输入用户联系电话:')
                temp_dict[name] = 'name_num'                               2. name_num不要加引号
        else:
            name_num = input('请输入用户联系电话:')
            temp_dict[name] = 'name_num'                                     3.  同上
    if temp == 3:
        name = input('请输入联系人姓名:')
        if name in contacts:                                           4.小甲鱼定义的contacts,你定义的是temp_dict,
            del(temp_dict[name])                                        不要照搬,这里你该用自己定义的temp_dict
        else:
            print('您输入的联系人不存在。')
    if temp == 4:
        break
print('谢谢使用')
        
                  
最好说下你好像之前学的还不是很扎实,看看自己错在哪里,好好总结下

最佳答案

查看完整内容

你文件代码的几处坑 print('|--- 欢迎进入通讯录程序 ---|') print('|--- 1:查询联系人资料 ---|') print('|--- 2:插入新的联系人 ---|') print('|--- 3:删除已有联系人 ---|') print('|--- 4:退出通讯录程序 ---|') temp_dict={} while 1: temp = int(input('请输入相关指令代码:')) if temp == 1: name = input('请输入联系人姓名:') if name in temp_dict: print(na ...
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 17:54:38 | 显示全部楼层    本楼为最佳答案   
你文件代码的几处坑
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料  ---|')
print('|--- 2:插入新的联系人  ---|')
print('|--- 3:删除已有联系人  ---|')
print('|--- 4:退出通讯录程序  ---|')
temp_dict={}
while 1:
    temp = int(input('请输入相关指令代码:'))
    if temp == 1:
        name = input('请输入联系人姓名:')
        if name in temp_dict:
            print(name + ':' + temp_dict[name])
        else:
            print('您输入的姓名在联系人中不存在')
    if temp == 2:
        name = input('请输入联系人姓名:')
        if name in temp_dict:
            print('您输入的姓名在通讯录已经存在--》',end='')                      1.这里是中文的逗号,用英文的      
            print(name + ':' + temp_dict[name])
            if input('是否修改用户资料(YES/NO):') == 'YES':
                name_num = input('请输入用户联系电话:')
                temp_dict[name] = 'name_num'                               2. name_num不要加引号
        else:
            name_num = input('请输入用户联系电话:')
            temp_dict[name] = 'name_num'                                     3.  同上
    if temp == 3:
        name = input('请输入联系人姓名:')
        if name in contacts:                                           4.小甲鱼定义的contacts,你定义的是temp_dict,
            del(temp_dict[name])                                        不要照搬,这里你该用自己定义的temp_dict
        else:
            print('您输入的联系人不存在。')
    if temp == 4:
        break
print('谢谢使用')
        
                  
最好说下你好像之前学的还不是很扎实,看看自己错在哪里,好好总结下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 18:10:07 | 显示全部楼层
  1. if name in contacts
复制代码

里的 contacts 你在前面都没有写。

评分

参与人数 1鱼币 +2 收起 理由
丶逗比 + 2 支持楼主!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 18:13:47 | 显示全部楼层

  1. print('您输入的姓名在通讯录已经存在--》',end='')
复制代码

end 前面的逗号是中文格式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 18:16:16 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-8 18:13
end 前面的逗号是中文格式。
  1. temp_dict[name] = 'name_num'
复制代码

name_num 不要用引号。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-8 18:33:31 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-8 18:16
name_num 不要用引号。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-8 18:34:40 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-8 18:10
里的 contacts 你在前面都没有写。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-8 18:35:10 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-8 18:13
end 前面的逗号是中文格式。

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-8 18:36:55 | 显示全部楼层
塔利班 发表于 2018-2-8 17:54
你文件代码的几处坑
print('|--- 欢迎进入通讯录程序 ---|')
print('|--- 1:查询联系人资料  ---|')

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-19 08:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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