我是python的初学者。这是我用C语言编写的代码。我正在尝试将其转换为python。
int arr[studentCount][subjectCount][2];
const int DISTINCTION = 4;
const int FIRST_DIVISION = 3;
const int SECOND_DIVISION = 2;
const int PASS_CLASS = 1;
const int FAIL = 0;
for(int i=0 ; i<studentCount ; i++) {
for(int j=0 ; j<subjectCount ; j++) {
//taking input in i,j,0
printf("Enter marks of student %d subject %d - ",i+1,j+1);
scanf("%d",&arr[i][j][0]);
//logic of result
//giving grades in i,j,1 based on the marks entered in i,j,0
if(arr[i][j][0]>=70)
arr[i][j][1]=DISTINCTION;
else if(arr[i][j][0]>=60)
arr[i][j][1]=FIRST_DIVISION;
else if(arr[i][j][0]>=50)
arr[i][j][1]=SECOND_DIVISION;
else if(arr[i][j][0]>=40)
arr[i][j][1]=PASS_CLASS;
else
arr[i][j][1]=FAIL;
}
}
这是我到达的地方,但无法理解如何在3d数组中输入输入
arr = np.zeros((studentCount,subjectCount,2));
print arr;
for (i in range(studentCount)):
for(j in range(subjectCount)):
#taking input in the arr
在代码中,我基本上是在subjectCount科目中输入studentCount学生的分数,然后根据分数为其分配等级。因此,在这里我不想一行输入,而我搜索的all the previous answers显示了一行中的输入。如果这样做,我将按用户输入成绩,因此违反了代码的目的。 请帮忙!
答案 0 :(得分:0)
您要使用Python input()。 您可以在代码中执行以下操作:
import numpy as np
arr = np.zeros((studentCount,subjectCount,2))
print arr
for i in range(studentCount):
for j in range(subjectCount):
arr[i][j][0] = input("Enter marks of student %d subject %d:" % (i, j))