错误 - 最多输入1个参数,得到3

Dus*_*rns 4 python arguments traceback

我已经设置了以下for循环来接受5个测试分数.我希望循环提示用户输入5个不同的分数.现在我可以通过输入"请输入你的下一个测试分数"输入来做到这一点,但我宁愿为每个输入的分数提示输入相关的数字.

因此,对于第一个输入,我希望它显示"请输入您的测试1的分数",然后在第二个分数中,显示"请输入您的测试2的分数".当我尝试运行此循环时,我收到以下错误:

Traceback(最近一次调用最后一次):

Traceback (most recent call last):
  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
Run Code Online (Sandbox Code Playgroud)

这是代码

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
Run Code Online (Sandbox Code Playgroud)

非常感谢你的帮助:)〜达斯汀

Ósc*_*pez 6

一种简单(和正确!)的方式来写你想要的东西:

score = int(input('Please enter your score for test ' + str(y) + ': '))
Run Code Online (Sandbox Code Playgroud)