Take this java code and translate it to python: Here\'s the code: // function to
ID: 3711474 • Letter: T
Question
Take this java code and translate it to python:
Here's the code:
// function to convert numeric score to letter grade
function convertToLetter(grade) {
if (grade >= 90) {
return 'A';
}
else if (grade >= 80) {
return 'B';
}
else if (grade >= 70) {
return 'C';
}
else if (grade >= 60) {
return 'D';
}
else {
return 'F';
}
}
const num_students = 5;
const num_tests = 4;
let names = [];
let lettergrades = new Array(num_students);
// the next four lines create a two-dimensional array,
// or in JavaScript terms, an array of arrays
let testscores = new Array(num_students);
for (let i = 0; i < num_students; ++i) {
testscores[i] = new Array(num_tests);
}
// enter names and grades
for (let i = 0; i < num_students; ++i) {
putstr("Student name: ");
let name = readline();
names[i] = name;
for (let j = 0; j < num_tests; ++j) {
putstr("Enter a test score: ");
let score = parseInt(readline());
testscores[i][j] = score;
}
}
// compute averages
for (let i = 0; i < num_students; ++i) {
let sum = 0;
let avg = 0.0;
for (let j = 0; j < num_tests; ++j) {
sum += testscores[i][j];
}
avg = sum / num_tests; // no integer division because JavaScript doesn't distinguish int v. double
lettergrades[i] = convertToLetter(avg);
sum = 0;
avg = 0.0;
}
// display averages
for (let i = 0; i < num_students; ++i) {
print(names[i] + "'s grade: " + lettergrades[i]);
}
Explanation / Answer
def convertToLetter(grade):
if (grade >= 90):
return 'A'
elif (grade >= 80):
return 'B'
elif (grade >= 70):
return 'C'
elif (grade >= 60):
return 'D'
return 'F'
num_students = 5
num_tests = 4
names = [0]*num_students
lettergrades = [0]*num_students
testscores = [0]*num_students
for i in range(num_students):
testscores[i] = [0]*num_tests
for i in range(num_students):
names[i] = input("Student name: ")
for j in range(num_tests):
testscores[i][j] = int(input("Enter a test score: "))
for i in range(num_students):
avg = sum(testscores[i])/float(num_tests)
lettergrades[i] = convertToLetter(avg)
for i in range(num_students):
print(names[i] + "'s grade: " + lettergrades[i])
# copy pastable code link: https://paste.ee/p/YlVwQ
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.