
while 条件:
#条件成立重复执行的代码1
#条件成立重复执行的代码2
······
1.2 示例
打印1--100
n = 1
while n <= 100:
print(n)
n += 1
2. while循环嵌套
2.1 语法格式
while 条件1:
条件1成立执行的代码块
······
while 条件2:
条件2成立执行的代码块
······
2.2 示例
打印 * ** *** **** ***** ******
layer = int(input("请输入你要打印的层数:"))
index = 1
while index <= layer:
j = 1
while j <= index:
print("*",end = "")
j += 1
index += 1
print()
2.3 练习
2.3.1 打印九九乘法表
i = 1
while i <= 9:
j = 1
while j <= i:
res = i * j
if res < 10:
print("%d * %d = %d"%(j,i,(i*j)),end = "\t")
else:
print("%d * %d = %d"%(j,i,(i*j)),end = "\t")
j += 1
print()
i += 1
2.3.2 判断一个数是否为质数(素数)
um = 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("这是质数")
3. break和continue
break和continue是循环中满足一定条件退出循环的两种不同方式,只能用在循环中
作用:break是终止循环的执行,即循环代码遇到break就不再循环了;continue是结束本次循环继续下一次循环,即本次循环剩下的代码不再执行,但会进行下一次循环。
3.1示例 3.1.1 continuei = 1
while i <= 10:
if i == 5:
i += 1
continue#此时跳过i=5的循环
print("i的数值为:%d"%(i))
i += 1
运行结果:
3.1.2 breaki = 1
while i <= 10:
if i == 5:
i += 1
break#直接跳出循环
print("i的数值为:%d"%(i))
i += 1
运行结果:
4. for循环 4.1 基本用法 4.1.1 for循环使用的的语法for 变量 in range():
循环需要执行的代码
else:
循环结束时,需要执行的代码
4.1.2 示例
for i in range(0,5):
print(i)
4.2 range的用法
4.2.1 基本语法
range(
参数
1,
参数
2)----
表示的是从参数
1
到参数
2
之间,不包含参数
2
,前闭后开的区间 ;
range(
参数
1
,参数
2
,
step)------
表示的是从参数
1
到参数
2
以
step
为单位之间的数,不包含参数
2
,前闭后开的区间 ;
range(stop):0~stop-1
range(start,stop):start~stop-1
range(start,stop,step):start~stop step(步长)
4.2.2 示例
>>> for i in range ( 10 ): ... print ( i ) ... 0 1 2 3 4 5 6 7 8 9
>>> for i in range ( 10 , 20 ): ... print ( i ) ... 10 11 12 13 14 15 16 17 18 19
>>> for i in range ( 10 , 20 , 2 ): ... print ( i ) ... 10 12 14 16 18 >>> for i in range ( 20 , 10 , - 2 ): ... print ( i ) ... 20 18 16 14 124.3 练习
1.计算100以内的奇数之和
sum = 0
a =[i for i in range(1,101)]
for i in a[::2]:
sum += i
print("奇数和为:{}".format(sum))
2.计算100以内的偶数之和
sum1 = 0
b = [i for i in range(1,101)]
for i in b[1::2]:
sum1 += i
print("偶数和为:{}".format(sum1))
3.打印
* *** ***** *******
layer = int(input("请输入你要打印的行数:"))
for i in range(1,layer+1):
spce_num = layer - i
for j in range(0,spce_num):
print(" ",end="")
star_num = 2 * i - 1
for j in range(0,star_num):
print("*",end="")
print("")
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)