【问题标题】:I'm in trouble in python. I don't know which is wrong. it's simple code [closed]我在 python 中遇到了麻烦。我不知道哪个是错的。这是简单的代码[关闭]
【发布时间】:2020-09-02 06:31:23
【问题描述】:

我不知道这条线有什么问题..请纠正我或告诉我哪个是错误的

a = {'element':[1,2,3,4,5,6,7]}

while True:
    b = int(input())
    for i in a['element']:
        if b == i:
            print("wrong")
        else:
            break

当我一个一个拿到元素值的时候,我比较b的值和'element'的值。如果它们相同,它将循环。 但这段代码只对数字 1 做出反应,并继续成为一个无限循环。请让我知道出了什么问题。

【问题讨论】:

  • 由于我们不知道你期望它做什么和它做什么,我们很难判断哪里出了问题。
  • 请使您的问题标题与您要解决的问题相关。像你这样的标题使这个问题对将来的参考毫无用处。
  • 请使您的标题反映您对结果输出的问题

标签: python list dictionary while-loop


【解决方案1】:

break 可能是问题所在,因为如果 a['element'] 中的第一项与输入不同并且您不继续检查其他项,您将退出循环。

【讨论】:

    【解决方案2】:

    如果用户输入1,则在您的代码中您将获得wrong。但是您可能希望用户获得wrong,如果他输入列表中的一个元素(我假设您没有在您的问题中解释这一点)。正确的版本如下:

    a = {'element':[1,2,3,4,5,6,7]}
    
    while True:
        b = int(input())
        if b in a['element']:
            print("wrong")
        else:
            break
    

    【讨论】:

    • for 循环在这段代码中不能正常工作?
    • @JSY for 循环在您的代码中没有意义。想用 for 循环实现什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-06
    • 1970-01-01
    • 2017-08-25
    • 2021-06-06
    • 2012-05-19
    • 2017-06-26
    • 2020-10-05
    相关资源
    最近更新 更多