首先,我搜索了这个网站,很多,找到了关于这个主题的其他帖子,甚至是我正在做的同一个作业,所以代码非常相似。。。不过,有一些事情略有不同。我在上这门课,用的是“从Python开始,第4版”,我的作业来自第5章“15”。测试平均分和等级。“我已经为除了输入验证(我的老师坚持我们要使用的)以外的所有内容编写代码,尽管我们只应该使用本书所涵盖的编码技术:没有列表、元组、字典、lambda等等。。。这使得我在网上(和这个网站上)发现的大多数输入验证示例都没有用,因为我无法理解它们,如果我想用的话也无法使用它们。我已经联系了老师寻求帮助(在线课程),但是几个星期没有收到任何回复,所以我来了。该程序要求用户输入5个测试分数,找到平均分数,为每个分数指定一个字母等级,然后显示带有字母等级和平均值的分数。我想如果我用“for scores in range(1,6)”循环来请求分数,验证输入会更容易,但是我不知道如何访问用户输入的每个分数,然后发送到determine_grade函数,然后在main中显示(我没有包括下面的任何代码)。。。因此,我最终为每个分数创建了一个变量,但是我遇到了如何验证每个变量的输入(确保输入的分数不小于0或大于100,或者用户输入了数字而不是字母)。我希望能够在代码中写入一些异常处理,这样如果用户输入的是字母而不是数字,则不会引发异常,因为我的指导老师说“从现在起,我的工作就是尝试破坏你的程序”,尽管他还没有告诉我具体如何实现这种输入验证。任何帮助都将不胜感激,我已经挣扎了好几天了,这让我感到非常的压力。在
编辑:TypeError:input_validation()缺少4个必需的位置参数:“score2”、“score3”、“score4”和“score5”是我遇到的错误,我知道我做错了什么,但是,我不知道是什么。。。我觉得有一种更简单的方法来处理多个变量的输入验证。。因为我在这方面还是个新手,但我不知道如何实现它。在def get_scores():
score1 = input_validation(float(input('Enter the score for the first test: ')))
score2 = input_validation(float(input('Enter the score for the second test: ')))
score3 = input_validation(float(input('Enter the score for the third test: ')))
score4 = input_validation(float(input('Enter the score for the fourth test: ')))
score5 = input_validation(float(input('Enter the score for the fifth test: ')))
return score1, score2, score3, score4, score5
def input_validation(score1, score2, score3, score4, score5):
while (score1, score2, score3, score4, score5) < 0 or (score1, score2, score3, score4, score5) > 100:
print('Score cannot be less than 0 or greater than 100!')
(score1, score2, score3, score4, score5) = float(input('Please enter a correct test score: '))
return score1, score2, score3, score4, score5
本文链接:https://my.lmcjl.com/post/9365.html
4 评论