使用非关键字的Python中的For循环出现问题

时间:2018-06-22 05:55:53

标签: python loops for-loop

我对此进行了很多研究,但无法弄清楚自己在做什么错。请帮忙!!!

程序目标: 一直问一个问题,以向用户选择一个选项,直到用户在提供的列表中选择一个为止。 问题:我只是无法使not关键字正常工作。

代码语法:

items = {'1': '2', '3': '4', '5': '6'}
choice = input("Select your item: ")
print(choice)
for choice not in items:
    if choice in items:
        the_choice = items[choice]
        print("You chose",the_choice)
        break
    else:
        print("Uh oh, I don't know about that item")

日食错误:

for not choice in items:
          ^
SyntaxError: invalid syntax

5 个答案:

答案 0 :(得分:0)

尝试一下:

items = {'1': '2', '3': '4', '5': '6'}

while True:
    choice = input("Select your item: ")
    print(choice)
    if choice in items:
        the_choice = items[choice]
        print("You chose",the_choice)
        break

    print("Uh oh, I don't know about that item")

答案 1 :(得分:0)

只需忽略代码中的非关键字

import com.mongodb.*;
class MongoJava{
public static void main(String[] args) {

    MongoClient mc= new MongoClient("localhost",27017);
    MongoDatabase database = mongo.getDatabase("myDb"); // Unresolved import                
  }
}

答案 2 :(得分:0)

items = {'1': '2', '3': '4', '5': '6'}
choice = ''

while choice not in items:
    choice = input("Select your item: ")
    print(choice)
    if choice in items:
        the_choice = items[choice]
        print("You chose",the_choice)
    else:
        print("Uh oh, I don't know about that item")

答案 3 :(得分:0)

以下语法:

for item in collection

用于遍历存储在item中的所有单个collection(例如:列表或字典)。

写作时

for item not in collection

您可能要遍历所有未收集的项目,这没有多大意义。

您可以通过以下操作实现您想做的事情:

items = {'1': '2', '3': '4', '5': '6'}
choice = input("Select your item: ")

while choice not in items:
    print("Uh oh, I don't know about that item")
    choice = input("Select your item: ")

the_choice = items[choice]
print("You chose",the_choice)

以下一行

while choice not in items

检查choice中是否存在items。如果存在,则循环将终止,否则它将继续直到用户未输入choice中存在的items

答案 4 :(得分:0)

让我们看看为什么完全忽略 语法部分

不起作用的原因:

items{'1': '2', '3': '4', '5': '6'}组成。 items的补语,例如citems应该由所有字符串组成,但不包括items中的字符串。

for not choice in items就像说for choice in citems。对于解释器来说这没有意义,因为在这里定义这么大的集合确实是一个问题。

但是,您的问题可以通过以下方式解决:

items = {'1': '2', '3': '4', '5': '6'}
choice = input("Select your item: ")

while choice not in items:
    print("Uh oh, I don't know about that item")
    choice = input("Select your item: ")

the_choice = choice #assuming you want to place the value of `choice` in `the_choice` for some reason
print("You chose",the_choice)