python:循环用法

简介: python:循环用法

循环


——反复做同一件事的情况,称为循环


range()函数的使用


——用于生成一个整数序列

  • 创建range对象的三种方式:
  1. range(stop)——起始值默认为0,参数为结束值,步长为1
  2. range(start,stop)——起始值&结束值,不含结束值,步长为1
  3. range(start,stop,step)——起始值&结束值&步长
'''第一种创建方式,只有一个参数(小括号中只给了一个数)'''
r=range(10)   #[0, 1, 2, 3, 4, 5, 6, 7, 8, 9],默认从0开始,默认相差1称为步长
print(r)      #range(0, 10)
print(list(r))   #用于查看range对象中的整数序列   -->list是列表的意思  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
'''第二种创建方式,给了两个参数(小括号中给了两个参数)'''
r=range(1,10)   #指定了其实函数,从1开始,到10结束(不包含10),默认步长为1
print(list(r))  #[1, 2, 3, 4, 5, 6, 7, 8, 9]
'''第三种创建方式,给了三个参数(小括号中给了三个参数)'''
r=range(1,10,2)   #range(起始值,结束值,步长)
print(list(r))  #[1, 3, 5, 7, 9]
'''判断指定的整数,在序列中是否存在——in,not in'''
print(10 in r)   #False, 10不在当前的r这个整数序列中
print(9 in r)    #True,9在当前的r这个序列中
print(10 not in r)   #True
print(9 not in r)    #False


  • range类型的优点:
    不管序列多长,range对象存储空间相同,仅需要储存start,stop和step;


while循环

  • 语法结构
    while 条件表达式:
    条件执行体(循环体)
a=1
#判断条件表达式
while a<10:
    #条件执行体
    print(a)
    a+=1
  • 选择结构的if与循环结构while的区别
  1. if判断一次,条件为True执行一行
  2. while判断N+1次,条件为True执行N次
  • 4步循环法:
  1. 初始化变量
  2. 条件判断
  3. 条件执行体(循环体)
  4. 改变变量
    总结: 初始化变量与条件判断的变量与改变的变量为同一个
'''
练习题目:
计算0-4之间的累加和
'''
sum=0   #用存储累加和
'''初始化变量为0'''
a=0
'''条件判断'''
while a<5:
    '''条件执行体(循环体)'''
    sum+=a    #sum+a=sum
    '''改变变量'''
    a+=1
print('和为',sum)
'''题目:
计算1-100之间偶数的和'''
#做法一:
sum=0   #用于存储偶数和
#初始化变量
a=1
#条件判断
while a<=100:
    #条件执行体(求和)
    #条件判断是否是偶数
    if a%2==0:
        sum+=a
    #改变变量
    a+=1
print('1-100之间的偶数和',sum)
#做法二:用bool值筛选偶数
print(bool(0))
sum=0   #用于存储偶数和
#初始化变量
a=1
#条件判断
while a<=100:
    #条件执行体(求和)
    #条件判断是否是偶数
    if not bool(a%2):   # %取余数,bool(0)为FALSE
        sum+=a
    #改变变量
    a+=1
print('1-100之间的偶数和',sum)

for-in循环

  • 语法结构
    for 自定义变量 in 可迭代对象
'''现接触的可迭代对象:字符串&序列'''
for item in 'Python':
    print(item)   #从Python中字母依次取出赋值给item依次输出
'''range()产生一个整数序列,也是一个可迭代对象'''
for i in range(10):
    print(i)
'''如果在循环体中不需要使用到自定义变量,可将自定义变量写为“ _ ”'''
for _ in range(5):
    print('人生苦短,……')    #将‘人生苦短,……’输出5遍
'''题目:
使用for循环,计算1-100之间的偶数和
'''
#做法一:
sum=0  #用于储存偶数和
for item in range(1,101):
    if item%2==0:
        sum+=item
print('1-100之间的偶数和为',sum)
#做法二:用bool
sum=0  #用于储存偶数和
for item in range(1,101):
    if not bool(item%2):
        sum+=item
print('1-100之间的偶数和为',sum)
'''题目:
    使用for in 循环,输出100-999之间的水仙花数
    DEF水仙花数:个位数的三次方+十位数的三次方+百位数到三次方=该数
    EX:153=3*3*3+5*5*5+1*1*1
'''
for item in range(100,1000):
    ge=item%10   #个位
    shi=item//10%10   #十位
    bai=item//100   #百位
    #print(bai,shi,ge)
    #判断:
    if ge**3+shi**3+bai**3==item: 
        print(item)   #结果为:153  370  371  407

break、continue与else语句

  1. 流程控制语句break——用于结束循环结构,通常与分支结构if一起使用
  • 语法结构
    for …… in ……: |或| while(条件):
    ……
    if ……:
    break
'''题目:
从键盘录入密码,最多录入三次,如果正确就结束循环
'''
#——————for循环
for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='0000':  #注意引号
        print('密码正确')
        break
    else:
        print('密码错误')
#——————while循环
'''初始化变量'''
a=0
'''条件判断'''
while a<3:
    '''条件执行体(循环体)'''
    pwd=input('请输入密码:')
    if pwd=='0000':         #注意引号
        print('密码正确')
        break
    else:
        print('密码错误')
    '''改变变量'''
    a+=1
  1. 流程控制语句continue——用于结束当前循环,进入下一次循环,通常与分支结构中的if一起使用
  • 语法结构
    for …… in ……: |或| while(条件):
    ……
    if ……:
    continue
'''题目:
要求使用“continue”输出1-50之间所有5的倍数,5,10,15,20,……
'''
#5的倍数共同点: 和5的余数为0
#什么样的数不是5的倍数:1,2,3,4,6,7,8,9,……——和5的余数不为0的数都不是5的倍数
print('---------不使用continue------------')
for item in range(1,51):
    if item%5==0:
        print(item)
print('----------使用continue------------')
for item in range(1,51):
    if item%5!=0:
        continue
    print(item)
  1. 流程控制语句else
  • 语法结构
    for……else; while……else
'''for  ……  else …… '''
for item in range(3):
    pwd=input('请输入密码:')
    if pwd=='0000':
        print('密码正确')
        break
    else:
        print('密码错误')
else:
    print('对不起,三次密码均输入错误')
'''while …… else ……'''
a=0
while a<3:
    pwd=input('请输入密码:')
    if pwd=='0000':
        print('密码正确')
        break
    else:
        print('密码错误')
    '''改变变量'''
    a+=1
else:
    print('对不起,三次密码均输入错误')

嵌套循环

  1. 嵌套循环——循环结构中又嵌套了另外的完整的循环结构,其中内层循环作为外层循环的循环体执行
  • 注意:外层循环执行一次,内层循环执行完整一轮!!
'''输出一个三行四列的矩形'''
for i in range(1,4):
    for j in range(1,5):
        print('*',end='\t')   #不换行输出
    print()   #换行
'''输出九九乘法表'''
for i in range(1,10):
    for j in range(1,i+1):
        print(i,'*',j,'=',i*j,end='\t')
    print()
  1. 二重循环中的break和continue
    ——内层循环中的break & continue 只用于控制内层循环,对外层循环没有影响
    break & continue 只对内层循环作用,若内层循环满足break 或 continue ,返回到外层循环重新执行
for i in range(5):  #代表外层循环要执行5次
    for j in range(1,11):
        if j%2==0:
            break   #与2的余数=0,退出循环;!=0时,打印输出j
        print(j)
for i in range(5):  #代表外层循环要执行5次
    for j in range(1,11):
        if j%2==0:
            continue
        print(j,end='\t')
    print()  #换行


总结


  • range()函数——生成整数序列、起始值默认为0、步长默认为1
  • 循环结构:
  1. ——while——用于次数不固定的循环、初始条件不成立,一次都不执行
  2. ——for-in——用于遍历可迭代对象(字符串,range()产生的序列)
  • break & continue & else
  1. ——break——退出当前循环结构
  2. ——continue——结束当前循环进入下一次循环
  3. ——else——if…else; while…else; for…else
  • 嵌套循环——外层循环执行一次,内层循环执行完整一轮; while与for-in互相嵌套
相关文章
|
2月前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`&quot;&quot;&quot;` 或 `&#39;&#39;&#39;`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
107 2
|
2月前
|
开发工具 Python
[oeasy]python043_自己制作的ascii码表_循环语句_条件语句_缩进_indent
本文介绍了如何使用Python制作ASCII码表,回顾了上一次课程中`print`函数的`end`参数,并通过循环和条件语句实现每8个字符换行的功能。通过调整代码中的缩进,实现了正确的输出格式。最后展示了制作完成的ASCII码表,并预告了下一次课程的内容。
33 2
|
2月前
|
Python
在 Python 中实现各种类型的循环判断
在 Python 中实现各种类型的循环判断
42 2
|
2月前
|
Python
Python 中,循环判断
Python 中,循环判断
63 1
|
2月前
|
人工智能 Python
[oeasy]python039_for循环_循环遍历_循环变量
本文回顾了上一次的内容,介绍了小写和大写字母的序号范围,并通过 `range` 函数生成了 `for` 循环。重点讲解了 `range(start, stop)` 的使用方法,解释了为什么不会输出 `stop` 值,并通过示例展示了如何遍历小写和大写字母的序号。最后总结了 `range` 函数的结构和 `for` 循环的使用技巧。
45 4
|
3月前
|
Java 索引 Python
【10月更文挑战第19天】「Mac上学Python 30」基础篇11 - 高级循环技巧与应用
本篇将介绍更深入的循环应用与优化方法,重点放在高级技巧和场景实践。我们将讲解enumerate()与zip()的妙用、迭代器与生成器、并发循环以及性能优化技巧。这些内容将帮助您编写更高效、结构更合理的代码。
76 5
|
3月前
|
数据安全/隐私保护 Python
Python循环语句
【10月更文挑战第7天】
|
3月前
|
缓存 测试技术 开发者
深入理解Python装饰器:用法与实现
【10月更文挑战第7天】深入理解Python装饰器:用法与实现
30 1
|
3月前
|
传感器 大数据 数据处理
深入理解Python中的生成器:用法及应用场景
【10月更文挑战第7天】深入理解Python中的生成器:用法及应用场景
122 1
|
3月前
|
Python
深入了解Python中星号变量的特殊用法
深入了解Python中星号变量的特殊用法
38 0