嵌套while循环绘制图案

2024-04-25 22:47:43 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨,我想知道如何使用嵌套循环在输出上绘制此模式

##
# #
#  #
#   #
#    #
#     #
#      #
#       #

我发现了如何在一个没有嵌套的循环中实现它,但是我很好奇如何使用嵌套while循环来绘制它。在

^{pr2}$

Tags: 模式绘制嵌套循环whilepr2
3条回答

还有很多其他的答案已经正确地回答了这个问题,但是我认为下面的答案在概念上更简单地做到了这一点,并且应该更容易从中学习。在

spaces = 0

while spaces < 8:
    to_print = "#"

    count = 0
    while count < spaces:
        to_print += " "
        count += 1

    to_print += "#"

    print to_print
    spaces += 1

下面是您实际问题的答案:使用两个嵌套while循环。在

num_spaces_wanted = 0
while num_spaces_wanted < 7:
    print('#', end='')
    num_spaces_printed = 0
    while num_spaces_printed < num_spaces_wanted:
        print(' ', end='')
        num_spaces_printed += 1
    print('#')
    num_spaces_wanted += 1

如print语句所示,这是针对python3.x的。请将它们调整为2.x或添加from __future__ import print_function行以获得3.x样式的打印。在

如果您打算在python中执行此操作 不需要嵌套循环。在

使用两个循环编辑

#!/bin/python
import sys

n = int(raw_input().strip())
for i in xrange(n):
    sys.stdout.write('#')
    for j in xrange(i):
        sys.stdout.write(' ')
    sys.stdout.write('#')
    print

相关问题 更多 >