我是Python中的新手,并且是我的第3天。我只是用这个丑陋的例子来升温Python的一些语法。Python不可理解的流程控制
networks = {"Ufone": 333, "Mobilink": 300, "Warid": 321}
def get_network(n):
for network in networks:
if n == networks[network]:
return "Network is " + str(network)
else:
return "Network not listed"
print(get_network(321))
你知道它应该导致Network is Warid
但当我运行使用Ctrl + B
有时它会导致崇高控制台中的脚本..
Network is Warid [Finished in 0.1s]
等次..
Network not listed [Finished in 0.1s]
and mysese如果知道我没有更改函数参数中的任何值。这是我第一次在编程中遇到这个有趣的问题。
它总是说我的网络是Warid [已完成0.0s]。 – thefourtheye
@thefourtheye:在Python 3.3中,使用散列随机化,字典顺序可以在运行之间有所不同。所以,完全随机地,'Ufone'可以列在第一位并且不匹配。 –
@thefourtheye在回答中添加您的评论行。 –