为什么我的代码在python shell中工作,但是当我双击py文件时却没有

时间:2011-04-21 05:33:17

标签: python

为什么我的python文件在IDLE中运行完美,但是当我双击它时它不起作用。让我重新说一下,即使他们在IDLE中正常工作,我的if / else语句似乎永远不会成立。

我甚至将我的所有代码分解为最简单的if / else语句来测试并确保我没有遗漏某些东西。这是我打破的代码。这是py文件中的确切代码,再次在IDLE中工作,但是当我双击py文件

时则不行
choice = input('letter: ')
if choice == 'a':
    print ('that is an a')
    input('press any key to exit...')
else:
    print('that letter is not an a')
    input('press any key to exit')

btw python v3.2 Windows 7

2 个答案:

答案 0 :(得分:3)

尝试添加

choice = choice.strip()

这对我有用

choice = input('letter: ')
choice = choice.strip()
if choice == 'a':
    print ('that is an a')
    input('press any key to exit...')
else:
    print('that letter is not an a')
    input('press any key to exit')

否则您的input会将换文字和换行符一起提供给你if失败

答案 1 :(得分:1)

input()可能会获得一个以行结尾的字符串。

尝试在输入后立即添加行print(repr(choice)),以确切了解您正在使用的内容。