【发布时间】:2023-03-08 17:09:01
【问题描述】:
我希望输入行数(学生)和列数(测验)来定义有多少学生参加了多少测验(确切地说是矩阵)。 因此,在我为每个学生在每个测验中输入测验分数后,预计我会计算每个学生的平均成绩(exe:student1 avg = quiz1 + quiz2 +quiz3/3 等等,学生 2 和 3 ) 并计算每个测验的平均值 (quiz1 avg = stu1+stu2+stu3/quiz 等等,对于测验 2,3,4...) 但是现在我没有设法得到它,因为它表明我有一个“浮动”对象不可下标错误。这是为什么? 这是完整的代码
R = int(input("Enter the number of rows:"))
C = int(input("Enter the number of columns:"))
matrix = []
print("Enter the entries rowwise:")
for i in range(R):
a = []
for j in range(C):
a.append(int(input("Student " + str(i+1) + " Quiz " + str(j+1)+":")))
matrix.append(a)
for i in range(R):
T1 = 0
for j in range(C):
T1 += matrix[i][j]
matrix[i] = T1/C
print()
for i in range(R):
print("The average mark for student", i+1, "is", matrix[i])
for j in range(C):
T2 = 0
for i in range(R):
T2 += matrix[i][j] #This is where i get float object is not subscriptable error
matrix[j] = T2/R
print()
for j in range(C):
print("The average mark for quiz", j+1, "is", int(matrix[j]))
【问题讨论】:
-
表示你正在尝试索引一个浮点数,例如
5.8[2] -
matrix[i]在那个地方是一个浮动 -
当然,你有解决方案吗?
-
当您执行
matrix[i] = T1/C时,您希望它如何工作?提示:分配之前matrix[i]的type 是什么?后面是什么类型?当您对每一行执行此操作时,您的matrix会发生什么情况?
标签: python