【问题标题】:I there a better way than 'arr + arr[::-1][1:]'?我有比 'arr + arr[::-1][1:]' 更好的方法吗?
【发布时间】:2019-07-29 10:04:07
【问题描述】:

我刚刚解决了名为 关于代码战的“给我一颗钻石”。 https://www.codewars.com/kata/5503013e34137eeeaa001648 我使用在数组中创建了一个金字塔 星号(*),然后展开 由没有第一个元素的金字塔的反转版本组成的数组。 我有比金字塔+金字塔[::-1][1:]更好的方法吗?

    #               *
    #   *          ***
    #  ***   -->  *****
    # *****        ***
    #               *
    pyramid = ['  *\n',' ***\n','*****\n']
    return pyramid + pyramid[::-1][1:]

【问题讨论】:

  • x[::-1][1:] == x[-2::-1]

标签: python arrays list sorting


【解决方案1】:

这是一个非常简单的解决方案:

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)

输出:

  *  
 *** 
*****
 *** 
  *

【讨论】:

    猜你喜欢
    • 2020-08-19
    • 2020-10-25
    • 2010-11-18
    • 1970-01-01
    • 2015-01-06
    • 1970-01-01
    • 1970-01-01
    • 2022-06-16
    • 2019-03-21
    相关资源
    最近更新 更多