mark = raw_input
if mark < 50:
print "your mark is unsatisfactory!"
else:
print "your mark is satisfactory!"
我想根據用戶輸入的數字來創建答案。但是,當我運行代碼時,它只會顯示「您的商標令人滿意!」我似乎無法弄清楚爲什麼它不讓我輸入數字。爲什麼python忽略我的其他代碼行?
mark = raw_input
if mark < 50:
print "your mark is unsatisfactory!"
else:
print "your mark is satisfactory!"
我想根據用戶輸入的數字來創建答案。但是,當我運行代碼時,它只會顯示「您的商標令人滿意!」我似乎無法弄清楚爲什麼它不讓我輸入數字。爲什麼python忽略我的其他代碼行?
您需要撥打raw_input
。現在你只需要函數的值,它總是爲真(因爲對於Python來說,函數是真實的)。添加一些括號使其raw_input()
實際調用該函數。你也想調用int(raw_input())
從字符串中獲得一個整數。
呼叫raw_input
,像
mark = int(raw_input("enter something"))
if mark < 50:
print "your mark is unsatisfactory!"
else:
print "your mark is satisfactory!"
注意轉換爲int,因爲raw_input
返回一個字符串。
此刻你正在做的是創造是指功能raw_input
另一個變量,它比較對50
那是因爲你不調用該函數。
你要做的:
answer = raw_input('your question')
此外,answer
的類型是str
。因爲它看起來像你想將它用數字比較,你必須轉換成一個數字:
answer = int(answer) # if you want an int
answer = float(answer) # if you want a float
注:通過做
mark = raw_input
mark
現在等於功能,女巫意味着如果你這樣做mark('...')
,它會做同樣的事情比raw_input('...')
你需要真正調用'raw_input',像'raw_input()'。目前你只是創建了一個對函數的引用。 –
簡單的答案是'raw_input()'(注意圓括號!)返回一個*字符串*不是一個整數。這是重複的,儘管我無法找到副手目標 – Ajean