这是通过称为Repl.it的网站使用的Python 3
我目前正在解决以下问题: “编写一个程序,其等级介于100和0零之间,并根据比例尺打印字母等级: 90或以上相当于A级 80-89相当于B级 70-79相当于C级 65-69相当于D级 64或以下相当于F级 如果用户给出的值不是整数,或者不是0到100的值,则给出错误并再次询问。 示例运行: 输入数字等级:asd 程序仅接受0到100之间的整数 输入数字等级:65 你的成绩是D“
我当前的代码如下:
def printgrade(score):
if score >= 90:
print("A")
elif score >= 80:
print("B")
elif score >= 70:
print("C")
elif score >= 65:
print("D")
elif score <= 64:
print("F")
else:
print("ERROR")
def main():
score = int(input("Enter a score: "))
print("Your grade is:", printgrade(score))
main()
我收到的唯一错误消息是print是无效的语法,但是我无法弄清楚为什么,我只是缺少了什么?任何评论将不胜感激。
答案 0 :(得分:0)
def printgrade(score):
if score >= 90: return "A"
elif score >= 80: return "B"
elif score >= 70: return "C"
elif score >= 65: return "D"
elif score <= 64: return "F"
else: return "ERROR"
def main():
score = int(input("Enter a score: "))
print("Your grade is:", printgrade(score))
main()
希望有帮助。您必须返回值,而不要在子函数内部打印它们,因为您的打印函数需要子函数的值。
答案 1 :(得分:0)
除了(
遍历代码的错误外,还可以进行一些修改使其更优化。我们可以使用try, except
块来消除ERROR
else语句,并在收到input
时(如果不是有效的int
并直接强制有效的{{ 1}}在int
之间,使用while语句。接下来,我们的函数应该是0 and 100
或return 'A'
等。然后,当我们可以根据需要使用B, C
print('Your grade is: ', printgrade(score))