目录
第1关:While 循环与 break 语句
如果对你有帮助的话,不妨点赞收藏评论一下吧,爱你么么哒????????
第1关:While 循环与 break 语句
任务描述
程序的第三大结构是循环结构。在此结构中,通过一个判断语句来循环执行一个代码块,直到判断语句为假时跳出循环。循环语句分为
以下场景便模拟了循环结构与跳出循环的现实场景: 在一个工厂的流水线上每天需要加工零件
本关的任务是让学习者学会使用
相关知识

图 1
-
while 判断条件1: -
循环语句
当
-
count = 0 -
while(count <= 10): -
print("现在计数为:",count) -
count += 1
-
while 判断条件1: -
循环语句 -
判断条件2: -
break
当
-
count = 0 -
while(count <= 10): -
print("现在计数为:",count) -
count += 1 -
if(count > 5): -
break
如果您想了解更多循环结构的相关知识,请参考:
编程要求
本关的编程任务是补全
-
填入当已处理零件数小于总零件数
count < partcount 时的while 循环判断语句; -
在停电时填入
break 语句跳出循环。
本关涉及的代码文件
-
partcount = int(input()) -
electric = int(input()) -
count = 0 -
# 请在此添加代码,当count < partcount时的while循环判断语句 -
########## Begin ########## -
########## End ########## -
count += 1 -
print("已加工零件个数:",count) -
if(electric): -
print("停电了,停止加工") -
# 请在此添加代码,填入break语句 -
########## Begin ########## -
########## End ##########
测试说明
本文的测试文件是
-
平台自动编译生成
line.exe ; -
平台运行
line.exe ,并以标准输入方式提供测试输入; -
平台获取
line.exe 输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对
-
3 -
0
预期输出:
-
已加工零件个数: 1 -
已加工零件个数: 2 -
已加工零件个数: 3
开始你的任务吧,祝你成功!
partcount = int(input())
electric = int(input())
count = 0
#请在此添加代码,当count < partcount时的while循环判断语句
#********** Begin *********#
while(count<partcount):
#********** End **********#
count += 1
print("已加工零件个数:",count)
if(electric):
print("停电了,停止加工")
#请在此添加代码,填入break语句
#********** Begin *********#
break
#********** End **********#
第2关:for 循环与 continue 语句
任务描述
Python 中还为我们提供了一种循环结构:
以下场景便模拟了
本关的任务是让学习者学会使用
相关知识

图 1
-
for iteration_var in sequence: -
循环语句
依次遍历序列中的成员,执行循环语句。例如:
-
list = ['python','java','c','c++'] -
for book in list: -
print("当前书籍为:",book)
-
for iteration_var in sequence: -
循环语句 -
if 判断语句1: -
continue
当遍历序列时,如果
-
list = ['python','java','c','c++'] -
count = 0 -
for book in list: -
count += 1 -
if count == 3: -
continue -
print("当前书籍为:",book)
如果您想了解更多循环结构的相关知识,请参考:
编程要求
本关的编程任务是补全
-
填入循环遍历
studentname 列表的代码; -
当遍历到缺席学生时,填入
continue 语句跳过此次循环。
本关涉及的代码文件
-
absencenum = int(input()) -
studentname = [] -
inputlist = input() -
for i in inputlist.split(','): -
result = i -
studentname.append(result) -
count = 0 -
# 请在此添加代码,填入循环遍历studentname列表的代码 -
########## Begin ########## -
########## End ########## -
count += 1 -
if(count == absencenum): -
# 请在下面填入continue语句 -
########## Begin ########## -
########## End ########## -
print(student,"的试卷已阅")
测试说明
本文的测试文件是
-
平台自动编译生成
checkWork.exe ; -
平台运行
checkWork.exe ,并以标准输入方式提供测试输入; -
平台获取
checkWork.exe 输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对
-
2 -
zhangsan,lisi,wangwu,zhaoliu,qianqi
预期输出:
-
zhangsan 的试卷已阅 -
wangwu 的试卷已阅 -
zhaoliu 的试卷已阅 -
qianqi 的试卷已阅
开始你的任务吧,祝你成功!
absencenum = int(input())
studentname = []
inputlist = input()
for i in inputlist.split(','):
result = i
studentname.append(result)
count = 0
#请在此添加代码,填入循环遍历studentname列表的代码
#********** Begin *********#
for student in studentname:
#********** End **********#
count += 1
if(count == absencenum):
#在下面填入continue语句
#********** Begin *********#
continue
#********** End **********#
print(student,"的试卷已阅")
第3关:循环嵌套
任务描述
在Python 中,除了
本关的任务是让学习者学会使用循环嵌套。
相关知识
循环嵌套分为
-
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 判断条件: -
循环语句
例如:
-
x = 1 -
y = 0 -
while x < 10: -
while y < x: -
result = x + y -
print(result) -
y += 1 -
x += 1 -
y = 0
如果您想了解更多循环嵌套的相关知识,请参考:
编程要求
本关的编程任务是补全
-
当输入学生人数后,填入在
for 循环遍历学生的代码; -
当输入各科目的分数后的列表后,填入
for 循环遍历学生分数的代码。
本关涉及的代码文件
-
studentnum = int(input()) -
# 请在此添加代码,填入for循环遍历学生人数的代码 -
########## Begin ########## -
########## End ########## -
sum = 0 -
subjectscore = [] -
inputlist = input() -
for i in inputlist.split(','): -
result = i -
subjectscore.append(result) -
# 请在此添加代码,填入for循环遍历学生分数的代码 -
########## Begin ########## -
########## End ########## -
score = int(score) -
sum = sum + score -
print("第%d位同学的总分为:%d" %(student,sum))
测试说明
本文的测试文件是
-
平台自动编译生成
sumScore.exe ; -
平台运行
sumScore.exe ,并以标准输入方式提供测试输入; -
平台获取
sumScore.exe 输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对
-
2 -
23,56,78,90 -
21,56,78,76,91
预期输出:
-
第0位同学的总分为:247 -
第1位同学的总分为:322
开始你的任务吧,祝你成功!
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))
第4关:迭代器
任务描述
迭代器用来循环访问一系列元素,它不仅可以迭代序列,也可以迭代不是序列但是表现出序列行为的对象。本关的任务是让学习者理解与学会使用迭代器。
相关知识
迭代器的优点
-
迭代器访问与
for 循环访问非常相似,但是也有不同之处。对于支持随机访问的数据结构如元组和列表,迭代器并无优势。因为迭代器在访问的时候会丢失数据索引值,但是如果遇到无法随机访问的数据结构如集合时,迭代器是唯一访问元素的方式; -
迭代器仅仅在访问到某个元素时才使用该元素。在这之前,元素可以不存在,所以迭代器很适用于迭代一些无法预先知道元素总数的巨大的集合;
-
迭代器提供了一个统一的访问集合的接口,定义
iter() 方法对象,就可以使用迭代器访问。
理解迭代器
可直接作用于
-
from collections import Iterable -
result = isinstance([],Iterable) -
print(result) -
result = isinstance((),Iterable) -
print(result) -
result = isinstance('python',Iterable) -
print(result) -
result = isinstance(213,Iterable) -
print(result)
结果为:
-
True -
True -
True -
False
可以被
-
from collections import Iterator -
result = isinstance([],Iterator) -
print(result) -
result = isinstance((),Iterator) -
print(result) -
result = isinstance((x for x in range(10)),Iterator) -
print(result)
结果为:
-
False -
False -
True
所有的
定义迭代器
当自己定义迭代器时,需要定义一个类。类里面包含一个
-
class MyIterable: -
def __iter__(self): -
return MyIterator() -
class MyIterator: -
def __init__(self): -
self.num = 0 -
def __next__(self): -
self.num += 1 -
if self.num >= 10: -
raise StopIteration -
return self.num
复制迭代器
迭代器当一次迭代完毕后就结束了,在此调用便会引发
如果您想了解更多迭代器的相关知识,请参考:
编程要求
本关的编程任务是补全
-
当输入一个列表时,填入将列表
List 转换为迭代器的代码; -
填入用
next() 函数遍历迭代器IterList 的代码。
本关涉及的代码文件
-
List = [] -
member = input() -
for i in member.split(','): -
result = i -
List.append(result) -
# 请在此添加代码,将List转换为迭代器的代码 -
########## Begin ########## -
########## End ########## -
while True: -
try: -
# 请在此添加代码,用next()函数遍历IterList的代码 -
########## Begin ########## -
########## End ########## -
result = int(num) * 2 -
print(result) -
except StopIteration: -
break
测试说明
本文的测试文件是
-
平台自动编译生成
ListCalculate.exe ; -
平台运行
ListCalculate.exe ,并以标准输入方式提供测试输入; -
平台获取
ListCalculate.exe 输出,并将其输出与预期输出对比。如果一致则测试通过,否则测试失败。
以下是平台对
-
5,6,7,8,9
预期输出:
-
10 -
12 -
14 -
16 -
18
开始你的任务吧,祝你成功!
List = []
member = input()
for i in member.split(','):
result = i
List.append(result)
#请在此添加代码,将List转换为迭代器的代码
#********** Begin *********#
it=iter(List)
#********** End **********#
while True:
try:
#请在此添加代码,用next()函数遍历IterList的代码
#********** Begin *********#
num=next(it)
#********** End **********#
result = int(num) * 2
print(result)
except StopIteration:
break