Python入门之控制结构 - 循环结构——第3关:循环嵌套

任务描述

python中,除了while循环与for循环,还有循环嵌套。循环嵌套就是在一个循环体里嵌入另一个循环。以下场景便模拟了循环嵌套与跳出循环的现实场景:
在一次考试结束后,学校需要统计每位同学的考试总成绩。在这个场景中,我们先将所有同学组成一个序列,然后遍历每位同学,在遍历到每位同学时还要遍历每个同学的每门分数,计算出总成绩,最后得出每位同学的总成绩。
本关的任务是让读者学会使用循环嵌套。

相关知识

嵌套循环分为for循环嵌套和while循环嵌套。

for循环嵌套

for循环嵌套的基本形式为:

for iteration_var in sequence:
    for iteration_var in sequence:
        循环语句

例如:

for x in range(1,10):
    for y in range(0,x):
        result = x + y
        print(result)

while循环嵌套

while循环嵌套的基本形式为:

while 判断条件:
    while 判断条件:
        循环语句

例如:

x = 1
y = 0
while x < 10:
    while y < x:
        result = x + y
        print(result)
        y += 1
    x += 1
    y = 0

如果你想了解更多运算符相关知识,请参考[美]Katie Cunningham著《Python入门经典》第三章。

编程要求

本关的编程任务是补全sumScore.py文件中的判断语句部分,具体要求如下:

  • 当输入学生人数后,填入在for循环遍历学生的代码
  • 当输入各科目的分数后的列表后,填入for循环遍历学生分数的代码

测试说明

本文的测试文件是sumScore.py,具体测试过程如下:

  1. 平台自动编译生成sumScore.exe;
  2. 平台运行sumScore.exe,并以标准输入方式提供测试输入;
  3. 平台获取sumScore.exe输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。

以下是平台对src/step3/sumScore.py的样例测试集:
预期输入:
2
23,56,78,90
21,56,78,76,91
预期输出:
第0位同学的总分为:247
第1位同学的总分为:322

预期输入:
3
98,76,54
90,54,87,4
78,26,12,90
预期输出:
第0位同学的总分为:228
第1位同学的总分为:235
第2位同学的总分为:206

开始你的任务吧,祝你成功!

*我们能做的就是拼尽全力,即使迈出的步子再小,我们也比昨天要更接近自己的目标了。*

 

参考答案

studentnum = int(input())
#请在此添加代码,填入for循环遍历学生人数的代码
#********** Begin *********#
for student in range(studentnum):
#********** End **********#
    sum = 0
    subjectscore = []
    inputlist = input()
    for i in inputlist.split(','):
        result = i
        subjectscore.append(result)
    #请在此添加代码,填入for循环遍历学生分数的代码
    #********** Begin *********#
    for score in subjectscore:
    #********** End **********#
        score = int(score)
        sum = sum + score
    print("第%d位同学的总分为:%d" %(student,sum))
        

 

展开阅读全文

没有更多推荐了,返回首页