用Python语言打印以下模式

时间:2014-07-21 15:03:45

标签: python python-2.7 for-loop

我正在尝试打印以下模式:

#   #
##  #
# # #
#  ##
#   #

我尝试了以下代码:

for i in range(1,6):
    for j in range(1,6):
        if j==1 or j==5 or j==i:
            print'*'
        else:
            print' '
        print

但输出是:

*







*

*

*





*


*



*



*






*

*

*







*

我是Python新手。请帮助我。

2 个答案:

答案 0 :(得分:1)

当您在打印变量之前保存变量中的每一行

时,您的代码都能正常运行
for i in range(1,6):
    s = ''
    for j in range(1,6):
        if j==1 or j==5 or j==i:
            s = s + '*'
        else:
            s = s + ' '
    print s

如果您想使用更多打印命令,请查看帖子: How to print without newline or space?

答案 1 :(得分:0)

此代码完美无缺:

n=int(raw_input('n='))
for i in range(1,n+1):
    for j in range(1,n+1):
        if j==1 or j==n or j==i:
            print'#',
        else:
            print' ',

    print