从 python3 到 python2.4,使用字典的条件语句不起作用

conditional statement using dictionary isn't working from python3 to python2.4

我写了一个小脚本来遍历 python3 中的字典,效果很好。我在另一台只安装了 python2.4 的机器上工作。我复制了脚本和 运行,现在代码没有进入 for 循环中的 if 语句。我假设这只是版本差异。

我曾尝试在线查看版本之间的一些差异。我最接近的是 'dict.iterkeys()'

tests = {'1':'test1','2':'test2'}

answer = input('which test? ')

for test in tests:
    if test == answer:
        print(tests[test])

预期输出是我要打印的测试。但是,在 python 2.4 版中,它根本没有进入 if 语句。在 python3 中,此脚本工作正常。

任何见解都有帮助。

谢谢!

Python3 用 python 2 的 raw_input 的功能替换了旧的输入语句。它过去常常评估输入,现在为了安全起见,它作为字符串传递。

替换行:(py3)

answer = input('which test? ')

有:(py2)

answer = raw_input('which test? ')

或:

answer = str(input('which test? '))

详情请参阅PEP3111