我正在努力使函数在我的代码上工作。我错过了我想打印字母grad的部分

2024-10-03 17:19:50 发布

您现在位置:Python中文网/ 问答频道 /正文

编写一个程序,要求用户输入五个测试分数。在

假设将输入有效分数,每个数字将分别输入,即需要5个变量。程序应该显示每个分数和平均测试分数的字母等级。在程序中编写以下函数:

main-要求用户分别输入五个测试分数,将它们放入五个浮点变量中。然后main应该调用showScores 5次,每次传递一个分数。当从showScores返回时,main应该调用calcalaverage传递5个分数。在

showScores–接收单个分数并将分数打印到控制台(不需要开始新行),并将刚刚打印的分数发送到printlettgrade,后者将在同一行打印字母等级。在

printLetterGrade-接受单个数字作为参数,并显示分数的字母等级 根据以下评分标准:

Score Letter Grade
90-100 A
80-89 B
70-79 C
60-69 D
Below 60 F

calcalaverage-接收5个分数作为参数,并显示分数的平均值,以及与该平均值相等的字母等级(利用函数printLetterGrade通过传递计算的平均值来显示字母)。在

以下是程序的一个运行示例:

^{pr2}$

这是我到目前为止所做的,但我在一些部分的努力,以便我得到的输出显示。以下是我到目前为止所做的。在

def main():
    grade1 = float(input("Enter grade 1:"))
    grade2 = float(input("Enter grade 2:"))
    grade3 = float(input("Enter grade 3:"))
    grade4 = float(input("Enter grade 4:"))
    grade5 = float(input("Enter grade 5:"))
    showScores(grade1, grade2, grade3, grade4, grade5)
    calcAverage(grade1, grade2, grade3, grade4, grade5)

def showScores(grade1, grade2, grade3, grade4, grade5):
    print(grade1)printLetterGrade
    print(grade2)printLetterGrade
    print(grade3)printLetterGrade
    print(grade4)printLetterGrade
    print(grade5)printLetterGrade

def printLetterGrade(showScores):
    if(grade < 60):
        return printLetterGrade == "F"
    elif(grade < 70):
        return printLetterGrade == "D"
    elif(grade < 80):
        return  printLetterGrade == "C"
    elif(grade < 90):
        return  printLetterGrade == "B"
    elif(grade < 101):
        return printLetterGrade == "A"
    return printLetterGrade


def calcAverage(grade1, grade2, grade3, grade4, grade5):
    average = (grade1 + grade2 + grade3 + grade4 + grade5)/ 5
    print("The average is {}".format(average))

main()

Tags: inputreturnmain字母float分数gradeprint
1条回答
网友
1楼 · 发布于 2024-10-03 17:19:50

您需要按如下方式调整showScoresprintLetterGrade函数:

def showScores(grade1, grade2, grade3, grade4, grade5):
    print("{} is {}".format(grade1, printLetterGrade(grade1)))
    print("{} is {}".format(grade2, printLetterGrade(grade2)))
    print("{} is {}".format(grade3, printLetterGrade(grade3)))
    print("{} is {}".format(grade4, printLetterGrade(grade4)))
    print("{} is {}".format(grade5, printLetterGrade(grade5)))


def printLetterGrade(grade):
    if (grade < 60):
        printLetterGrade = "F"
    elif (grade < 70):
        printLetterGrade ="D"
    elif (grade < 80):
        printLetterGrade = "C"
    elif (grade < 90):
        printLetterGrade = "B"
    elif (grade < 101):
        printLetterGrade = "A"
    return printLetterGrade

相关问题 更多 >