python嵌套循环练习,python 嵌套循环

发布时间:2022-11-18

本文目录一览:

1、python如何按设置次数自动生成嵌套的循环
2、[python 循环中嵌套循环 循环次数不固定](#python 循环中嵌套循环 循环次数不固定)
3、[使用循环的嵌套结构编程输出以下图形。 python的题目](#使用循环的嵌套结构编程输出以下图形。 python的题目)

python如何按设置次数自动生成嵌套的循环

嵌套可以实现这样的做法

lists = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
def rl(lists, n):
    for i in lists:
        if i % (1 + n) == 0:
            lists.remove(i)
    print(n, lists)
    if n > 1:
        rl(lists[:], n - 1)
rl(lists, 3)

可是为什么不简化一下

lists = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
lists1 = lists[:]
for n in range(3):
    for i in lists1:
        if i % (2 + n) == 0:
            lists1.remove(i)
print(lists1)

python 循环中嵌套循环 循环次数不固定

是不固定的。 Python不仅支持 if 语句相互嵌套,whilefor 循环结构也支持嵌套。所谓嵌套(Nest),就是一条语句里面还有另一条语句,例如 for 里面还有 forwhile 里面还有 while,甚至 whilefor 或者 forwhile 也都是允许的。

使用循环的嵌套结构编程输出以下图形。 python的题目

【请问是什么书里有这道题目?麻烦提供书名和作者,感谢】

第1个代码:

for i in range(0, 4):
    for j in range(0, 7):
        print("*", end="")
    print()

说明: 内循环用变量 j,每行打印7个 *: 即:当 j=0 时,打印第1个 *j=1 时,打印第2个 *,......,j=6 时,打印第7个 *。 外循环用变量 i,一共打印4行: 即:当 i=0 时,打印第1行7个 *i=1 时,打印第2行7个 *,......,i=3 时,打印第4行7个 *。 输出结果:

*******
*******
*******
*******

第2个代码:

for i in range(1, 8, 2):
    for j in range(i):
        print("*", end="")
    print()

说明:

  • i=1 时,j 循环 range(1),打印1个 *
  • i=3 时,j 循环 range(3),打印3个 *
  • i=5 时,j 循环 range(5),打印5个 *
  • ... 输出结果:
*
***
*****
*******

第3个代码:

for i in range(1, 8, 2):
    print(int((7 - i) / 2) * " ", end="")
    for j in range(i):
        print("*", end="")
    print()

说明: 要在每一行的 * 前面打印空格,空格的循环并不是在内循环中,因为如果在 * 号打印中混合空格,会出现一个 * 号一个空格的输出错误。所以空格循环应在外循环中,根据行数的打印而进行循环增加。 输出结果:

   *
  ***
 *****
*******

第6个代码:

for i in range(1, 8, 2):
    print(int((7 - i) / 2) * " ", end="")
    for j in range(i):
        print("*", end="")
    print()
for i in range(5, 0, -2):
    print(int((7 - i) / 2) * " ", end="")
    for j in range(i):
        print("*", end="")
    print()

说明: 在第3个代码中,增加依次递减。 输出结果:

   *
  ***
 *****
*******
 *****
  ***
   *

第5个代码:

for i in range(1, 8, 2):
    for j in range(i):
        print("*", end="")
    print()
for i in range(5, 0, -2):
    for j in range(i):
        print("*", end="")
    print()

说明: 同代码2,只是增加下方的递减循环打印。 输出结果:

*
***
*****
*******
*****
***
*