【问题标题】:printing matrix (2-d) in python在python中打印矩阵(2-d)
【发布时间】:2020-04-29 07:25:56
【问题描述】:

我正在尝试将此代码打印到矩阵中,但不断得到:

line 22, in <module>
    print(matrix[i][j], end=" ")
IndexError: list index out of range

这是我的代码:

用户矩阵输入的基本代码

R = int(input("Enter the number of runners:"))
C = int(input("Enter the number of days to log:"))
names_runners = []
runners_time =[]

# Initialize matrix
matrix = []

# For user input
for i in range(R):  # A for loop for row entries
    a = []
    names_runners.append(input("enter name of runner" + str(i+1)))
    for j in range(C):  # A for loop for column entries
        runners_time.append(int(input("enter time for day" + str(j+1))))
    matrix.append(a)

# For printing the matrix
for i in range(R):
    for j in range(C):
        print(matrix[i][j], end=" ")
    print()

【问题讨论】:

  • matrix.append(a)。您正在附加一个空列表 (a = [])。也许您打算将runners_time 附加到矩阵??
  • 谢谢湿婆。工作出色...

标签: python loops for-loop matrix printing


【解决方案1】:

我首先想到的是数字R 从未初始化。我不知道您是否可能在代码中的其他地方执行此操作,但可能要确保您有一个有效的 R 值。

我注意到的第二件事是,在第一个外部 for 循环中,您创建了一个空列表 a = []... 然后不对其进行任何操作。确保将您关心的实际数据附加到矩阵中,因为现在您将其插入到不相关的列表中,然后附加一个空列表。因此,当您尝试迭代与 names_runnersrunners_times 列表中一样多的项目时,您最终会越界。

【讨论】:

  • R 已初始化。由于格式化,它不可见。
  • 好吧,那么问题可能是我的答案的其余部分 lmao
  • 谢谢,mppombo5...关于 [a] 是一个空列表是正确的。
【解决方案2】:

我认为在你的情况下使用字典会更好,在这里:

runners_dict = {}
runners_total = 2
days_to_log = int(input("Enter the number of days to log:"))

for i in range(runners_total):
    runner_name = input("enter name of runner" + str(i+1))
    runners_dict[runner_name] = []

    for j in range(days_to_log):
        todays_time = int(input("enter time for day" + str(j+1)))
        runners_dict[runner_name].append(todays_time)

print(runners_dict)

结果:

Enter the number of days to log:2
enter name of runner1joe
enter time for day1123
enter time for day2321
enter name of runner2bill
enter time for day1123
enter time for day2321
{'joe': [123, 321], 'bill': [123, 321]}

【讨论】:

  • 感谢 p0rc0_r0ss0。我认为您对字典的看法是对的,等我弄好这个字典后,我会试试看。再次感谢...
猜你喜欢
  • 2018-07-18
  • 2019-09-27
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多