Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/359.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
while和if循环引起的Python编码困难_Python_Python 3.x_Python Requests - Fatal编程技术网

while和if循环引起的Python编码困难

while和if循环引起的Python编码困难,python,python-3.x,python-requests,Python,Python 3.x,Python Requests,我是python编码新手,我需要一个问题的帮助,我无法理解我哪里做错了,你们能帮我解决这个问题吗。如果你能帮助我理解这一点,对我会很有帮助的 问题是我需要根据两名学生的平均分数返回他们的分数,问题是自定义输入的方式是,它形成两名学生分数的嵌套列表,并且存根的书写方式是我无法更改的,请帮助我,我提供了更好的参考提供的存根 对于评分学生的实际操作if语句,我使用以下代码: def calculateGrade(students_marks): avg = sum(students_marks

我是python编码新手,我需要一个问题的帮助,我无法理解我哪里做错了,你们能帮我解决这个问题吗。如果你能帮助我理解这一点,对我会很有帮助的

问题是我需要根据两名学生的平均分数返回他们的分数,问题是自定义输入的方式是,它形成两名学生分数的嵌套列表,并且存根的书写方式是我无法更改的,请帮助我,我提供了更好的参考提供的存根

对于评分学生的实际操作if语句,我使用以下代码:

def calculateGrade(students_marks):
    avg = sum(students_marks)/5
    if avg >= 90:
        return 'A+'
    elif avg in range(80,90):
        return 'A'
    elif avg in range(70,80):
        return 'B'
    elif avg in range(60,70):
        return 'C'
    elif avg in range(50,60):
        return 'D'
    elif avg < 50:
        return 'F'

您可以通过访问每个列表来获取每个列表的总和: 您可以像lst[0]一样访问嵌套列表,这将为您提供[60,20,2,30,56],然后您可以使用名为sum()的内置函数快速求和

所以你会得到这个和(lst[0])=>168 然后你也可以计算你访问的列表的长度,比如len(lst[0]),然后把总数除以长度

这里我给你留下一段代码,你可以分析它

lists = [[60,20,2,30,56],[30,24,40,5,11]]
for grade_list in lists:
    total = sum(grade_list)
    average = len(grade_list)
    result = total/average
    print(result)
def calculateGrade(学生分数):
Gra=[]
学生成绩中的成绩表:
总计=总和(等级表)
av=浮动(总/(长(等级列表)))
如果av>=90:
等级class='A+'
elif av>=80,av=70,av=60,av=50,av
def计算分数(学生分数):
Gra=[]
对于范围内的i(len(学生分数)):
对于范围内的j(len(学生分数[i]):
总数=总和(学生分数[i])
av=浮动(总/长(学生分数[i]))
如果av>=90:
等级class='A+'

elif av>=80和av=70和av=60和av=50和av请不要添加(可能只是暂时的)dropbox链接。而是编辑问题以直接包含问题。另外请注意,stackoverflow不是按需编码服务。您对提供的代码有任何问题吗?什么问题?你的第二个代码问题是什么?到底是什么问题?@Mehdi_Mostafavi问题是提供的自定义输入分为两行,以嵌套列表的形式存储在变量中,例如Sum=[[60,20,2,30,56],[30,24,40,5,11],现在我不知道如何显示这两个列表的平均值,并返回计算为A、B或C的平均值的分数。
lists = [[60,20,2,30,56],[30,24,40,5,11]]
for grade_list in lists:
    total = sum(grade_list)
    average = len(grade_list)
    result = total/average
    print(result)
def calculateGrade(students_marks):
Gra=[]
for grade_list in students_marks:
    total=sum(grade_list)
    av=float(total/(len(grade_list)))
    if av >=90:
        Grades='A+'
    elif av >=80 and av <90:
         Grades='A'
    elif av >=70 and av <90:
         Grades='B'
    elif av >=60 and av <90:
         Grades='C'
    elif av >=50 and av <90:
         Grades='D'
    elif av <50:
         Grades='F'
    Gra.append(Grade)
return(Gra)