我刚刚解决了任务 在密码战中“给我一颗钻石”。 https://www.codewars.com/kata/5503013e34137eeeaa001648 我使用创建数组中的金字塔 星号(*),然后展开 按金字塔的反向版本排列,不包含第一个元素。 我有没有比金字塔+金字塔[::-1] [1:]更好的方法?
# *
# * ***
# *** --> *****
# ***** ***
# *
pyramid = [' *\n',' ***\n','*****\n']
return pyramid + pyramid[::-1][1:]
答案 0 :(得分:0)
这是一个非常简单的解决方案:
num = int(input("enter size of you diamond:"))
for i in range(1, num+1):
i = i - (num//2 +1)
if i < 0:
i = -i
print(" " * i + "*" * (num - i*2) + " "*i)
输出:
*
***
*****
***
*