Python编程——循环语句(for、while和嵌套循环的用法详解)

for循环 重复执行语句。在循环次数已知的情况下使用for循环,且所有for循环均可用while循环实现。
while循环 在给定的条件为true时执行循环体,否则退出循环体。在循环次数未知是使用while循环。
嵌套循环 循环体中嵌套循环。

一、for循环

for循环可以用来遍历某一对象(遍历:通俗点说,就是把这个循环中的第一个元素到最后一个二元素以此访问一遍)。

1、for循环使用情景

  • 我们想要某个操作重复执行且循环次数已知是可以使用for循环;
  • 所有否循环均可以用while实现。

2、语法格式

for i in 一组值:          #一组值可以是除数字以外的基本类型
	要执行的操作

3、for循环操作实例

for循环可遍历除数字以外的数据基本类型,如字符串,元组,列表,集合,字典,文件等。我们还可以通过序列索引进行遍历。具体操作如下所示:

1>for循环遍历字符串
#for循环遍历字符串
str='abc'
for i in str:
	print(i)

结果如下:
a
b
c
2>for循环遍历元组
tup1=(31,29,31,30,31,30,31,31,30,31,30,31)
for i in tup1:
    print(i,end=' ')   #end=' ' 不换行
 
结果如下:
31 29 31 30 31 30 31 31 30 31 30 31
3>for循环遍历列表
Fruits=['apple','orange','banana','grape']
for fruit in Fruits:
    print(fruit)
 
结果如下:
apple
orange
banana
grape
4>for循环遍历集合
set1={'lisi',180,60,99}    
for i in set1:
    print(i)
 
结果如下:
lisi
99
180
60
5> for 循环遍历字典

注意:Python 字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。

dict1={'name':'lisi','height':180,'weight':60,'score':99}
for k,v in dict1.items():    #遍历字典dict1中的键值对  
    print(k,'--->',v)
print('--------------')  
for k in dict1.keys():       #遍历字典dict1中所有的键
    print(k)
print('--------------')     
for v in dict1.values():     #遍历字典dict1中所有的值 
    print(v)
 
结果如下:
name ---> lisi
height ---> 180
weight ---> 60
score ---> 99
--------------
name
height
weight
score
--------------
lisi
180
60
99
6> 遍历文件
for content in open("1.txt"):   #当前目录下的1.txt
    print(content)
 
结果如下:
朝辞白帝彩云间,千里江陵一日还。
 
 
 
两岸猿声啼不住,轻舟已过万重山。
7> for循环实现1到9连乘
sum = 1
for i in list(range(1,10)):   #range序列含左不含右
    sum *= i
print("1*2...*9 =",sum)
 
结果如下:
1*2...*9 = 362880
8> 除以上之外,我们还可以通过序列索引进行遍历

range的用法: range(5)——>1个参数,从0开始到5不包含5(即含左不含右);range(5,15)——>2个参数,从5开始到15不包含15;range(5,55,5)——>3个参数,从5开始到55不包含55,最后的参数5是步长。

下面实例我们使用内置函数len()和range();函数len()返回列表的长度,即元素个数。range返回一个整数序列。

fruits = ['banana','apple','mango','grape']
for index in range(len(fruits)):
   print('当前水果 :', fruits[index])
 
结果如下:
当前水果 : banana
当前水果 : apple
当前水果 : mango
当前水果 : grape

二、while循环

while循环,只要条件满足,就不断循环,条件不满足时退出循环。其中,执行语句可以是单个语句或者语句块;判断条件可以是任何表达式,任何非0,或非空(null)的值均为True。

注意:while循环的判断条件是boolean类型的表达式!

1、语法格式

while  判断条件:        #判断条件boolean类型的表达式
	执行语句

2、while循环操作实例:

1> 求1到100的偶数和
n=1
sum=0
while n <= 100:
    if n%2==0:
       sum += n
    n=n+1
print('1到100的偶数和为:',sum)
 
结果如下:
1到100的偶数和为: 2550

2> 打印1-100以内所有3和5的倍数,3的倍数以及5的倍数:

n=1
bei3_5=[]
bei3=[]
bei5=[]
while n<=100:
    if (n%3==0)and(n%5==0):
        bei3_5.append(n)
    elif n%3==0:
        bei3.append(n)
    elif n%5==0:
        bei5.append(n)
    n=n+1
else:                                     #while...else 在条件语句为false时执行else块
    print('1-100内是3和5的倍数有:',bei3_5)
    print('1-100内是3的倍数有:',bei3)
    print('1-100内是5的倍数有:',bei5)
    print('循环结束')
 
结果如下:
1-100内是3和5的倍数有: [15, 30, 45, 60, 75, 90]
1-100内是3的倍数有: [3, 6, 9, 12, 18, 21, 24, 27, 33, 36, 39, 42, 48, 51, 54, 57, 63, 66, 69, 72, 78, 81, 84, 87, 93, 96, 99]
1-100内是5的倍数有: [5, 10, 20, 25, 35, 40, 50, 55, 65, 70, 80, 85, 95, 100]
循环结束

总结:for循环和while循环,两者的相同点在于都能循环做一件重复的事情;不同点在于,for循环是在序列穷尽时停止,while循环是在条件不成立时停止。

三、嵌套循环

Python语言允许在一个循环体里面嵌入另一个循环。可以for(while)循环嵌套for(while)循环,也可以在循环体内嵌入其他的循环体,如在while循环中可以嵌入for循环,反之,你可以在for循环中嵌入while循环。

1> for循环嵌套for循环——>打印九九乘法表
for i in range(1,10):
    for j in range(1,i+1):
        print(j,'*',i,'=',(j*i),end='\t')
    print()

结果如下:
1 * 1 = 1
2 * 1 = 2       2 * 2 = 4
3 * 1 = 3       3 * 2 = 6       3 * 3 = 9
4 * 1 = 4       4 * 2 = 8       4 * 3 = 12      4 * 4 = 16
5 * 1 = 5       5 * 2 = 10      5 * 3 = 15      5 * 4 = 20      5 * 5 = 25
6 * 1 = 6       6 * 2 = 12      6 * 3 = 18      6 * 4 = 24      6 * 5 = 30      6 * 6 = 36
7 * 1 = 7       7 * 2 = 14      7 * 3 = 21      7 * 4 = 28      7 * 5 = 35      7 * 6 = 42      7 * 7 = 49
8 * 1 = 8       8 * 2 = 16      8 * 3 = 24      8 * 4 = 32      8 * 5 = 40      8 * 6 = 48      8 * 7 = 56      8 * 8 = 64
9 * 1 = 9       9 * 2 = 18      9 * 3 = 27      9 * 4 = 36      9 * 5 = 45      9 * 6 = 54      9 * 7 = 63      9 * 8 = 72      9 * 9 = 81

猜你喜欢

转载自blog.csdn.net/weixin_45116657/article/details/93745247