删除钻石形状内的星号符号

时间:2016-05-02 07:04:09

标签: python python-2.7

我想问一下这个想法 我有一个脚本,它打印出这样的钻石形状。

Value : 5
          * 
        * * * 
      * * * * * 
    * * * * * * * 
  * * * * * * * * * 
    * * * * * * * 
      * * * * * 
        * * * 
          * 

脚本代码就像这样

masuk = int(input("Value : "))

for jarak in range(1, masuk):
    for jarak6 in range(-1, masuk - jarak):
        print (" ", end=" ")
    for jarak7 in range(1, jarak):
        print ("*", end=" ")
    for jarak8 in range(jarak, 0, -1):
        print ("*", end=" ")

    print()

for jarak in range(1, masuk *2 , + 1):
    for jarak2 in range(jarak):
        print (" ", end=" ")
    for jarak3 in range(jarak, masuk + 1):
        print ("*", end=" ")
    for jarak4 in range(jarak + 1, masuk + 1):
        print ("*", end=" ")

    print()

我想问的是:

  1. 是一种制作钻石形状的有效方法吗?
  2. 如何在菱形中间删除星号?

1 个答案:

答案 0 :(得分:1)

您的内部循环可以通过简单的字符串乘法替换。而不是写

for i in range(a, b):
    print(" ", end=" ")
你可以写

print("  " * (b - a))

通过这种方式,您可以将两个外部循环的所有三个内部循环组合成一个打印调用:

print(" " * num_spaces + "*"*num_asterisks)

我不确定你的意思是删除形状内的钻石。