1

私はPythonが初めてです。そして、次のスクリプトをファイルに書きました。

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

コマンドラインで実行します。

python test.py

y

False

私の理解では、印刷結果はTrueでなければなりません。しかし、実際の結果は False です。どうしてこれなの?

私の環境: OS: win7 Python: 3.2

4

1 に答える 1

0

Ubuntuでは問題なく動作します。私が考えることができる唯一のことは、Windowsが余分な空白スペースに固執していることです. これを試して:

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

それでもうまくいかない場合は、次のようにします。

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

次に、input() によって実際に何が返されるかを確認できます。

于 2012-10-22T12:39:33.490 に答える