【发布时间】:2021-10-30 11:20:52
【问题描述】:
我是一名新手程序员,我们最近的任务是打印一个完整的星号金字塔,其中行数基于输入,然后打印这些金字塔的金字塔。
当用户输入Number of Rows: 4 时,我期望的输出基本上是:
*
***
*****
*******
* * *
*** *** ***
***** ***** *****
*******************
* * * * *
*** *** *** *** ***
***** ***** ***** ***** *****
*******************************
* * * * * * *
*** *** *** *** *** *** ***
***** ***** ***** ***** ***** ***** *****
*******************************************
这是我可以使用循环处理的最好的。
rowInput = int(input("Number of Rows: "))
rowCount = 0
min = rowInput
max = rowInput
while (rowCount < rowInput):
digit = 1
while (digit < min):
print(end=" ")
digit += 1
while (digit >= min and digit <= max):
print(end="*")
digit += 1
print()
min -= 1
max += 1
rowCount += 1
输入:
Number of Rows: 4
输出:
*
***
*****
*******
我认为它可以与顶部的另一个循环一起使用,但我想不出一种可行的方法来增加两个三角形之间的空间。还有其他选择吗?
【问题讨论】:
-
一些可以提供帮助的python提示:您可以将字符串相乘
3*'*'返回'***',也可以使用空格。range类型会让你的生活更轻松
标签: python loops design-patterns