倾情 发表于 2020-8-27 19:37

每周一算法-Python

本帖最后由 倾情 于 2020-8-31 13:23 编辑

题目(来源牛客):
每个人都想成为大V (VIP:Very Important Person),但要一点一点积累才行,先从小v做起。要求输出由小写字母v组成的大V。


解题思路:
1 通过图中可以看到第一行是输出0个空格,第二行1个以此为线索,开始写算法
def printSpace(num):
    '''
      输出空格
    '''
    for i in range(num):
      print(' ',end="")
   
def printV(num):
    '''
      输出V
    '''
    for i in range(num):
      print('v',end="")


def vprint(num = 3):
    total = 2*num - 1
    for i in range(num):
      printSpace(i)
      printV(1)
      printSpace(total-i-2)
      if i!=num-1:
            printV(1)
      print()
      total -= 1

vprint(3)
纯属分享一下解题思路,如果有更好的方法,大家可以分享一下,互相学习,如有问题欢迎各位大佬指点{:301_978:}

z5560636 发表于 2020-10-24 23:12

可以精简一下。
def vprint(num):
    number = range(num)
    for i in number:

      print(" " * i, end="")
      print("v", end="")
      print(" " * (number[-1 - i] * 2 - 1), end="")

      if i == num -1:
            return -1
      print("v")
vprint(8)

luanshils 发表于 2020-8-27 19:51

y294945022 发表于 2020-8-27 19:50
这个 , 是算法? 我理解的算法是加密、解密方法的方法。 这个应该是循环控制方面吧

算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。也就是说,能够对一定规范的输入,在有限时间内获得所要求的输出。

这还就是算法

y294945022 发表于 2020-8-27 19:50

这个 , 是算法? 我理解的算法是加密、解密方法的方法。 这个应该是循环控制方面吧

沉默之剑 发表于 2020-8-27 19:54

y294945022 发表于 2020-8-27 19:50
这个 , 是算法? 我理解的算法是加密、解密方法的方法。 这个应该是循环控制方面吧

算法=程序-数据结构,加解密是算法的一部分,排序查找也是算法的一部分,但楼主这个我还真不知道说不说得上是算法

LXS 发表于 2020-8-27 20:18

y294945022 发表于 2020-8-27 19:50
这个 , 是算法? 我理解的算法是加密、解密方法的方法。 这个应该是循环控制方面吧

这也是算法,

对味 发表于 2020-8-27 20:33

不错,适合小白学习用,别看简单,把循环语句的功能表达的很清楚。

阿狸主题曲 发表于 2020-8-27 21:05

hxw0204 发表于 2020-8-27 21:41

我是初学者,请问参数中=3有何作用?

def vprint(num = 3):

梦回吾爱 发表于 2020-8-27 21:42

感谢分享

netspirit 发表于 2020-8-27 21:55

所以你这是5行还是3行。。。。
页: [1] 2
查看完整版本: 每周一算法-Python