一、while循环
while 条件:
执行循环体
else :
print()
else可以可不要
案例:
.判断素数
判断素数,即该数除以2取余为0
num % 2 == 0
num = int(input("请输入一个整数:"))
if num <= 1 :
print("不是质数")
elif num == 2 :
print("是质数")
else :
i = 2
while i < num :
if num % i == 0 :
print("不是质数")
break
i += 1
else :
print("是质数")
注意:while 需要有结束条件,比如break,或者while+条件,不满足条件后跳出循环。否则,容易出现死循环。
二、for循环
for in 循环是用来遍历容器(可迭代对象)
引入函数range() ----- 范围,区间的意思
range(参数1,参数2,step)-----step表示间隔
range(参数1) ----- 表示的是从0~参数1范围内,前闭后开[ , )
range(参数1,参数2) ----- 前闭后开[ , )
range(参数1,参数2,step) ------ 从参数1,到参数2,左闭右开
for i in range(1,5,1) :
if 条件可嵌套在for 循环里(长使用)
案例:打印图案
打印图形过程:
1.先打印空格部分
2.再打印“*”,分为上下两部分
3.找出“*”规律与行数有关,再写一个循环来打印“*”
for j in range(0,star_num) :
print("*",end="")
layer = int(input("请输入奇数层数:"))
for i in range(1,layer // 2 + 2) :
space_num = layer - i
for j in range(0,space_num) :
print(" ",end="")
star_num = 2 * i - 1
for j in range(0,star_num) :
if j == 0 or j == star_num - 1 or j == star_num // 2 or i == layer // 2 + 1:
print("*",end="")
else :
print(" ",end="")
print("")
for i in range(layer // 2,0,-1) :
space_num = layer - i
for j in range(0,space_num) :
print(" ",end="")
star_num = 2 * i - 1
for j in range(0,star_num) :
if j == 0 or j == star_num - 1 or j == star_num // 2 :
print("*",end="")
else :
print(" ",end="")
print("")
结果:
请输入奇数层数:7
*
***
* * *
*******
* * *
***
*
为末尾end传递一个空字符串,这样print函数不会在字符串末尾添加一个换行符,而是添加一个空字符串,其实这也是一个语法要求,表示这个语句没结束。print默认为打印一行,end=' '意思是末尾不换行,加空格
三、break and continue
break ---- 跳出循环,终止循环
continue ---- 跳过循环,进入下一层循环
pass ---- 不仅可以用在循环中,用在任何地方
for in range() :
执行循环体
else :
循环部分正常结束后执行else