Python(4)——循环结构
循环结构
循环结构可以减少源程序重复书写的工作量(代码量),用来描述重复执行某段算法的问题,这是程序设计中最能发挥计算机特长的程序结构。
Python中循环结构分为两类,分别是 while 和 for .. in
格式1:
num1,num2 = 3,5
while num1 < num2:
print('如果条件成立,会进入循环体,我所处的这块区域,就是循环体')
num1 += 1 #控制循环条件中的变量,否则进入死循环
死循环: 死循环就是循环不会终止的循环类型,设置条件永远为True来实现,但非常占用资源
格式2:
num1,num2 = 3,5
while num1 < num2:
print('如果条件成立,会进入循环体')
num1 += 1
else:
print('条件不成立时,我会被输出')
for ... in
for 变量 in 容器:用于遍历容器类的数据(字符串,列表,元组,字典,集合)
格式1:
user_list = ['小明','小红','小强','小军']
for val in user_list:
print(val)
格式2:
data = ('a','alibaba'),('b','baidu'),('c','changhong')
for k,v in data:
print(k,'======>',v)
使用格式2请注意: 要求遍历的容器必须是以下几种格式
[(),(),()] 列表中有元组
[[],[],[]] 列表中有列表
((),(),()) 元组中有元组
{(),(),()} 集合中有元组
字典的特殊使用
格式3:
data = ('a','b','c','d','e')
for v in data:
print(v)
else:
print('我else区间又来啦!')
循环结束时执行else区间的代码
流程控制语句
break
翻译:破坏,结束
作用:在循环中break的作用是终止当前循环结构的后续所有操作,一点程序运行了break,循环也就终止了。
continue
翻译:继续
作用:在循环中continue的作用是跳过本次循环,开始下一次循环。continue执行之后本次循环的后续代码不再执行,直接进入下一次循环。
pass
翻译:忽略
作用:pass是没有任何意义的空语句,主要用来占位用,避免语法错误。
关于while循环的例子
使用while循环制作一个99乘法表
实现代码:
j = 1 while j < 10: i = 1 while i <= j: print('%d*%d=%2d' %(i,j,i*j),end=' ') i += 1 print('\n',end='') j += 1 print()
实现代码:
j = 1 while j < 10: k = 1 while k < 10-j: print('%s' % (' '),end=' ') k += 1 i = 1 while i <= j: print('%d*%d=%2d'%(i,j,i*j),end=' ') i += 1 print('\n',end='') j += 1 print()
实现代码:
j = 9 while j > 0: i = 1 while i <= j: print('%d*%d=%2d'%(i,j,i*j),end=' ') i += 1 print('\n',end='') j -= 1
实现代码:
j = 9 while j > 0: k = 0 while k < 9-j: print('%s'%' ',end=' ') k += 1 i = 1 while i <= j: print('%d*%d=%2d'%(i,j,i*j),end=' ') i += 1 print() j -= 1
百钱买百鸡
母鸡3元一只,公鸡一只1元,小鸡0.5元/只,100块钱买一百只鸡,有多少种买法?
种类 | 价格 |
母鸡 | 3元一只 |
公鸡 | 一只1元 |
小鸡0 | 0.5元/只 |
for....in 循环实现
for m in range(0,34): for n in range(0,101): for k in range(0,201): if m + n + k == 100: if 3 * m + n + k*0.5 == 100: print('母鸡%d只,公鸡%d只,小鸡%d只'%(m,n,k)) print()
while 循环实现
m = 0 while m < 34: n = 0 while n < 101: k = 0 while k < 201: if m + n + k == 100 and 3 * m + n + k * 0.5 == 100: #if 3 * m + n + k * 0.5 == 100: print('母鸡%d'%(m),'只,','公鸡%d'%(n),'只','小鸡%d'%(k),'只') k += 1 n += 1 m += 1