此代码中是否有一种方法可以在等边三角形内打印一些输入? 我尝试了几种方法,但似乎无法正常工作。它只在所有空格上打印。
h=int(input("Enter Height: "))
for r in range(1, h+1):
for c in range(1, 2*h):
if r==h or r+c==h+1 or c-r==h-1:
print("*", end="")
else:
print(end =" ")
print()
现在的输出是这样:
我想在里面打印
答案 0 :(得分:-1)
这对您来说应该是一个很好的起点:
h=int(input("Enter Height: "))
characters = iter("word")
for r in range(1, h+1):
for c in range(1, 2*h):
if r==h or r+c==h+1 or c-r==h-1:
print("*", end="")
elif r==(h*2)//3 and c > h+2-r and c < h-2+r:
try:
print(next(characters), end="")
except StopIteration:
print(end = " ")
else:
print(end =" ")
print()
您需要计算一个范围,在该范围内可以打印您的单词并将其打印在那里。为了跟踪您已经打印的字符,可以像在第二行中一样使用iterator。
我在这里使用了任意值来限制范围。我认为您可以轻松地自行解决其余问题。