2017-05-02 23 views
0

問題が発生しました。私はifコマンドに文字列を入力したいが、それは常にelseからの結果を示した。スクリプトは次のとおりです。コマンドを入力すると入力を読み取れません

name = sys.stdin.readline() 
if name == 'a': 
    print('a') 
else: 
    print('b') 
+0

ここで、nameが 'a' charcterに等しい場合、charcter 'a'を出力します。しかし、あなたは確かですか?sys.stdin.readline()は 'a'文字と同じですか? if文の前に1行書く:print(name)を確実にする。 – Zydnar

+0

@Zydnarは 'name'を出力しても空白文字を明白にしません。 –

+0

多分print(ord(name)) – Zydnar

答えて

0

nameにはおそらく末尾に改行文字があります。あなたの入力から前後の空白文字を削除します

if name == 'a\n': 
    [...] 
+0

だから、\ n何か変わるのですか? Btw、どうすればそのような形式を変えることができますか?そしてそれは働いています –

+0

\ nも文字ですが見えないので、はいです。 – Zydnar

0

使用strip機能:

​​

またはあなたの状態を変更すると、それを取り除くのいずれか。

import sys 
name = sys.stdin.readline().strip() 
if name == 'a': 
    print('a') 
else: 
    print('b') 
関連する問題