while 条件:
条件满足时,做的事情1
条件满足时,做的事情2
条件满足时,做的事情3
...(省略)...
i = 0 #定义初始变量i为0
while i < 25: # 当i<25的时候,输出:我是ikun
print('我是ikun')
i += 1 #每输出一次 '我是ikun',i就会+1,当i>25的时候,就结束循环
sum = 0
i = 1
while i <= 100:
sum += 1
i += 1
print(sum)
#获取范围在1-100的随机数字
import random
num = random.randint(1,100)
#定义一个变量,记录总共猜了多少次
count = 0
#通过一个布尔类型的变量,做循环是否继续的标记
flag = True
while flag:
guess_num = int(input("输入数字:"))
count += 1
if guess_num == num:
print("猜中了")
#设置flag为False,终止循环
flag = False
else:
if guess_num > num:
print("猜大了")
else:
print("猜小了")
print(f"你总共猜了{count}次")
while 条件1:
条件1满足时,做的事情1
条件1满足时,做的事情2
条件1满足时,做的事情3
...(省略)...
while 条件2:
条件2满足时,做的事情1
条件2满足时,做的事情2
条件2满足时,做的事情3
...(省略)...
i = 1
while i <= 25:
print(f"今天是想成为ikun的第{i}天,努力练习唱,跳,rap跟篮球")
j = 1
while j <= 25:
print(f"每天练习{j}遍铁山靠")
j += 1
print("坚持不懈,总有一天会成为ikun")
i += 1
#break
print(f"坚持到第{i}天,修炼成功,成为ikun,追随鸽鸽的脚步")
嵌套循环的使用难点:
1.九九乘法表
#定义外层循环的控制变量
i = 1
while i <= 9:
# 定义内层循环的控制变量
j = 1
while j <= i:
# 通过end='' 语句 ,使内层循环的print语句,不要换行,通过\t制表符进行对齐
print(f"{j} * {i} = {j * i}\t",end='')
j += 1
i += 1
print() #print空内容,就是输出一个换行
for 临时变量 in 待处理数据集:
循环满足条件时执行的代码
#定义字符串name
name = "ikun"
#for循环处理字符串
for x in name:
#将name的内容,挨个取出赋予x临时变量
#就可以在循环体内对x进行处理
print(x)
输出:
i
k
u
n
从输出结果中可以看出,for循环是将字符串的内容:依次取出
所以,for循环也被称之为:遍历循环
同while循环不同,for循环是无法定义循环条件的,只能从被处理的数据集中,依次取出内容进行处理
定义字符串变量name,内容为:”sing jump rap basketball is ikun"
通过for循环,遍历此字符串,统计有多少个英文字母:i
number = 0
name = "sing jump rap basketball is ikun"
for x in name:
if x == 'i':
number += 1
print(f"sing jump rap basketball is ikun 中共含有{number}个字母i")
语法1:
range(num)
获取一个从0开始,到num结束的数字序列(不含num本身)
如range(5)取得的数据是:【0,1,2,3,4】
语法2:
range(num1,num2)
获取一个从num1开始,到num2结束的数字序列(不含num2本身)
如,range(5,10)取得的数据是:【5,6,7,8,9】
语法3:
range(num1,num2,step)
获得一个从num1开始,到num2结束的数字序列(不含num2本身)
数字之间的步长,以step为准(step默认为1)
如,range(5,10,2)取得的数据是:【5,7,9】
定义一个数字变量num,内容随意
并使用range()语句,获取从1到100的序列,使用for循环遍历它
在遍历的过程中,统计有多少偶数出现
num = 0
for i in range(1,100):
if i % 2 == 0:
num += 1
print(num)
#定义外层循环的控制变量
for a in range(1,10):
# 定义内层循环的控制变量
j = 1
for j in range(1,a+1):
# 通过end='' 语句 ,使内层循环的print语句,不要换行,通过\t制表符进行对齐
print(f"{j} * {a} = {j * a}\t", end='')
print() #print空内容,就是输出一个换行
continue关键字:中断本次循环,直接进入下一次循环
break关键字:直接结束循环
某公司,账户余额有1w元,给20名员工发工资
import random
#定义账户余额变量
money = 10000
#for循环对员工发放工资
for i in range(1,21):
num = random.randint(1, 10)
if num < 5:
print(f"员工{i}绩效分{num},不满足,没有工资,下一位")
#contianue跳过发放
continue
if money >= 1000:
money -= 1000
print(f"员工{i},满足条件发放工资1000,公司账户余额:{money}")
else:
print(f"余额不足,当前余额:{money}元,没钱了,等下个月吧")
break
#break结束发放