所以我试图使用Python从星号中创建字母H,但我似乎无法弄清楚如何创建一条垂直线以便创建字母H使用我到目前为止编写的代码:
def across(n):
for i in range(n):
print ('*', end=' ')
print()
def straight(n):
for i in range(n):
print ('*')
def main():
n=6
straight ((n-3)//2)
across(n//2)
straight ((n-3)//2)
main()
这是输出:
*
***
*
有什么想法吗?感谢您提前提供任何帮助。
答案 0 :(得分:0)
您必须一次打印一行。切换到下一行后,您将无法返回上一行。因此,该想法是(例如对于高度3),在第一次迭代时,代码应该打印“星形星”。它应该改为下一行('\ n'),然后打印“starstarstar”,因为它是中间的一行。最后,在最后一行“明星”再次出现。希望这会有所帮助。
def line(a):
print "*",
for j in range(a-2):
print " ",
print "*",
def middleLine(a):
for j in range(a):
print "*",
a = int(raw_input("Enter height (odd numbers only greater than 3): "))
for i in range(a):
if i != (a / 2):
line(a)
else:
middleLine(a)
print