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

 

 

 

 




posted on 2017-12-17 22:57  纵情狂飞  阅读(445)  评论(0编辑  收藏  举报