【问题标题】:Creating a list from user input using a for loop使用 for 循环从用户输入创建列表
【发布时间】:2013-05-09 22:06:01
【问题描述】:

我正在尝试在 python 中创建循环,其中用户输入一个数组 5 次并将它们从 1 到 5 的每个 i 存储在 a[i] 中,但我的代码不起作用。这是我的代码:

import numpy
from numpy import linalg
import numpy as np
for i in range(5):
    u[i]=np.array(input(" "))
    print u[i]

【问题讨论】:

  • 首先,删除多余的前两行...
  • 就像@TimPietzcker 所说,您需要删除这两行:它们不仅是多余的,而且会使命名空间变得混乱。

标签: python arrays for-loop python-2.7 numpy


【解决方案1】:

首先,您需要告诉 Python u 将是一个列表。否则u[i] 将抛出NameError,因为您试图在没有定义它的情况下访问u

然后,您需要动态增加列表,否则u[i] 将抛出IndexError,因为您再次尝试在创建之前引用u[i]

import numpy as np
u = []
for i in range(5):
    u.append(np.array(input(" ")))
    print u[i]

【讨论】:

  • print u[i] 可能不是代码的一部分(我猜它正在调试)所以你可以建议一个列表 comp
  • @jamylak:也许吧,但是对于那些不确定掌握基本 Python 概念的人来说,这可能是一个过于高级的结构。
猜你喜欢
  • 2020-01-18
  • 1970-01-01
  • 2017-09-27
  • 1970-01-01
  • 1970-01-01
  • 2017-03-24
  • 1970-01-01
  • 1970-01-01
  • 2020-06-07
相关资源
最近更新 更多