(一)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提供的的continue和break关键字就可以用以对循环进行临时跳过和直接结束
二.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}元,不足以发工资,下个月再来吧!")