0

我是python(和stackoverflow)的新手,并且编写了这段简短的代码,根据字典的值声明“适合素食者”,或者如果遇到非素食者(即培根)“不适合素食者” )。我在 break 之后包含了一个 print 语句来测试 break 是否正常工作,因此当遇到 bacon 时,for 循环停止并且“else”也被禁止。我的问题是每次我在 Sublime 中构建和运行这段代码时,我都会得到不同的输出。在 Codecademy 在线 IDE 上运行它时,根据“蘑菇”的键,它会不恰当地打印这个(比如用键“3”)或者不会用键“4”打印(如预期的那样)。我已将字典更改为列表并且代码正常运行,

breakfast = {"1": "eggs", "2": "bacon", "3": "mushrooms", "4": "bread", "5": "tomatoes"}

for item in breakfast:
  if breakfast[item] == "bacon":
    print ("Not suitable for vegetarians")
    break
  print (item, breakfast[item])
else:
  print ("Suitable for vegetarians!")
4

1 回答 1

0

Python 中的字典在使用 Python <= 3.5 时是无序的,
这意味着当您遍历它们时,不能保证以任何特定顺序获取它们的键。

你使用的是什么 Python 版本?

于 2020-11-26T13:04:40.583 回答