Python 3:当我输入y时,为什么['y','Y']中input()的结果为false?

时间:2012-10-19 15:54:19

标签: windows-7 input python-3.2

我是Python的新手。我在一个文件中写了以下脚本:

# ...\temp\test.py
x = (input() in ['y', 'Y'])
print(x)

在命令行中运行它:

python test.py

y

False

据我了解,打印结果应为True。但实际结果是假的。这是为什么?

我的环境: 操作系统:win7 Python:3.2

1 个答案:

答案 0 :(得分:0)

在Ubuntu中它对我很好。我唯一能想到的是Windows坚持额外的空白。试试这个:

x = (input().strip() in ['y', 'Y'])

如果不起作用,请执行以下操作:

y = input()
x = (y in ['y', 'Y'])
print(y)
print(x)

然后您将能够看到input()

实际返回的内容