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

Python入门全解析丨Part3-Python的循环语句

(一)while循环的基础应用

一.while的条件

>>>需要是布尔类型,True表示继续循环,False表示循环结束

>>>需要设置循环终止的条件

>>>需要空格缩进

二.while循环使用举例

sum=0;
i=1;
while i <=100:
    sum+=i;
    i+=1;
print(f"{sum}")

>>>5050

 

(二)while循环的基础案例---猜数字

>>>无限次数猜一个随机生成的1~100的数字,并且记录猜了多少次

#先随机获取一个1~100的数字
import random
num=random.randint(1,100)
#定义一个变量,记录总共猜测了多少次
count=0

#通过一个布尔类型变量,作为循环是否继续的标记
flag=True
while flag:
    guess=int(input("请输入你猜测的数字:"))
    count+=1
    if guess==num:
        print("猜中了!")
        flag=False
    else:
        if guess>num:
            print("你猜大了!")
        else:
            print("你猜小了!")
print(f"你一共猜了{count}次!")

 

(三)while循环的嵌套应用

注意事项

>>>需要使用空格缩进来决定层级关系

>>>内外层的条件千万不要设置混淆

i=1
while i<=100:
    print(f"今天是表白的第{i}天")
    j=1
    while j<=10:
        print(f"送给小美第{i}朵花")
        j+=1
    print("小美,我宣你")
    i+=1
print(f"坚持到第{i-1}天,表白成功!")

 

(四)while循环应用实例--九九乘法表

一.补充知识点

>>>print输出不换行的方法:print("Hello",end='')

print("hello",end="")
print("world")
#输出”helloworld"
print("hello",end=" ")
print("world")
#输出“hello world“

>>>制表符\t=tab键:可以让多行字符串进行对齐(\t后面的字符首字符对齐)

print("Hello\tworld")
print("shihish\tshka")

>>>只输出一个换行:print("")

二.代码

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

 

 

(五)for循环的基础语法

一.for循环和while循环的区别

(1)while循环的循环条件是可以自定义的,可以自行控制循环条件

(2)for循环是一种“轮询”机制,是对一批内容进行“逐个处理”,将待办事项逐个完成

二.for循环的语法

for 临时变量 in 待处理数据集:

      循环满足条件时所执行的代码

三.使用举例

name=("lvpaohuo")
for i in name:
    print(f"{i}")

 >>>输出

四.小结

(1)可以看出,for循环就是将字符串的内容依次取出,故for循环也称为遍历循环

(2)for循环只能从被处理的数据集中依次取出内容进行处理,理论上说python的for循环无法构建无限循环(被处理的数据集不可能无限大)

五.使用案例:判断一个字符串中有多少个"a"

name=("lvpaohuo")
count=0
for i in name:
    if i =='a':
        count+=1
print("%d"%count)

六.range语句

6.1range语句是干啥用的?

>>>获得一个简单的数字序列

6.2语法大赏

>>>range(num)

从0开始到num结束的一个数字序列(且不含num本身),如range(5)得到一个序列{0,1,2,3,4}

>>>range(num1,num2)

从num1开始到num2的一个数字序列(且不含num2本身

>>>range(num1,num2,step)

从num1开始到num2结束的数字序列(且不含num2本身),数字之间的步长以step为准(step默认为1),如果step加完刚好没有到num2也没有关系

6.3range序列都是啥时候用的?

>>>一般来说都是配合for循环使用的

>>>输出即为1 3 5 7 9

6.4range的练习案例

定义一个数字变量num,内容随意,并使用range()语句,获取从1到num的序列,使用for循环遍历它,在遍历过程中,统计有多少偶数出现

num=100
count=0
for x in range(num+1):
    print(f"{x}",end=" ")
    if x%2==0:
        count+=1
print("")
print(f"在从0到{num}中有{count}个偶数")

>>>测试结果:

七.变量作用域

7.1什么是变量的作用域?

>>>此时的x是临时作用变量,但是如果出了循环后再次访问x实际上是可以访问到的,但是逻辑上是不符合规范的!

7.2怎么做?

>>>在for循环之前将x定义出来即可!

八.for循环的嵌套应用

8.1送一百天玫瑰花,最后表白成功!

x=0
for x in range(100):
    print(f"表白第{x}天")
    for a in range(10):
        print("送小美第%d朵玫瑰花"%(a+1))
print(f"第{x+1}天,表白成功!")

8.2用for循环打印九九乘法表

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

 

(六)循环中断:break和continue

一.break和continue有啥用?

>>>无论是while循环或者是for循环,都是重复性的执行特定操作,有一些情况我们不得不暂时跳过某次循环直接进行下一次或者提前退出循环而不再继续,对于这种场景,python提供的的continuebreak关键字就可以用以对循环进行临时跳过直接结束

二.continue关键字

2.1作用

>>>中断本次循环,直接进行下一次循环

2.2作用对象

>>>while循环和for循环的效果是一致的

2.3使用模板

for I in range(1,100):

      语句1

      continue

      语句2

>>>解释:在循环中遇到continue就结束当次循环,进行下一次,所以语句2是不会进行的

三.break关键字

3.1作用

>>>直接结束这个循环,而不是进行下一次循环了

3.2作用对象

>>>while循环和for循环效果一致

3.3使用模板:

for I in range(1,101)

       语句1

       break

语句2

>>>解释:只会进行一次语句1,直接输出语句2

四.总结

在嵌套循环中,continue和break语句只能作用在所在的循环上,无法对上层循环起作用!

五.循环综合案例

money=10000
for i in range(1,21):
    import random
    score=random.randint(1,10)
    if score<5:
        print(f"员工{i}绩效分{score},不发工资,下一位!")
    continue
    if money>=1000:
        money-=1000
        print(f"员工{i}绩效分满足!发工资1000元,公司账户余额{money}!")
    else:
        print(f"公司余额不足,当前余额:{money}元,不足以发工资,下个月再来吧!")


http://www.kler.cn/news/285251.html

相关文章:

  • 英语2-小作文
  • Java | Leetcode Java题解之第386题字典序排数
  • 性能优化笔记二(本地缓存)
  • 05:【江科大stm32】:定时器输出比较功能(PWM)
  • Android 优化之 查找so 文件的来源
  • Camtasia 2024 v2024.0.6 for Mac 中文版 屏幕录像视频录制编辑软件
  • 找出两个序列的中位数
  • Python3.0以后各个版本区别介绍
  • 网络模型及协议介绍
  • STM32原理图一些引脚VDDA/VSSA/VBAT/OSC/NRST/BOOT
  • 随手记录第十五话 -- Spring Boot 3.2.3+Grafana+Prometheus+Loki实现一套轻量级监控加日志收集系统
  • 波导阵列天线单元学习笔记7 一种用直接金属激光烧结考虑的轻质量,宽带,双圆极化波导腔体阵列
  • Datawhale X 李宏毅苹果书 AI夏令营 Task2打卡
  • c++命令模式
  • Vscode推送代码到 Gitee
  • 关于一个早期的计算机网络的理解
  • Nginx 负载均衡深入指南:`proxy_pass` 指令的高效使用
  • Nginx: 负载均衡场景下上游服务器异常时的容错机制
  • docker python 3.11 容器报错
  • Windows连接虚拟机中的mysql5失败
  • C程序设计(潭浩强教授版)精选程序题
  • Bluetooth: gatt profile
  • 学习之SQL语句之DCL(数据控制语言)
  • 广电手机卡靠谱吗?
  • 【爬虫软件】YouTube评论采集工具
  • LVS工作模式
  • IBM退出中国,LabVIEW未来走向何方?
  • 5G智慧工地项目汇报方案
  • ElementPlus下拉框实现可选择,可输入
  • pm2 + linux + nginx