2017-08-28 45 views
0

最近我一直在使用python問題,特別是if語句。下面我有一個簡單的if語句,用來打印字符串'did it work?'當變量問候等於你好。我的if語句不是在python中打印文本

greeting = raw_input('hi') 
if greeting == 'hello': 
    print 'did it work?' 

我在終端運行這條巨蟒文件只輸入單詞招呼到變量的問候,並獲得任何回報。我不明白爲什麼if語句不起作用。以下是我的終端輸出的鏈接。

Terminal Outout

這有真正讓我的神經,它阻止我從我的程序工作,它讓我想扔在房間裏我的筆記本電腦。如果有人可以幫助它,將不勝感激。

+0

你在Windows環境中運行它嗎? – sancelot

+0

如果你的意思是操作系統,那麼不行,我運行linux。 – subliminal

回答

1

我認爲你是在「你好」字之前輸入一個空格。與測試:

greeting = raw_input('hi') 
if greeting.strip() == 'hello': 
    print 'did it work?' 
+0

確實看起來就是這樣......當然,如果OP做了:'raw_input('hi')'有一個空格,他們不會想要在進入問候語之前打空格鍵... –

+0

謝謝!你的代碼工作!我現在要試着修復我一直在努力的實際程序。 – subliminal

+0

@nax您正在比較'if'句子中的字符串。所以兩個字符串必須完全等於'=='操作數的結果爲真。在大多數編程語言中這是一個非常標準的東西。 'greeting'變量必須與字符'hello'逐個字符相等,這意味着沒有空格,每個字符沒有不同的大小寫,等等。 –

0

檢查greeting變量,你輸入後"hello"
做的greeting一個print和它的len()並檢查是否有什麼異常

2

這是爲我工作的罰款。檢查https://repl.it/K2ro/1

您可能會在最有可能之前或之後給予額外的空間。在對它進行操作之前,請嘗試修剪字符串,對於特定情況,您應該使用「strip()」。