【发布时间】:2016-01-24 20:00:20
【问题描述】:
我正在尝试使用两个辅助函数和一个主函数打印钻石的上半部分。这是我的代码:
def top_right(size):
line = ''
nsize = size // 2 + 1
spaces = nsize - 1
for num in range(1, nsize + 1):
line += str(num)
print(spaces * ' ' + line)
def top_left(size):
line = ''
nsize = size // 2 + 1
print()
for num in range(2, nsize + 1):
spaces = nsize - num
line += str(num)
print(spaces * ' ' + line[::-1])
def full_diamond(size):
top_left(size), top_right(size)
完整的菱形函数如下:
full_diamond(17)
2
32
432
5432
65432
765432
8765432
98765432
1
12
123
1234
12345
123456
1234567
12345678
123456789
如何让这两个三角形打印在同一条线上,比如钻石的上半部分?
【问题讨论】:
-
将两个循环合并为一个循环。计算左右字符串。然后将它们一起打印出来。很简单。
-
我只是想补充一下@TomKarzes 所说的内容。请记住,您的循环实际上是不同的索引。所以你需要从 1 开始你的循环,并确保你的第一行只打印一次。
-
它们有两个不同的范围,所以当我组合它们时,我如何保持这些差异?对不起,我对编程很陌生哈哈