如何使用嵌套循环在Python中创建图案?
我正在尝试在Python中创建这个图案:
##
# #
# #
# #
# #
# #
我需要使用嵌套循环,这是我目前的程序:
steps=6
for r in range(steps):
for c in range(r):
print(' ', end='')
print('#')
问题是第一列没有显示出来,所以我运行时显示的是:
#
#
#
#
#
#
这是修改后的程序:
steps=6
for r in range(steps):
print('#')
for c in range(r):
print(' ', end='')
print('#')
但是结果是:
#
#
#
#
#
#
#
#
#
#
#
#
我该如何让它们在同一行呢?
4 个回答
0
试试这样做:
rows=int(input("请输入行数"))
s=rows//2
for r in range(rows):
print("#",end="")
print()
for r in range(rows):
while s>=0:
print("#"+" "*(s)+"#")
s=s-1
print("#")
0
你忘记了第二个打印的“#”。把它放在内层循环之前。
2
试试这个更简单的方法:
steps=6
for r in range(steps):
print '#' + ' ' * r + '#'
3
把这个...:
steps=6
for r in range(steps):
for c in range(r):
print(' ', end='')
print('#')
换成这个:
steps=6
for r in range(steps):
print('#', end='')
for c in range(r):
print(' ', end='')
print('#')
这样输出:
##
# #
# #
# #
# #
# #
这只是程序逻辑中的一个简单错误。
不过,最好还是这样做:
steps=6
for r in range(steps):
print('#' + (' ' * r) + '#')
为了避免在使用嵌套的 for
循环时出现这样的复杂情况,你可以直接对字符串使用运算符。