使用Python创建形状或字母

时间:2014-03-29 20:31:30

标签: python function ascii-art

所以我试图使用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()

这是输出:

*
***
*

有什么想法吗?感谢您提前提供任何帮助。

1 个答案:

答案 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