【问题标题】:When input string is the same as key string, do something当输入字符串与键字符串相同时,做一些事情
【发布时间】:2021-03-04 17:59:47
【问题描述】:

如果用户输入与字典键匹配,我正在使用 Python 3 尝试打印特定语句。我收到错误“dict' 对象不能被解释为整数”,这很公平,因为字符串不是整数。

下面是我的字典中的一个示例,我希望代码执行的是打印狗“Mouch”的字典条目,即用户输入是“Mouch”,因此单元格返回“最聪明的人”。

doggies = {"Mouch":"most cleverist"}
print("Who\'s a clever girl?")
doggo = input()
for doggos in range(doggies):
    if doggo == "Mouch":
        print(doggies[Mouch])

【问题讨论】:

    标签: python dictionary input


    【解决方案1】:

    由于您已经有一本字典,您可以使用它们的键访问该字典的元素。所以你可以简单地写

    doggies = {"Mouch":"most cleverist"}
    print("Who\'s a clever girl?")
    doggo = input()
    if doggo in doggies:
        print(doggies[doggo])
    

    这就是字典的用途

    【讨论】:

    • 嗯,不。如果doggo 不是键之一,则会导致异常。
    • 是的,请继续在语言之间切换^^;改正了
    • 必须是语言切换的事情...... Python dicts 也没有has_key 方法;)
    • 好吧,我放弃了;那是我的python2大脑(有has_key)真的应该去睡觉了
    • 对……那是我曾经见过的地方!享受剩下的!
    【解决方案2】:

    此代码将起作用:

    doggies = {"Mouch":"most cleverist"}
    print("Who\'s a clever girl?")
    doggo = input()
    for doggos in range(len(doggies)):
        if doggo == "Mouch":
            print(doggies['Mouch'])
    

    但是这段代码有点奇怪:

    • 你有一本带狗的字典
    • 您获得用户输入
    • 您遍历字典并尝试使用用户的输入 我建议如下:
    doggies = {"Mouch":"most cleverist"}
    print("Who\'s a clever girl?")
    doggo = input()
    
    if doggo in doggies:
        print(doggies['Mouch'])
    else:
        print('Unknown dog!')
    

    【讨论】:

    • 只写if doggo in doggies,你不需要.keys()。以同样的方式,迭代一个 dict 迭代它的键。
    猜你喜欢
    • 2015-10-17
    • 2021-01-25
    • 2020-05-18
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-30
    • 2015-08-15
    相关资源
    最近更新 更多