python中循环主要有for循环和while循环。
while循环
如果条件成立(true),重复执行相同操作,条件不符合,跳出循环
while 循环条件: 循环操作
while循环示例:输入王晓明5门课程的考试成绩,计算平均成绩
1 i=1 # 初始化循环计数器i 2 sum=0 # 初始化总成绩变量 3 while i<=5: # 从i为1开始到5,重复执行一共5次接受考试成绩、求和的操作 4 print ('请输入第%d门课程的考试成绩'%i) # 提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程,第2门课程…… 5 sum=sum+input() # 把用户输入的成绩赋值给sum,最后保存着5次成绩的和 6 i=i+1 # 每次循环 i 都自增1,直到大于5跳出循环 7 avg=sum/(i-1) # 当第五次执行完i=i+1时,i为6,跳出循环,计算出sum/(i-1)的值就是平均值,并赋值给avg 8 print ('王晓明5门课程的平均成绩是%d'%avg) # 格式化输出avg的值,由于用了%d所以计算出的%avg的数值有小数也会省去,接收整数部分
嵌套while循环示例
外部循环满足条件后,执行代码开始执行内部循环,等内部循环全部执行完毕,如果还满足外部循环条件,则外部循环再次执行,依次类推,直到跳出外层循环。
例:分别输入两个学生的5门成绩,并分别计算平均成绩
1 j=1 # 定义外部循环计数器初始值 2 prompt='请输入学生姓名' # 定义字符串变量,在用户输入时调用此变量可以减少敲汉字的麻烦 3 while j<=2: # 定义外部循环为执行两次 4 sum=0 # 定义成绩初始值,之所以定义在这里,是为了当第二个学生输入成绩时可以让sum初始化为0,重新接收新学生的成绩和 5 i=1 # 定义内部循环计数器初始值 6 name = raw_input(prompt) # 接收用户输入的学生姓名,赋值给name变量 7 while i<=5: # 定义内部函数循环5次,就是接收5门课程的成绩 8 print ('请输入第%d门的考试成绩: '%i) #提示用户输入成绩,其中用到了格式化输出,%d的取值随i的值显示,第1门课程,第2门课程…… 9 sum= sum + input() # 接收用户输入的成绩,赋值给sum 10 i+=1 # i变量自增1,i变为2,继续执行循环,直到i等于6时,跳出循环 11 avg=sum/(i-1) # 计算第一个学生的平均成绩 sum/(6-1),赋值给avg 12 print name,'的平均成绩是%d '%avg # 输出学生成绩平均值 13 j=j+1 # 内部循环执行完毕后,外部循环计数器j自增1,变为2,再进行外部循环 14 print '学生成绩输入完成!' # 外部循环结束,提示输入完成!
for循环
使用for语句可以遍历全部元素,例如逐个输出字符串中的字符,逐个输出列表中的元素,元组中的元素,集合中的元素(注意赋值时各元素的顺序),字典中的键……
for letter in 'Python': print letter 结果: P y t h o n
fruits=['西瓜','水蜜桃','葡萄'] for fruit in fruits: print fruit 结果: 西瓜 水蜜桃 葡萄
循环控制
循环控制语句可以改变循环正常的执行顺序
循环控制语句
break语句:跳出本次循环(嵌套循环中只跳出一层循环)
continue语句:跳过当前一轮循环体的剩余语句,重新测试循环状态,进入下一轮循环,比如循环的次数一共有5次,第四次遇到continue了,那么不继续执行了,直接进行第5次循环判断