Python基础知识-循环结构

       循环结构用来重复执行一条或多条语句。表达这样的逻辑:如果符合条件,则反复执行循环体里的语句。在每次执行完后都会判断一次条件是否为True,如果为True则重复执行循环体里的语句。图示如下:


循环结构示意图

       循环体里面的语句至少应该包含改变条件表达式的语句,以使循环趋于结束;否则,就是是一个死循环。

while循环

       while循环的语法格式如下:
while 条件表达式:
       循环体语句
【操作】利用while循环,计算1-100之间数字的累加和;计算1-100之间偶数的累积和,计算1-100之间奇数的累加和。

num = 0
sum_all = 0
sum_even = 0
sum_odd = 0
while num<=100:
    sum_all += num
    if num%2 == 0:
        sum_even += num
    else:
        sum_odd += num
    num += 1
print('1-100所有数的累加和',sum_all)
print('1-100偶数的累加和',sum_even)
print('1-100奇数的累加和',sum_odd)

for 循环和可迭代对象遍历

for 循环通常用于可迭代对象的遍历。for 循环的语法格式如下:
for 变量 in 可迭代对象:
       for 变量 in 可迭代对象:
       循环体语句

可迭代对象

       Python包含以下几种可迭代对象:
       1、序列。包含:字符串、列表、元组
       2、字典
       3、迭代器对象(iterator)
       4、生成器函数(generator)
       5、文件对象
【操作】遍历字典

d = {'name':'gaoqi','age':'18','address':'西三旗001号楼'}
for x in d: #遍历字典所有的key
    print(x)


for x in d.keys(): #遍历字典所有的key
    print(x)

for x in d.values(): #遍历字典所有的value
    print(x)

for x in d.items():#遍历字典所有的“键值对”
    print(x)

range对象

       range对象是一个迭代器对象,用来产生指定范围的数字序列。格式为:
range(start,end [,step])
生成的数值序列从start开始到end结束(不包含end)。若没有填写start,则默认从0开始。step是可选的步长,默认为1。
for i in range(10) 产生序列: 0 1 2 3 4 5 6 7 8 9
for i in range(3,10) 产生序列: 3 4 5 6 7 8 9
for i in range(3,10,2) 产生序列: 3 5 7 9
【操作】利用for循环,计算1-100之间数字的累加和;计算1-100之间偶数的累积和,计算1-100之间奇数的累加和。

sum_all = 0
sum_even = 0
sum_odd = 0
for num in range(101):
    sum_all += num
    if num%2 == 0:
        sum_even += num
    else:
        sum_odd += num
print('1-100累加总和{0},奇数和{1},偶数和{2}'.format(sum_all,sum_odd,sum_even))

嵌套循环和综合练习

       一个循环内可以嵌入另一个循环,一般称为“嵌套循环”,或者“多重循环”。
【操作】打印如下图案:

    for y in range(5):
        print(x,end='\t')
    print()

0   0   0   0   0   
1   1   1   1   1   
2   2   2   2   2   
3   3   3   3   3   
4   4   4   4   4   

【操作】利用嵌套循环打印九九乘法表

    for y in range(1,x+1):
        c = x*y
        print('{0}*{1}={2}'.format(y,x,c),end='\t')
    print()
1*1=1   
1*2=2   2*2=4   
1*3=3   2*3=6   3*3=9   
1*4=4   2*4=8   3*4=12  4*4=16  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

【操作】用列表和字典存储下表信息,并打印出表中工资高于15000的数据。

r2 = dict(name = '高小二',age=19,salary=20000,city='上海')
r3 = dict(name = '高小三',age=20,salary=1000,city='深圳')
tb = [r1,r2,r3]
for x in tb:
    if x.get('salary')>15000:
        print(x)
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容