2017-05-02 66 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語句之前寫一行:print(name)來保證。 – Zydnar

+0

@Zydnar打印'name'不會使空白字符變得明顯。 –

+0

也許print(ord(name)) – Zydnar

回答

0

你的name可能有一個尾隨的換行符。無論是與

​​

剝離或更改你的病情:

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

那麼,\ n改變一些東西?順便說一句,我怎麼能改變那樣的格式呢?它的工作 –

+0

\ n也是一個角色,但無形,所以是的。 – Zydnar

0

使用strip功能,將從您的輸入中去除環境空格字符。

import sys 
name = sys.stdin.readline().strip() 
if name == 'a': 
    print('a') 
else: 
    print('b')