当前位置:   article > 正文

第四章 python中的循环结构_python循环结构

python循环结构

目录

一、python中的内置函数

1、 range(stop)

2、range(start,stop)

3、range(start,stop,step)

4、range的实际应用

 二、python中的循环结构

1、while循环

2、for-in循环

三、python中的二重循环----嵌套

1、python打印直角三角形

2、python使用for循环打印九九乘法表

3、python使用while循环打印九九乘法表

4、嵌套中的流程控制break、continue


一、python中的内置函数

        内置函数range()可创建一个整数列表,一般用在for循环中。range()的三种创建方式:

1、 range(stop)

  1. r = range(10) #默认从0开始,默认相差1为步长
  2. print(r) #range(0,10)
  3. print(list(r)) #用于查看range对象中的整数数列 ---->list是列表的意思

range(0, 10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2、range(start,stop)

  1. r = range(1,10) #指定初始值为1,到10结束不包括10,默认步长为1
  2. print(r) #[1,2,3,4,5,6,7,8,9]

 range(1, 10)
[1, 2, 3, 4, 5, 6, 7, 8, 9]

3、range(start,stop,step)

  1. r = range(1,10,2) #指定从1开始,到10结束,步长(间隔)为2
  2. print(list(r)) #[1,3,5,7,9]

 [1, 3, 5, 7, 9]

4、range的实际应用

        多用在循环或者数列列表中

  1. '''1-100之间的偶数和'''
  2. print(sum(range(1,101,2)))

补充:

in与not in 在列表中的操作

  1. r = range(1,10)
  2. print(3 in r) #True
  3. print(10 not in r) #True

range()函数的优点在于不论存储的数据多长,它所占有的存储空间都是相同的,因为它只存储三个值 start,stop,step。

  1. print(range(1,10,1))
  2. print(range(1,1000,1))
  3. 这两个range中一个存储的1-10的整数个数,另一个存储1-1000的整数个数,但是他们的存储空间相同

 二、python中的循环结构

1、while循环

当不满足循环表达式条件时退出循环,执行n次,判断n+1次

初始化变量值

while 判断条件 :

        执行语句

        改变变量

      使用while循环时注意它的格式

  1. '''计算0-4之间的总和'''
  2. a = 0
  3. s = 0 #定义初始化变量
  4. while a <= 4 : #条件判断
  5. s+=a #循环条件执行体
  6. a+=1 #改变变量 python中的a++
  7. print(s) #当print进行缩进,会依次打印出每一次循环的值

  1. '''1-100之间的偶数和'''
  2. i = 1
  3. sum = 0
  4. while i<=100 :
  5. if i%2 == 0 :
  6. i += 1
  7. print(sum)
  1. '''1-100之间的奇数和'''
  2. i = 1
  3. n = 0
  4. while i<=100 :
  5. if i%2 :
  6. n += i
  7. i += 1
  8. print(n)

对于求奇数和,由于0的布尔值为False,当i%2==0时结果为False,不会执行下一条语句; 当i%2==1时结果为True继续执行求和运算,因此求偶数和可以有另一种表达方式: not bool(i%2) 对i%2的布尔型进行取反操作。

2、for-in循环

        for循环可以遍历任何序列的项目,如一个列表或者一个字符串,in表达从(字符串,序列)中依次取值,又称为遍历,要注意for-in循环的操作对象必须是可迭代对象

for 变量 in 可迭代对象:

        代码块

  1. for item in 'python':
  2. print(item)
  3. #注意是依次取值, 定义一个变量item依次从字符串‘python’中取出每一个字母给item进行输出
  4. #for-in循环,先从‘python’中取出p赋给item,在进行打印输出,再进行下一次取值输出

p
y
t
h
o
n

在for-in循环中经常使用range()产生一个整数序列,也是一个可迭代对象

  1. for i in range(10): #依次打印了0-9
  2. print(i)
不使用变量可以用 下划线'_'代替控制循环
  1. for _ in range(5):
  2. print('人生苦短,我用python') #打印五次
  1. print('-----------使用for循环计算1-100之间的偶数和--------------')
  2. sum = 0
  3. for i_1 in range(1,101):
  4. if not bool(i_1%2):
  5. sum+=i_1
  6. print(sum)

注意:python中具有严格的格式缩进,对于上述例题,如果将print与if语句对其,则print语句就会进入循环,就会依次打印每一次的值

  1. i = 1
  2. sum = 0
  3. while i<=100 :
  4. if i%2 == 0 :
  5. sum += i
  6. i += 1
  7. print(sum) #print缩进,会进入循环

0
2
2
6
6
12

.......

2450

2550           从0开始依次相加输出结果

三、python中的二重循环----嵌套

python语言允许在一个循环体里嵌入另一个循环

  1. for i in range(1,4): #外面表示行数,执行三次,一次一行
  2. for j in range(1,5): #里面表示一行打印的个数
  3. print('*',end='\t')
  4. print() #一行四个*都打印完跳出循环,即换行输出

*    *    *    *    
*    *    *    *    
*    *    *    *   

  end=''表示当打印完*号后不换行输出,   在使用 \t 后则在*号后增加一个制表位。

1、python打印直角三角形

  1. for i in range(1,10):
  2. for j in range(i):
  3. print('*',end='\t')
  4. print()

思路:第一个for表示打印的行数,第二个for循环的range以i为参数,实现第一行打印一个,第二行打印两个...

2、python使用for循环打印九九乘法表

  1. for i in range(1,10):
  2. for j in range(1,i+1):
  3. print( i,'*',j,'=',i*j,end='\t')
  4. 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

......

第三行print中的逗号可以使用+号代替,但要注意+号的对象是字符串类型,因此必须使用str()强制转换

print( str(i)+'*'+str(j)+'='+str(i*j),end='\t')

3、python使用while循环打印九九乘法表

  1. i = 1
  2. while i<=9 :
  3. j = 1
  4. while j<=i:
  5. print(str(i)+'*'+str(j)+'='+str(i*j),end='\t')
  6. j+=1
  7. print()
  8. i += 1

使用while循环要注意 每一行打印的数量总是小于等于该行数 因此j<=i

4、嵌套中的流程控制break、continue

  1. for i in range(5):
  2. for j in range(1,10):
  3. if j%2 == 0:
  4. break #break终止循环
  5. #continue #continue能打印出与条件相反的结果
  6. print(j,end='\t')
  7. print()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/527482?site
推荐阅读
相关标签
  

闽ICP备14008679号