Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
根据4个测试分数计算Python中的最终字母等级_Python_Function - Fatal编程技术网

根据4个测试分数计算Python中的最终字母等级

根据4个测试分数计算Python中的最终字母等级,python,function,Python,Function,我要问的问题是,如果有4个参数(3个测试值为20%,1个测试值为40%)在0到100分的范围内打分,那么最终分数是多少。该函数应该与打印finalGrade(test1、test2、test3、final)一样简单,它将根据分数输出字母等级。我不需要让用户输入任何东西,但是一旦我弄明白了这个基本代码,我将进行实验 这是我目前的代码: def grader(testOne, testTwo, testThree, finalExam): first = testOne * .20

我要问的问题是,如果有4个参数(3个测试值为20%,1个测试值为40%)在0到100分的范围内打分,那么最终分数是多少。该函数应该与打印finalGrade(test1、test2、test3、final)一样简单,它将根据分数输出字母等级。我不需要让用户输入任何东西,但是一旦我弄明白了这个基本代码,我将进行实验

这是我目前的代码:

def grader(testOne, testTwo, testThree, finalExam):
    first = testOne * .20
    second = testTwo * .20
    third = testThree * .20
    fourth = finalExam *.40
    finalGrade = first + second + third + fourth
    return finalGrade

def ?? (??):
    if grade >= 90 and <= 100:
        return("You received an A")

    elif grade >= 80 and < 90:
        return("You received a B")

    elif grade >= 70 and < 80:
        return("You received a C")

    elif grade >= 60 and < 70:
        return("You received a D")

    else grade < 60:
        return("Sorry, you received an F")

print(testOne, testTwo, testThree, finalExam) #will replace with values
def分级器(测试一、测试二、测试三、finalExam): first=testOne*.20 秒=测试二*.20 第三个=测试三个*.20 第四个=最终值*.40 最终等级=第一+第二+第三+第四 返回最终伙伴 def??(??): 如果等级>=90且=80且<90: 返回(“您收到了B”) elif等级>=70和<80: 返回(“您收到C”) elif等级>=60和<70: 返回(“您收到了D”) 其他等级<60: return(“对不起,您收到了F”) print(testOne、testTwo、testThree、finalExam)#将替换为值 这是:

def ?? (??):
    if grade >= 90 and <= 100:
        return("You received an A")

    elif grade >= 80 and < 90:
        return("You received a B")

    elif grade >= 70 and < 80:
        return("You received a C")

    elif grade >= 60 and < 70:
        return("You received a D")

    else grade < 60:
        return("Sorry, you received an F")
将是:

def gradeScores(FinalGrade):
    if FinalGrade >= 90 and FinalGrade <= 100:
        return("You received an A")

    elif FinalGrade >= 80 and FinalGrade < 90:
        return("You received a B")

    elif FinalGrade >= 70 and FinalGrade < 80:
        return("You received a C")

    elif FinalGrade >= 60 and FinalGrade < 70:
        return("You received a D")

    else:
        return("Sorry, you received an F")
print(gradeScores(grader(testOne, testTwo, testThree, finalExam))) #will replace with values
一些评论-

第二个函数,使用变量“grade”。。。这是一个很好的线索,“grade”应该是函数的参数。您可以尝试根据函数的实际功能命名函数。。。在本例中,将数字等级转换为字符串

B.缺少脚本的“主要”部分(您称之为“打印”)。您不需要从这里实际访问函数的任何内部部分-您可以传入值并使用结果。差不多

grade1 = 90
...
finalgrade = grader(grade1, grade2, grade3, grade4)
result = translategrade(finalgrade)
print(result)
这就是你要找的。您会注意到,您没有全局访问任何私有变量-您传入变量,在退出时使用返回值。

如果为True:

print("What is your Score out of 80?")
score = input()

first = int(input("What was your mark:"))
Marks = int(input("Enter what the test was out of :"))
result = first / Marks * 100
print(first ,"/" ,Marks, '*' ,100 ,"=" , result, "%" )





if result > 90:
    print("You received an A*")

elif result > 70 and 90 :
    print("You received a A")

elif result > 60 and 70 :
    print("You received a B")

elif result > 50 and 60 :
    print("You received a C")

elif result < 50:   
    print("You received an D, and have Failed")


ans = no
input("Would you like to continue using the program?")
print(“80分中你的分数是多少?”)
分数=输入()
first=int(输入(“你的分数是多少?”)
Marks=int(输入(“输入测试结果:”)
结果=第一名/分数*100
打印(第一个“/”,标记“*”,100“=”,结果“%”)
如果结果>90:
打印(“您收到A*”)
elif结果>70和90:
打印(“您收到a”)
elif结果>60和70:
打印(“您收到了B”)
elif结果>50和60:
打印(“您收到了C”)
elif结果<50:
打印(“您收到了D,但失败了”)
ans=否
输入(“您想继续使用该程序吗?”)

我知道这是一个旧线程,但想看看其他人是如何处理的,并提供我自己的解决方案

首先,如果你有一份成绩表,首先找出平均分

# GREADES = [85, 92, 96, 67, 73]
def numerical_grade(grades):
    return (sum(grades) / float(len(grades))) / 100
将其除以10,得到介于0和1之间的浮点值。然后,为了得到一个字母等级,只需从等级列表中提取一个索引,从10中减去等级

# GRADE = 0.75
def letter_grade(grade):
    grades = 'ABCDFFFFFF'
    if grade > 0:
        return grades[10 - ceil(grade * 10)]
    else
        return 'F'

grade>=90,我仍然收到“else FinalGrade<60:”的语法错误?这里应该还有其他人吗?不客气。很高兴我能回答你的问题。请选择我的答案作为正确答案。@Regina如果完全回答了您的问题,请单击我答案旁边的复选框。
# GRADE = 0.75
def letter_grade(grade):
    grades = 'ABCDFFFFFF'
    if grade > 0:
        return grades[10 - ceil(grade * 10)]
    else
        return 'F'