循环语句
1.5循环
1.5.1while循环
设置循环的条件,建议可以终止的。空格缩进是十分重要的。
1.简介
- 条件是什么,直到什么时候为止。
- 条件的操作是什么
2.基本语法
3.循环100次
# 循环
i=0
while i<100:
print("数字",i)
i+=1
循环100次
4.求1-100的和
# 1-100的和
i=1
sum=0
while i<=100:
sum+=i
i+=1
print(f"1-100的和{sum}")
1.5.2while循环的案例
还是猜数字的案例
# 猜数字
# 导包
import random
# 输出1-10之间的随机数
num=random.randint(1,10)
print(f"随机数{num}")
i=0 #猜测的次数
flag=True #循环的标记
temp=0 #记录当前用于猜测的值
while flag:
temp=int(input("输入你要猜测的值"))
if temp==num:
flag=False
print("恭喜你猜中了")
elif temp>num:
print("你猜大了")
else:
print("你猜小了")
i+=1
print(f"猜测的次数{i}")
1.5.3while循环的嵌套
空格缩进是重点!!!
每天吃三顿饭,每段饭吃三个馒头,要一个一个的吃
#while嵌套
i=1
j=1
while i<=3:
print(f"第{i}顿饭")
while j<=3:
print(f"吃第{j}","个馒头")
j+=1
j=1
i += 1
多层嵌套
1.5.4while循环的嵌套案例
九九乘法表的打印
补充:
- 如何print不换行
- 如何制表符
# 不换行输出
print("hello")
print("word")
# end是一种传参
print("hello",end='')
print("word",end='')
# 制表符 ,本质就是按下去tab键
print("\t")
print("hello \t word")
print("hi \t zhangsan")
2.九九乘法表的生成
# 99乘法表
# 行和列内容,行数是固定的,每一行多少列数和行数是有关的.行的内容就是i*j.输出完一列需要换行,不换行的需要制表符
# i行数.j列数
i=1
j=1
while i<=9:
while j<=i:
print(f"{i}*{j}={i*j}\t",end='')
j+=1;
print()
j=1
i+=1
1.5.5for循环
1.简介
- 条件不像while循环那样条件可以任意的指定
- 一般值得是迭代指定的次数
2.案例1:字符串依次打印。一个一个的取字符
- 和取对象是差不不多的
# 循环取字符
name ="hello world"
# name的内容挨个取出给x
for x in name:
print(x)
3.案例2-统计a字符出现的次数
# 统计a出现的次数
i=0
name ='a b c c d d d a a kk'
for x in name:
if x=='a':
i+=1
print("a出现的次数,%d" %i)
1.5.6range类型
序列类型。字符串,元组,列表,元组都是序列的类型。
- for循环本质遍历的就是序列。
- range(num),0开始到num-1结束。不包含num
# range
for x in range(5):
print(x,' ',end='')
print()
# 一个一个的迭代
for x in range(5,10):
print(x,' ',end='')
print()
# 有步长
for x in range(5,10,2):
print(x,' ',end='')
print()
小结
1.5.7for循环的临时作用域
1.原先写的
# 有步长
for x in range(5,10,2):
print(x,' ',end='')
print()
print(x)
外部是可以访问到的,打印的时候是可以访问到的。但是不建议啊啊。。
是软要求的,不是硬要求的,建议不要用。建议用的时候提前定义,符合语法规则。
2.小结
1.5.8for循环嵌套
吃饭的案例
#for嵌套
for i in range(1,4):
print(f"第{i}顿饭")
for j in range(1,4):
print(f"吃第{j}","个馒头")
j+=1
j=1
i += 1
小结
1.5.9for循环99乘法表
for+for
for i in range(1,10):
for j in range(1,i+1):
print(f"{i}*{j}={i*j}\t",end='')
j+=1;
print()
for+while
# 99乘法表
# 行和列内容,行数是固定的,每一行多少列数和行数是有关的.行的内容就是i*j.输出完一列需要换行,不换行的需要制表符
# i行数.j列数
for i in range(1,10):
j=1
while j<=i:
print(f"{i}*{j}={i*j}\t",end='')
j+=1;
print()
i+=1
采用上面两种方式的效果
1.5.10循环中断关键字
1.简介
# 循环中断
for i in range(0,10):
if i%5==0:
print("中断")# 循环中断
for i in range(1,10):
print(i)
if i%5==0:
print("中断")
break
else:
continue
break
else:
continue
小结