使用嵌套 for 循环在 python 中打印模式

问题描述 投票:0回答:1

好吧,我是Python初学者 要使用嵌套循环打印的图案:

1@
1#3#
1@3@5@
1#3#5#7#

(优先使用For循环) 谢谢

我尝试过的代码:

n = int(input("Enter no:"))
for i in range(1, n + 1):
    for j in range(1, 2 * i):
        if j % 2 == 0:
            print("#", end="")
        else:
            print(str(j), end="@")
    print() 

输出:

Enter no:7
1@
1@#3@
1@#3@#5@
1@#3@#5@#7@
1@#3@#5@#7@#9@
1@#3@#5@#7@#9@#11@
1@#3@#5@#7@#9@#11@#13@

“@”似乎每一行都出现,而“#”并不是每第二行打印一次

loops for-loop design-patterns nested-loops
1个回答
0
投票

正如@Scott Hunter在评论中指出的那样,偶数行和奇数行之间的差异应该基于

i
的值而不是
j
的值。

这是您的代码,经过上述修改以及更新的打印:

n = int(input("Enter no:"))
for i in range(1, n + 1):
    for j in range(1, 2 * i, 2):
        if i % 2 == 0:
            print(f"{j}#", end="")
        else:
            print(f"{j}@",end="")
    print() 

这是我使用输入值

7
运行代码时得到的输出:

1@
1#3#
1@3@5@
1#3#5#7#
1@3@5@7@9@
1#3#5#7#9#11#
1@3@5@7@9@11@13@
© www.soinside.com 2019 - 2024. All rights reserved.