为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

慕斯709654 2021-03-29 09:11:37
我对此进行了大量研究,但无法弄清楚自己在做什么错。请帮忙!!!程序的目标: 一直问用户选择一个选项的问题,直到用户在提供的列表中选择一个为止。 问题:我只是无法使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
查看完整描述

3 回答

?
慕工程0101907

TA贡献1887条经验 获得超5个赞

试试这个:


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")


查看完整回答
反对 回复 2021-04-13
?
心有法竹

TA贡献1866条经验 获得超5个赞

只是从您的代码中忽略不是关键字


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

    choice = input("Select your item: ")

    print(choice)

    for choice  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")


查看完整回答
反对 回复 2021-04-13
?
拉风的咖菲猫

TA贡献1995条经验 获得超2个赞

让我们来看看为什么当它不应该工作完全忽视了语法部分:


items由组成{'1': '2', '3': '4', '5': '6'}。itemssay的补码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)


查看完整回答
反对 回复 2021-04-13
  • 3 回答
  • 0 关注
  • 154 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信