当前位置: 首页 > news >正文

Python基础-循环语句

目录

while循环练习

 while循环嵌套练习

for循环

for循环练习

 for循环嵌套

 for循环嵌套练习

continue与break 

循环语句综合案例:发糖果


本篇针对有c语言或其他语言编程基础的,主要展示Python循环语句编程的一些不同语法。

先来看一个简单的while循环案例,求1~100累加的和 。

i=1
s=0
while i<=100:s+=ii+=1
print(s)

while循环练习

生成1~100的随机数,循环猜测直到猜对,并输出猜测次数 

import random
num=random.randint(1,100)
flag= True  # 注意为大写
count=0
while flag:count+=1guss_num= int(input("请猜数字"))if guss_num==num:print("你猜对了")flag=Falseelse:if guss_num>num:print("你猜大了")else:print("你猜小了")
print(f"共猜测了{count}次")

 while循环嵌套练习

  打印九九乘法表,每一行打印一个不换行,用end=' ' ,对齐用/t,每输 出一行,内层结束

i=1
while i<=9:j=1while j<=i:print(f"{j}*{i}={j*i}\t",end='')j+=1i += 1print()

for循环

for循环遍历的内容叫序列,如下案例,统计一个字符串中字母a的个数。

count=0
name= "itheima is a brand of itcast"
for t in name:if t== 'a':count+=1
print(count)

   t代表临时变量, in 后面是序列内容,注意临时变量作用域是在循环内部的,虽然在外部可以直接访问,但不符合规范,如下代码。

# 直接在外部访问临时变量
for x in range(5):print(x)
print(x) # 这里的x是临时变量,可以被访问打印出4# 修改,先在外部定义
x=0
for x in range(5):print(x)
print(x) 

  展示range的三种基础用法。

# 打印0,1,2,3,4,5,6,7,8,9
for x in range(10):print(x,end='')# 打印 5,6,7,8,9
for x in range(5,10):print(x,end='')# 打印5,7,9
for x in range(5,10,2):print(x,end='')

for循环练习

统计1~100偶数个数。

# 统计0~100多少个偶数
num=101
count =0
for x in range(1,num):if x%2==0:count+=1
print(count)

 for循环嵌套

注意:空格缩进确定层次关系!!!

# 每天都吃10颗糖,吃到第100天长蛀牙i=0
for i in range(0,100):print(f"吃糖的第{i+1}天")j=0for j in range(0,10):print(f"吃的第{j+1}颗糖")
print(f"吃到第{i+1}天,长蛀牙")

 for循环嵌套练习

修改前面的用for循环输出九九乘法表

for i in range(1,10):for j in range(1,i+1):print(f"{i}*{j}={i*j}\t",end='')print()

continue与break 

 continue与c语言的使用规则差不多,控制范围为所在的循环,来看如下代码,

#continue的基本用法for i in range(1,5):print("代码1")for j in range(1,5):print("代码2")continue    # 跳到内层的for循环print("代码3")#  不会被打印print("代码4")

对比break的打印结果。 

for i in range(1,5):print("代码1")for j in range(1,5):print("代码2")break # 内层循环每次只执行一次print("代码3")#  不会被打印print("代码4")

循环语句综合案例:发糖果

  老师共有 15 颗糖果,有 5 位小朋友,编号从 1 到 5。从 1 号小朋友开始,依次来领糖果,每人可领 5 颗。发糖果时,老师判断小朋友的表现分(1 - 10 分),随机生成,如果低于 5 分,不发糖果,换下一位小朋友,如果糖果发完了,结束发糖果。

代码要求:使用循环结合 continuebreak完成发糖果过程。


candys=15
print("小朋友排排坐,老师开始发糖果啦!")
for x in range(1,6):import randomscore = random.randint(1, 10)print(f"第{x}位小朋友,该小朋友的平时表现分为{score}分")if score<5:print("这个小朋友的平时表现不太好,不发糖果")continueif candys<=5:print("糖果不足,结束发糖果")breakcandys -= 5print(f"这个小朋友平时表现好,发糖果5颗,糖果还剩{candys}颗")

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 安全防御,防火墙配置NAT转换智能选举综合实验
  • 在家上网IP地址是固定的吗?
  • Is Temperature the Creativity Parameter of Large Language Models?阅读笔记
  • GitHub+Picgo图片上传
  • Web学习day04
  • 未来互联网的新篇章:深度解析Facebook的技术与战略
  • rust way step 1
  • 宏碁F5-572G-59K3笔记本笔记本电脑拆机清灰教程(详解)
  • 中职网络安全B模块渗透测试server2003
  • 解释如单例、工厂、观察者等常见设计模式在Android开发中的应用。
  • kali安装vulhub遇到的问题及解决方法(docker及docker镜像源更换)
  • 两段序列帧动画播放,在ios机型上出现闪屏
  • python的字符串
  • C++从入门到起飞之——缺省参数/函数重载/引用全方位剖析!
  • python为什么慢?(自用)
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • 【划重点】MySQL技术内幕:InnoDB存储引擎
  • 3.7、@ResponseBody 和 @RestController
  • codis proxy处理流程
  • echarts的各种常用效果展示
  • Git 使用集
  • Java深入 - 深入理解Java集合
  • Phpstorm怎样批量删除空行?
  • Vue学习第二天
  • web标准化(下)
  • 翻译--Thinking in React
  • 关于Flux,Vuex,Redux的思考
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 驱动程序原理
  • 通过git安装npm私有模块
  • 用 Swift 编写面向协议的视图
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • ​人工智能书单(数学基础篇)
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • ## 1.3.Git命令
  • (2)空速传感器
  • (30)数组元素和与数字和的绝对差
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (办公)springboot配置aop处理请求.
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (三)Hyperledger Fabric 1.1安装部署-chaincode测试
  • (十五)使用Nexus创建Maven私服
  • (未解决)macOS matplotlib 中文是方框
  • (转)http-server应用
  • .Net IE10 _doPostBack 未定义
  • .NET Micro Framework 4.2 beta 源码探析
  • @RequestBody的使用
  • [12] 使用 CUDA 进行图像处理
  • [20140403]查询是否产生日志
  • [ACL2022] Text Smoothing: 一种在文本分类任务上的数据增强方法
  • [Android学习笔记]ScrollView的使用
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [C#] 我的log4net使用手册