鱼C论坛

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

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

[复制链接]
发表于 2018-2-8 17:54:37 | 显示全部楼层 |阅读模式
5鱼币
感觉代码和小甲鱼老师的差不多,但是报错,这是我的
#这是我的
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='')
            print(name + ':' + temp_dict[name])
            if input('是否修改用户资料(YES/NO):') == 'YES':
                name_num = input('请输入用户联系电话:')
                temp_dict[name] = 'name_num'
        else:
            name_num = input('请输入用户联系电话:')
            temp_dict[name] = 'name_num'
    if temp == 3:
        name = input('请输入联系人姓名:')
        if name in contacts:
            del(temp_dict[name])
        else:
            print('您输入的联系人不存在。')
    if temp == 4:
        break
print('谢谢使用')
        
                  
        
我看了半天不知道错在哪,请大神点拨下,谢谢~~附小甲鱼老师的原代码
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[name])
        else:
            print('您输入的姓名不再通讯录中!')

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

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

print('|--- 感谢使用通讯录程序 ---|')
    
最佳答案
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 | 显示全部楼层
if name in contacts

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

评分

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

查看全部评分

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

使用道具 举报

发表于 2018-2-8 18:13:47 | 显示全部楼层
print('您输入的姓名在通讯录已经存在--》',end='')
end 前面的逗号是中文格式。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-2-8 18:16:16 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-2-8 18:13
end 前面的逗号是中文格式。
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-6-14 09:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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