【问题标题】:How to take user input in a numpy array [closed]如何在 numpy 数组中获取用户输入
【发布时间】:2018-09-11 10:25:00
【问题描述】:
import numpy

my_array = numpy.array([])
a=int(input("Size of array:"))
for i in range(a):
    x=float(input("Element:"))
    numpy.append(x)

print(numpy.floor(my_array))

【问题讨论】:

  • 你的问题到底是什么?
  • 我正在尝试解决hackerrank.com 的问题。这是链接hackerrank.com/challenges/floor-ceil-and-rint/forum。我找到了一种输入方式,但输出格式错误。请检查我的代码。将 numpy 导入为 np A = np.array(input().split(''),float) print(np.floor(A)) print(np.ceil(A)) print(np.rint(A))
  • 请用正确的问题/问题和代码格式更新您的帖子,以便其他人可以从阅读中受益。
  • 问题询问如何读取用户的输入以输入“数组的大小”和其他参数。在此之前已对此进行了询问和回答:stackoverflow.com/a/38670261/53720。如果您有其他问题,请更具体地说明您正在处理的错误类型。
  • 这能回答你的问题吗? How do you read from stdin?

标签: python arrays numpy input append


【解决方案1】:
n, m = map(int, input().split()) # taking number of rows and column
array = numpy.array([input().strip().split() for _ in range(n)], int)

【讨论】:

    【解决方案2】:

    请试试这个

    from numpy import *
    arr = array([])
    n = int(input("Enter the number of values you want:  "))
    
    for i in range(n):
        v = input("Element:  ")
        arr = append(arr, v)
    print(arr)
    

    【讨论】:

      【解决方案3】:

      numpy.append 不能这样工作,缺少要附加到的数组。

      更好的是,构建一个普通列表,然后将其转换为 numpy 数组:

      import numpy
      
      my_array = []
      a = int(input("Size of array:"))
      for i in range(a):
          my_array.append(float(input("Element:")))
      my_array = numpy.array(my_array)
      print(numpy.floor(my_array))
      

      【讨论】:

        【解决方案4】:

        您将输入作为列表,然后将其放入一个 numpy 数组中。

        import numpy
        op= list(map(int,input().split()))
        op = numpy.asarray(op)
        

        【讨论】:

          【解决方案5】:

          使用列表理解

          a=int(input()
          b=[int(j) for j in input().split()]
          print(np.array(b))
          

          【讨论】:

          • 你错过了圆括号吗? a=int(输入()?
          • 哦,是的.. 愚蠢的错误,
          【解决方案6】:

          你可以初始化一个长度为'a'的列表,然后可以用输入元素替换它的元素:

          import numpy
          a=int(input("Size of array:"))
          
          my_array = numpy.empty(a)
          for i in range(len(my_array)):
              x=float(input("Element:"))
              my_array[i]=x
          print(numpy.floor(my_array))
          

          【讨论】:

            【解决方案7】:

            请试试这个

            from numpy import *
            n=int(input("Enter Size of array"))
            arr=zeros(n,dtype=int)
            for i in range(n):
               x=int(input("Enter the value"))
               arr[i]=x
            print(arr)
            

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2012-01-29
              • 1970-01-01
              • 2010-11-10
              • 2011-07-14
              • 1970-01-01
              相关资源
              最近更新 更多