1.for循环嵌套与案例
输入数字n求n的阶乘和 5的阶乘和 =5!+4!+3!+2!+1!
sum_num = 0 num = int(input("请输入数字")) for i in range(1, num + 1): c_num = 1 for j in range(1, i + 1): c_num *= j sum_num += c_num print(sum_num) # 结果为 153
9行9列的图形,控制各种显示各种位置三角形
(1)打印9行9列的矩形
for i in range(9): for j in range(9): print(" * ", end="") print()
结果如图所示:
(2)空心矩形
for i in range(9): for j in range(9): if i == 0 or i == 8 or j == 0 or j == 8: print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
(3)左下斜三角形
for i in range(9): for j in range(9): if i > j:sr print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
(4)左上斜三角形
for i in range(9): for j in range(9): if i + j <= 8: print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
(5)右下斜三角形
for i in range(9): for j in range(9): if i + j >= 8: print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
(6)右上斜三角形
for i in range(9): for j in range(9): if i <= j: print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
(7)x形
for i in range(9): for j in range(9): if i + j == 8 or i == j: print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
(8)漏斗形
for i in range(9): for j in range(9): if i <= j and i + j <= 8 or i >= j and i + j >= 8: print(" * ", end="") else: print(" ", end="") print()
结果如图所示:
输入3打印
*
***
*****
n = int(input("请输入打印层数")) for i in range(1, n + 1): for j in range(1, 2 * i): print("*", end="") print()
结果如图所示:
打印金字塔
*
***
*****
n = int(input("请输入打印层数")) for i in range(1, n + 1): # 打印空格 for j in range(1,n - i + 1): print(" ", end="") # 打印星星 for k in range(1, 2 * i): print("*",end="") print()
结果如图所示:
已知两个三位数abc和cba之和为1333(即abc+cba=1333)求 a、b、c
for i in range(1, 1000): k2 = (i % 10) * 100 + (i // 10 % 10) * 10 + (i // 100) if i + k2 == 1333: print(i)
结果如图所示:
打印9*9乘法表
for i in range(1,10): for j in range(1,10): if j <= i: print(j,"*",i,"=", i*j ,sep="", end = "") print(" ",end="") print()
结果如图所示:
2.while循环学习
while
循环使用时不断地检查它表达式,只有该条件为真时,循环中的代码才会被执行。当条件变为假时,循环就会停止,此时便会跳出循环,继续执行循环后面的代码。需要注意的是while 循环内部需要将条件设置false 否则成了死循环。
while True: print("醒醒啦") print("开饭啦") # while进入了死循环不会执行此处代码 can_open = True while can_open: print("=========") can_open = False # 使while跳出循环 print("开饭了") # 此处代码被执行
使用while打印10次“醒醒”的方法:
can_open = True count = 0 while can_open: print("醒醒") count += 1 if count == 10: can_open = False count = 0 while count < 10: print("醒醒") count += 1 count = 10 while count > 0: print("醒醒") count -= 1 count = 0 while True: print("醒醒") count += 1 if count == 10: break
3.while循环嵌套
使用while打印9*9乘法表
i = 1 while i <= 9: j = 1 while j <= i: print(f"{j} * {i} = {i*j}", end="\t") j += 1 print() i += 1
使用while打印漏斗形
i = 1 while i < 10: j = 1 while j < 10: if i <= j and i + j <= 10 or i >= j and i + j >= 10: print(" * ", end="") else: print(" ", end="") j += 1 print() i += 1
4.for与while都可以使用else
for i in range(10): if i == 3: #continue 会终止某一次循环 不会导致else不执行 #break 会终止整个循环 导致else不会执行 break print(i) else: print("for循环结束")
打印1000以内的10个最小质数
count = 0 for i in range(2, 1001): # 判定i是不是质数 for j in range(2, i): if i % j == 0: break else: print(i, "是质数") count += 1 if count == 10: break
最后,每天进步一点点,争取日进斗金