键值对错误
def deal_card(find_dict):print(find_dict)
action_str = input("请选择要执行的操作 "
" 修改 删除 返回上级菜单")
if action_str == "1":
find_dict["name"] = input_card_info(find_dict["name"], "姓名 【回车不修改】:")
find_dict["phone"] = input_card_info(find_dict["phone"], "电话【回车不修改】:")
find_dict["qq"] = input_card_info(find_dict["qq"], "QQ【回车不修改】")
find_dict["email"] = input_card_info(find_dict["email"], "邮箱【回车不修改】:")
print("修改名片成功")
elif action_str == "2":
card_list.remove(find_dict)
print("删除名片")
为什么我在pycharm里面运行这个模块后说find_dict["qq"] = input_card_info(find_dict["qq"], "QQ【回车不修改】")里面的‘qq’键值错误 发完整代码
发下完整代码看看
# 搜索名片
elif action_str == "3":
cards_tools.sousuo_mingpian()
def sousuo_mingpian():
"""搜索名片"""
print("-" * 50)
print("搜索名片")
# 提示用户要输入的姓名
zhao_mingzi = input("请输入搜索姓名")
# 遍历名片列表查询搜索姓名,如果没有查询到,需要提示用户
for card_dict in card_list:
if card_dict["name"] == zhao_mingzi:
print("姓名\t\t\t电话\t\t\tQQ\t\t\t邮箱")
print("=" * 50)
print("%s\t\t\t%s\t\t\t%s\t\t\t%s" % (card_dict["name"],
card_dict["phone"],
card_dict["QQ"],
card_dict["email"]))
# 针对找到名片记录执行修改和删除的操作
deal_card(card_dict)
break
else:
print("^" * 50)
print("没有找到%s名片" % zhao_mingzi)
print("^" * 50)
def deal_card(find_dict):
print(find_dict)
action_str = input("请选择要执行的操作 "
" 修改 删除 返回上级菜单")
if action_str == "1":
find_dict["name"] = input_card_info(find_dict["name"], "姓名 【回车不修改】:")
find_dict["phone"] = input_card_info(find_dict["phone"], "电话【回车不修改】:")
find_dict["qq"] = input_card_info(find_dict["qq"], "QQ【回车不修改】")
find_dict["email"] = input_card_info(find_dict["email"], "邮箱【回车不修改】:")
print("修改名片成功")
elif action_str == "2":
card_list.remove(find_dict)
print("删除名片")
def input_card_info(dict_value, tip_massage):
# 提示用户输入内容
result_str = input(tip_massage)
# 针对用户的输入进行判断,如果用户输入了内容,直接返回结果
if len(result_str) > 0:
return result_str
# 如果用户不输入内容,返回字典中原有的值
else:
return dict_value Ygh6688 发表于 2020-8-23 23:09
# 搜索名片
elif action_str == "3":
cards_tools.sousuo_mingpian()
这是显示错误的代码地方 Ygh6688 发表于 2020-8-23 23:10
这是显示错误的代码地方
没有测试数据?如果有,把数据发一下 1q23w31 发表于 2020-8-24 07:28
没有测试数据?如果有,把数据发一下
我是萌新也不太清楚这个是不是测试数据{:5_96:}
Traceback (most recent call last):
File "/home/python/桌面/06_名片管理/card_main.py", line 19, in <module>
cards_tools.sousuo_mingpian()
File "/home/python/桌面/06_名片管理/cards_tools.py", line 85, in sousuo_mingpian
deal_card(card_dict)
File "/home/python/桌面/06_名片管理/cards_tools.py", line 100, in deal_card
find_dict["qq"] = input_card_info(find_dict["qq"], "QQ【回车不修改】")
KeyError: 'qq' 本帖最后由 1q23w31 于 2020-8-24 11:24 编辑
Ygh6688 发表于 2020-8-24 09:11
我是萌新也不太清楚这个是不是测试数据
Traceback (most recent call last):
哪个是主函数?,你是怎么运行的?,这不是全部代码吧,如果两篇以上代码,请用网盘传一下,
1q23w31 发表于 2020-8-24 11:21
哪个是主函数?,你是怎么运行的?,这不是全部代码吧,如果两篇以上代码,请用网盘传一下,
链接:https://pan.baidu.com/s/1q7PrQIbC2xn50XFo8WCIaA
提取码:thdz
我是在虚拟机ubantu上运行的,麻烦大佬了{:10_303:}{:10_303:} Ygh6688 发表于 2020-8-24 23:13
链接:https://pan.baidu.com/s/1q7PrQIbC2xn50XFo8WCIaA
提取码:thdz
我是在虚拟机ubantu上运行的, ...
def deal_card(find_dict):
print(find_dict)
action_str = input("请选择要执行的操作 "
" 修改 删除 返回上级菜单")
if action_str == "1":
find_dict["name"] = input_card_info(find_dict["name"], "姓名 【回车不修改】:")
find_dict["phone"] = input_card_info(find_dict["phone"], "电话【回车不修改】:")
find_dict["qq"] = input_card_info(find_dict["qq"], "QQ【回车不修改】")
find_dict["email"] = input_card_info(find_dict["email"], "邮箱【回车不修改】:")
print("修改名片成功")
elif action_str == "2":
card_list.remove(find_dict)
print("删除名片")
这个是输出错误的主函数
elif action_str == "3":
cards_tools.sousuo_mingpian()
这个是用来调用输出错误函数工具
其他的地方能正常运行,唯独这个函数说我里面的键值‘qq’错误
实在是麻烦大佬了 https://fishc.com.cn/thread-178980-1-1.html
新帖已回复
应该是qq改成QQ就行了
页:
[1]