我設置了以下循環以接受5個測試分數。我想循環提示用戶輸入5個不同的分數。現在我可以通過編寫輸入「請輸入你的下一個測試分數」來做到這一點,但我寧願讓每個輸入的分數都提示它的相關數字。錯誤 - 最多輸入1個參數的輸入,得到3
因此,對於第一次輸入,我希望它顯示「請輸入測試1的分數」,然後爲第二個分數顯示「請輸入測試2的分數」。當我嘗試運行這個循環中,我得到以下錯誤:
回溯(最近通話最後一個):
File "C:/Python32/Assignment 7.2", line 35, in <module>
main()
File "C:/Python32/Assignment 7.2", line 30, in main
scores = input_scores()
File "C:/Python32/Assignment 7.2", line 5, in input_scores
score = int(input('Please enter your score for test', y,' : '))
TypeError: input expected at most 1 arguments, got 3
下面的代碼
def input_scores():
scores = []
y = 1
for num in range(5):
score = int(input('Please enter your score for test', y,': '))
while score < 0 or score > 100:
print ('Error --- all test scores must be between 0 and 100 points')
score = int(input('Please try again: '))
scores.append(score)
y += 1
return scores
非常感謝你的幫助:) 〜Dustin
哈哈我看到了我在我輸入之後做了。我就像「哦,也許就是這樣。」我把它當作打印功能來對待。雖然我要查找你剛做的那件漂亮的東西,但我不確定它是如何工作的 – 2012-04-02 01:22:49
@Dustin,http://docs.python.org/library/stdtypes.html#string-formatting,但你可以也可以使用更具適應性的'{}'方法:http://docs.python.org/tutorial/inputoutput.html。我會將其添加到答案中。 – paxdiablo 2012-04-02 01:27:03