2016-11-10 87 views
-4

我是新的python,我正在努力解决一个问题。我必须用星号(*)使用for循环来制作字母Z.我正在Python 2.7中工作。谁能帮忙?用星号绘制的字母蟒蛇

+1

是您是否给出了在顶部和底部划线上开始使用的数量?对角线行程是否为45度角?这是一个函数还是代码段?可以使用三个for-loops,还是只能使用一个?这封信是打印还是存储以备后用?最后,你有什么尝试 - 请给我们看一些代码。 –

+0

你是否在努力开始编码?还是在解决问题的某些部分?如果您正在使用python 2.7,请展示一些代码,对我们来说,首先要介绍一些代码。如果您需要帮助的for循环语法,请查看:https://wiki.python.org/moin/ForLoop,从一行开始,等等,如果你遇到困难,请点击你的问题上的[编辑](http://stackoverflow.com/posts/40518628/edit)按钮,添加你写的一些代码,然后我们可以帮助你进一步。此外,这有一个很好的起点http://stackoverflow.com/questions/22736522/creating-shapes-or-letters-using-python – davedwards

+0

我不会这样做,因为我会收到十个downvotes,但我真的很想回答“是的,我可以帮忙”。 –

回答

3

这里是一个解决方案:

def print_z(): 
    base = '***************' 
    print base 
    for i in reversed(range(0, len(base))): 
     void = ' '.join(['' for j in range(0,i+1)]) 
     print void + '*' 
    print base 

一个改进是给底座的宽度作为参数:

def print_z(width): 
    base = '*'.join(['' for i in range(0, width+1)]) 
    print base 
    for i in reversed(range(0, width)): 
     void = ' '.join(['' for j in range(0,i+1)]) 
     print void + '*' 
    print base 

它输出是这样的:

********** 
     * 
     * 
     * 
     * 
    * 
    * 
    * 
    * 
* 
* 
********** 
+2

你真的想给一个模糊的问题给出一个完整的答案,显示这么少的工作? –

+0

@RoryDaulton虽然我同意,但赞成票的答案是毫无根据的,应仅针对问题。 –

+0

@RoryDaulton是否违反SO规则?或反对SO“精神”?我也认为这不值得被投票。 –