【问题标题】:Script that takes an array and produces the next number接受一个数组并产生下一个数字的脚本
【发布时间】:2021-02-27 19:12:51
【问题描述】:

将一组数字作为输入并输出下一个数字作为输出的 Python 程序(面试题)。

假设我接受一个输入:
数组 a=[1,2,3.4] 或 a=[9,9,9]

输出应该是:
数组 b=[1,2,3,5][1,0,0,0]

【问题讨论】:

  • 请通过intro tourhelp centerhow to ask a good question 了解本网站的运作方式并帮助您改进当前和未来的问题,从而帮助您获得更好的答案。 “告诉我如何解决这个编码问题?”与 Stack Overflow 无关。您必须诚实地尝试解决方案,然后就您的实施提出具体问题。 Stack Overflow 无意取代现有的教程和文档。
  • 为什么[9,9,9]的下一个数字→[1,0,0,0]?规则是什么?您自己解决问题的尝试在哪里?

标签: python arrays python-3.x list


【解决方案1】:

我想我理解了他的问题,他想做一个手动计数器,每次递增 1,当所有数字达到 9 时,下一个数字应该多一个数字,这是一个例子: [9,9,8] 然后 [9,9,9] 然后 [1,0,0,0] 然后 [1,0,0,1] 等等。

这是我的尝试:

def nextNumber(array):

    if array[len(array) - 1] == 9:
       if len(array) == 1:
           return [1,0]
       else:
           return nextNumber(array[:-1]) + [0] 
    else:
       array[len(array) - 1] += 1 
       return array

【讨论】:

    【解决方案2】:

    我终于找到了自己想要的解决方案

    将数组导入为arr

    列表=[]

    num=int(input("输入元素个数:"))

    对于范围内的 i (0,num): ele = int(输入())

    list.append(ele)
    

    打印(列表)

    str1=""

    对于范围内的 i(0,len(list)): str1+=str(list[i])

    打印(str1)

    fin=int(str1)+1 打印(鳍)

    finstr=str(fin)

    对于范围内的 i(0,len(finstr)): res=[int(x) for x in str(finstr)] 打印(分辨率)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-24
      • 1970-01-01
      • 1970-01-01
      • 2019-08-28
      • 1970-01-01
      • 2017-09-27
      相关资源
      最近更新 更多