問題が発生しました。私はifコマンドに文字列を入力したいが、それは常にelseからの結果を示した。スクリプトは次のとおりです。コマンドを入力すると入力を読み取れません
name = sys.stdin.readline()
if name == 'a':
print('a')
else:
print('b')
問題が発生しました。私はifコマンドに文字列を入力したいが、それは常にelseからの結果を示した。スクリプトは次のとおりです。コマンドを入力すると入力を読み取れません
name = sys.stdin.readline()
if name == 'a':
print('a')
else:
print('b')
name
にはおそらく末尾に改行文字があります。あなたの入力から前後の空白文字を削除します
if name == 'a\n':
[...]
だから、\ n何か変わるのですか? Btw、どうすればそのような形式を変えることができますか?そしてそれは働いています –
\ nも文字ですが見えないので、はいです。 – Zydnar
使用strip
機能:
またはあなたの状態を変更すると、それを取り除くのいずれか。
import sys
name = sys.stdin.readline().strip()
if name == 'a':
print('a')
else:
print('b')
ここで、nameが 'a' charcterに等しい場合、charcter 'a'を出力します。しかし、あなたは確かですか?sys.stdin.readline()は 'a'文字と同じですか? if文の前に1行書く:print(name)を確実にする。 – Zydnar
@Zydnarは 'name'を出力しても空白文字を明白にしません。 –
多分print(ord(name)) – Zydnar