【问题标题】:Python Note script with dictionary throwing error [duplicate]带有字典抛出错误的 Python Note 脚本 [重复]
【发布时间】:2017-12-24 09:39:03
【问题描述】:

python 2.7.9 所以我想制作一个持续运行的脚本,我可以在其中记录名称和特征,但我不知道它为什么会抛出这个错误。最终我希望将其导出到文件中,以便保存输入的信息。

Traceback(最近一次调用最后一次): 文件“C:\Users\Admin\Desktop\PythonFiles\Dictionary.py”,第 18 行,在 key = input("请输入玩家姓名:")

文件“”,第 1 行,在 名称错误:名称“bob”未定义

basket = {}
print("""
Note Program:
___________
1: Add Item
2: Remove Item
3: View
0: Exit Program

""")

option = int(input("Enter an Option: "))

while option != 0:
if option == 1:
    key = input("Enter a player name: ")

    if key in basket:
        print("Name Found!...")
        value = input("adding notes: ")
        basket[key] += value

    else:
        value = input("Notes: ")
        basket[key] = value

elif option == 2:
    key = input("Enter a player name: ")
    del(basket[key])

elif option == 3:
    for key in basket:
        print(key,":",basket[key])

elif option !=0:
    print("please enter a valid option")

option = str(input("\n\nEnter an option: "))

else:
    print("Note Program Closed.")

【问题讨论】:

    标签: python string dictionary for-loop


    【解决方案1】:

    您应该使用raw_input() 而不是input(),因为输入正在尝试eval(),这会导致异常。

    • raw_input() 接受输入并将其作为字符串传回。
    • input() 实际上会以 eval(raw_input()) 运行。

    【讨论】:

    • 感谢您的澄清...以前从未深入研究过这样的字典。
    猜你喜欢
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 1970-01-01
    • 2018-04-15
    • 2016-02-21
    相关资源
    最近更新 更多