從print y
線,它看起來像你使用Python 2.7或更早版本,所以input("x = ")
將很可能給你 應對進入stop
與例外NameError: name 'stop' is not defined
。我建議使用raw_input
,它以字符串形式返回用戶的輸入 ;您可以在嘗試將其變成浮動狀態之前檢查該字符串是否與字符串 "stop"
相等。
強制輸入爲花車也意味着你不必擔心整數除法混亂的東西(谷歌爲from __future__ import division
更多)。
這裏有一個例子:使用Python 2.7我的Ubuntu 14.04系統上
x1 = float(raw_input("x1 = "))
x2 = float(raw_input("x2 = "))
y1 = float(raw_input("y1 = "))
y2 = float(raw_input("y2 = "))
print 'enter "stop" to end'
while True:
rawx = raw_input("x = ")
if 'stop' == rawx:
print "stopping..."
break
x = float(rawx)
y = y1 * ((x-x2)/(x1-x2)) + y2 * ((x-x1)/(x2-x1))
print y
運行,我得到這個:
$ python q33264238.py
x1 = 1
x2 = 2
y1 = -1
y2 = 1
enter "stop" to end
x = 1
-1.0
x = 2
1.0
x = 1.5
0.0
x = stop
stopping...
你是問「我怎麼做這個站時,有人類型'停'「?我們不清楚你需要什麼幫助或你的代碼是「錯誤的」。 – AlG
嘿遺物,看看這個鏈接:https://wiki.python.org/moin/WhileLoop 它使用停止字打出來的一個無限循環的一個很好的例子。不要被@jonrsharpe拖延,Stack Overflow主要用於回答特定的技術問題,而不是設計或「怎麼樣」的問題。 – Symmitchry
感謝您的答覆,我想我可以對我的問題更具體,也許這不是問的正確的地方。我可以創建一個循環,提示用戶輸入一個無限的輸入,直到使用「關鍵詞」來分解它,但我不確定如何將循環放入我現有的代碼中,以便在出現重複的y值之前將其重複。將繼續閱讀更多! – Relic