文章目录

  • 1、循环介绍
  • 2、while循环的使用
  • 3、continue和break
  • 4、死循环
  • 5、循环嵌套
  • 6、循环嵌套案例:
  • 7、for循环
  • 8、for循环中的break 和continue
  • 9、for循环嵌套

1、循环介绍

  • 有条件的重复做相似的事情
  • Python中循环分为while 和for

2、while循环的使用

  • 格式: while 条件: 循环体

  • while 循环的三个必要元素

    • while 关键字
    • 循环条件
    • 循环体
  • 构造循环要想的四件事

    • 初始状态
    • 循环条件
    • 要重复做的事情
    • 循环控制
  • 案例

# 需求:求1-100的累加和# 初始状态
i = 1
sum1 = 0
while i <= 100:# 求累加和# sum1 = sum1 + isum1 += i# 为下一次循环做准备,自增i += 1print('1-100的累加和是%d' % sum1)
# 需求:输出10以内的所有奇数# 初始状态
i = 1
# 循环结束条件
while i <= 10:# 要循环做什么if i % 2 != 0:print(i)# 为下一次循环做准备  自增i += 1
# 需求: 1-100的偶数累加和
# 初始状态:
i = 1
sum1 = 0  # 累加器
# 循环条件
while i <= 100:# 要做什么?if i % 2 == 0:sum1 += i# 为下一次循环做准备  累加i += 1print(f'1-100的偶数累加和是{sum1}')# 练习 :计算 1-20 的奇数累乘积.
# 初始状态
i = 1
mult1 = 1
# 循环条件
while i <= 20:# 要做什么if i % 2 != 0:mult1 *= i# 自增i += 1
print(f'1-20的奇数累乘积是{mult1}')

3、continue和break

  • continue :跳出本次循环,进入下一次循环
# continue: 跳出本次循环,继续执行下一次循环(不会影响循环的次数)# 需求: 吃苹果,一个五个.吃到第三个 有个虫子,扔掉第三个,继续吃第四个第五个
# 注意,在循环结构中使用continue要在continue之前添加循环变量的自增,否则可能会造成无法跳出循环(死循环)
i = 1
while i <= 5:if i == 3:print('这个苹果有虫子,给女朋友吃吧')i += 1continueprint(f'我吃了{i}个苹果')i += 1# 写法二
# 可以先进行自增,再进行i的调用,此时,就不用担心continue的问题了
i = 0
while i < 5:i += 1if i == 3:print('这个苹果有虫子,给女朋友吃吧')continueprint(f'我吃了{i}个苹果')# 输出1-10 的数字
# 在循环体中,continue所在的分支中,continue之后不要书写任何代码,永远不可能被执行
i = 1
while i <= 10:print(i)continuei += 1# break 和continue只能用在循环体中
# if True:
#     print('123')
#     break
#     continue
  • break : 结束当前循环,后续循环次数不再执行
# break:跳出循环,终止此次循环之后的所有循环# 吃苹果案例   吃到第三个 吃出半条虫子,后续无心再吃
i = 1
while i <= 5:print(f'我吃了{i}个苹果')if i == 3:print('吃不下了 虫子个太大吃撑了')# break之后的所有代码均不执行breaki += 1print('吃苹果完成')# 输出1-10 十个数字
# 在循环体中,break所在的分支中,break之后不要写任何代码,不可能执行
# i = 1
# while i <= 10:
#     print(i)
#     break
#     i += 1
  • break 和continue 只能在循环体中使用

4、死循环

  • 死循环不是bug,是程序的一种特殊运行状态,程序员可以用死循环做很多事情
  • 死循环就是循环条件永远满足的一种循环
# 什么是死循环?  循环条件永远满足,可以持续循环的代码
# 死循环是bug么?  死循环不是bug可以利用死循环做很多事情
# 死循环可以退出么?  可以,死循环就是循环条件永远成立,但是在程序内部可以有很多方法跳出循环,  break# 猜拳游戏  (死循环进阶版)
# 需求:在原来猜拳游戏的基础上,让电脑和玩家进行猜拳,一方达到3分则退出游戏,宣布获胜方,否则游戏持续进行# 死循环
player_score = 0
computer_score = 0
while True:# 获取玩家拳型player1 = int(input('请输入您要出的拳型:(0 石头  1 剪刀  2 布)'))# 获取电脑随机拳型import randomcomputer = random.randint(0, 2)result = player1 - computer# 拳型比对     # 输出结果if result == -1 or result == 2:player_score += 1print('玩家获胜')elif result == 0:print('平局')else:computer_score += 1print('电脑获胜')print(f'当前比分为{player_score}:{computer_score}')if player_score >= 3:print('玩家取得最终胜利')breakif computer_score >= 3:print('电脑取得最终胜利')break

5、循环嵌套

  • 循环体中包含其他循环结构的状态叫做循环嵌套
  • 外层循环执行一次,内层循环将全部执行完成
# 需求:锻炼身体:跑步四圈,做深蹲10分钟,此为一组训练,要做三组
# 在循环嵌套中,外层循环执行一次,内层循环全部执行完成
# 做三组训练的初始状态
i = 1
# 做三组训练后退出循环
while i <= 3:print(f'第{i}组训练开始')# 跑圈初始状态j = 1# 跑四圈后退出循环while j <= 4:print(f'我跑了{j}圈')# 内层循环自增变量j += 1print('我做了10分钟深蹲')# 外层循环自增变量i += 1
  • 注意:break 和continue 控制的是当前所在的循环结构
# 需求:锻炼身体:跑步四圈,做深蹲10分钟,此为一组训练,要做三组
# break 和continue 只能控制本身所在的循环结构
# 在循环嵌套中,外层循环的break和cotinue可能会影响内层循环, 但是内层循环中的break和continue不会影响外层循环# 做三组训练的初始状态
i = 1
# 做三组训练后退出循环
while i <= 3:print(f'第{i}组训练开始')# 跑圈初始状态j = 1# 跑四圈后退出循环if  i== 2:print('我女朋友来找我了 先休息一下')i += 1continuewhile j <= 4:print(f'我跑了{j}圈')# 内层循环自增变量if j ==3 and i == 2:print('太累了 休息下')breakj += 1print('我做了10分钟深蹲')# 外层循环自增变量i += 1

6、循环嵌套案例:

# 需求:打印五行五列的一个*组成的矩形
"""
* * * * *
* * * * *
* * * * *
* * * * *
* * * * *
"""# 打印一行*号,使用while循环实现?
# i = 1
# while i <= 5:
#     print('*', end=' ')
#     i += 1# 使用while循环将刚才打印的* 输出5次,每次分别占用一行
# i 控制外层循环的次数
i = 1
while i <= 5:# j 控制内层循环的次数j = 1while j <= 5:# 打印* 后更换结束符, 防止打印后自动换行print('*', end=' ')j += 1# 一行结束后,强制换行print()i += 1# 结论:外层循环控制的是行数, 内层循环控制的是列数 ,外层循环的i变量就是打印时的行号,内层循环的j变量就是打印列时的列号# 如果现在要打印6行8列的矩阵  i = 6  j = 8
# 使用while语句打印三角形,第一行一个* 第二行两个* .....
"""
*
* *
* * *
* * * *
* * * * *
"""# 外层循环的数量:5 该图形有5行,所以i <= 5
# 内层循环的数量:根据行号进行设定,  第一行 j <= 1  第二行 j <= 2.......i = 1
while i <= 5:j = 1while j <= i:print('*', end=' ')j += 1print()i += 1
# 使用while循环的嵌套打印九九乘法表
"""
1 * 1 = 1
1 * 2 = 2  2 * 2 = 4
.......
"""# 打印一个九行九列的直角三角形
# 外层循环控制行
i = 1
while i <= 9:# 内层循环控制列j = 1while j <= i:# 九九乘法表中,公式规则就是  列 * 行 = 值print(f'{j} * {i} = {i * j}', end='\t')j += 1print()i += 1

7、for循环

  • for循环时遍历数据序列,每次获取一个元素,直到元素全部被获取,结束循环。
# for循环的语法结构
"""
for 临时变量 in 数据序列(容器):要重复执行的代码
"""
# 循环逻辑:for循环会依次提取数据序列中的元素,每次提取一个,放入临时变量中储存,在循环体中可以使用临时变量,数据序列中有多少个元素,for循环的循环体将会被执行多少次str1 = 'helloPython'
# 循环遍历str1  遍历:依次提取每一个元素
for i in str1:print(i)# for循环和while循环的区别:
# 1/for循环数据序列,元素提取完成自动停止,不需要使用循环变量
# 2/for循环不需要循环条件,所以也不会有循环条件成立喝不成立的说法
# 3/在开发中我们使用for循环的比例居多,while循环主要是构造死循环结构
# 4/for循环需要配合容器类型(数据序列)进行使用

8、for循环中的break 和continue

  • 和while循环中使用方法一致

    • break:打破循环,后续循环不再执行
    • continue: 结束本次循环,进入下一次循环,不会影响循环次数
# break 打破循环,后续循环不会执行
str1 = 'hello'
for i in str1:if i == 'e':print('遇到e了,结束循环')breakprint(i)# continue 跳出本次循环,进入下一次循环,不会影响循环次数
str1 = 'hello'
for i in str1:if i == 'e':print('遇到e了,进入下一次循环')continueprint(i)'''
案例:用for循环实现用户登录
① 输入用户名和密码
② 判断用户名和密码是否正确(username='admin',password='admin888')
③ 登录仅有三次机会,超过3次会报错
'''
# 循环三次
for i in range(3):# 获取用户名和密码username = input('请输入您的用户名:')password = input('请输入您的密码:')# 比对用户名和密码if username == 'admin' and password == 'admin888':print('登录成功')breakelse:print('用户名或密码错误')if i == 2:print('三次机会已经用完,账号被冻结')

9、for循环嵌套

# 打印一个直角三角形for i in range(1, 10):for j in range(1, i+1):print(f'{j} * {i} = {i * j}', end='\t')print()# 在for循环之外还可以调用i 或者j 么? 能# 在Python中for循环中创建的临时变量可以被外界调用,但是不要用
# print(i)
# print(j)
# 使用for循环临时变量可能会出现报错
# for i in range(1,1):
#     print(123)# 当for循环执行后,没有一次进入循环体内,也就是遍历的序列是一个空序列,那么临时变量将不会被定义,所以不要使用
# NameError: name 'i' is not defined
# print(i)

python基础编程(Ⅲ)相关推荐

  1. python基础编程练习题_Python随笔18:Python基础编程练习题1~2

    Python基础练习题1 求100之内自然数中最大的能被17整除的数. 解答:既然是求100以内的最大的数,可以使用range函数,且反向遍历.我们不必遍历完范围之内所有的数,因为第一个就是最大的,也 ...

  2. 无锡学python_无锡python基础编程好学吗

    无锡python基础编程好学吗 来源:无锡童程童美少儿编程培训学校      发布时间:2020/12/14 11:44:46 无锡python基础编程好学吗?近几年来人工智能.APP.云端.大数据. ...

  3. Python基础编程入门实例:恺撒密码

    文章目录 Python基础编程入门实例:恺撒密码 一.什么是恺撒密码 二.程序运行环境 三.恺撒密码:加密 3.1.恺撒密码加密实例程序 3.2.恺撒密码加密实例程序运行结果 四.恺撒密码:解密 4. ...

  4. 大数据第二阶段Python基础编程学习笔记(待完善)

    大数据第二阶段Python基础编程学习笔记(待完善) 第一章 Python基础语法 3.8 1-1Python概述 python基础部分: ●Python基础语法: 标识符,关键字,变量,判断循环.. ...

  5. python基础编程的ppt,Python基础编程.ppt

    <Python基础编程.ppt>由会员分享,可在线阅读,更多相关<Python基础编程.ppt(41页珍藏版)>请在人人文库网上搜索. 1.1,Python OOP 基础周鹏, ...

  6. Python基础编程——算术运算

    由于工作需要,小编最近开始学习Python这门编程语言.Python基础编程,将借助Python解释器以及Python脚本完成.小编在进行Python编程时,使用的是Python 3.9.0版本,不同 ...

  7. python练习_Python随笔31:Python基础编程练习题27~28

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题27:与7无关的数 如果一个正整数,它能被7整除或者它的十进制表示法中某个位数上的数字为 ...

  8. python入门编程题库-Python随笔30:Python基础编程练习题25~26

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. 注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题25:合并两个列 ...

  9. python split函数 空格_Python随笔29:Python基础编程练习题23~24

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题23:求三角形斜边上的高 输入直角三角形两直角边a.b的值,输出斜边上的高,最后结果使用 ...

  10. python基础编程练习_python基础练习之几个简单的游戏

    文档介绍 利用python写"猜数字","猜词语","谁是卧底"这三个游戏,从而快速掌握python编程的入门知识,包括python语法/列 ...

最新文章

  1. iptables mangle表研究(未完)
  2. Java学习之Hello World 第一个小程序
  3. 东方卫视演得泰坦机器人_机器人“舞林大会”燃爆全民定向运动大赛
  4. Android中AES256加密的实现
  5. ubuntu-Linux下如何安装Tensorflow?
  6. 为什么前端开发这么不稳定?
  7. 不同域名cookie共享_cookie在二级域名间共享完成sso
  8. 访问模型参数,初始化模型参数,共享模型参数方法
  9. jieba库词频统计_运用jieba库进行词频统计
  10. for 循环 与forEach 里面return 的区别
  11. 短信接口怎么对接?看完这篇文章你就知道了!
  12. 语音信号处理:预处理【预加重、分帧、加窗】
  13. 创意字体设计,创意思路哪里找
  14. Guava base -- Splitter
  15. 嵌入式系统C语言编程基础
  16. 微信H5页面禁止分享朋友和复制链接
  17. 初中生直升高中定下来了?预计2023年全面落实?教育部的回应来了
  18. 如何用python画流程图_Markdown笔记:如何画流程图
  19. Tomcat设置登录账号密码
  20. 图论期末复习(《图论机器应用》——朴月华)

热门文章

  1. vue的组件通信,父子/子孙组件传参和方法调用
  2. 神奇的口袋——Java
  3. 机器学习之信用卡欺诈检测(零基础,附数据及详细python代码2022年Tensorflow2)
  4. norflash 分析
  5. 【C语言】BC102 带空格直角三角形图案(DAY 9)
  6. break语句和continue语句的区别
  7. 详解三大专利类型之首:发明专利
  8. 《计算机网络技术》第四章课后习题答案(全)
  9. MySql下载安装initialize specified but the data directory has files in it. Aborting.由于找不到VCRUNTIME140_1.d
  10. 智合同丨AI智能审核工具