从 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。
我写了一个小脚本来遍历 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。