Quindi, ho un programma, che sto finendo ma a quanto pare ho avuto un problema. Nel programma devo farlo ogni volta che inserisco uno 0 nell'input, il programma si fermerà e stamperà i risultati. Ecco il programma prima di continuare dire altro:Come mostrare i risultati di un programma inserendo qualcosa in input?
import collections
students = collections.defaultdict(list)
while True:
student = input("Enter a name: ").replace(" ","")
if student == "0":
print ("A zero has been entered(0)")
break
if not student.isalpha():
print ("You've entered an invalid name. Try again.")
continue
while True:
grade = input("Enter a grade: ").replace(" ","")
if grade == "0":
print ("A zero has been entered(0)")
break
if not grade.isdigit():
print ("You've entered an invalid name. Try again.")
continue
grade = int(grade)
if 1 <= grade <= 10:
students[student].append(grade)
break
for i, j in students.items():
print ("NAME: ", i)
print ("LIST OF GRADES: ", j)
print ("AVERAGE: ", round(sum(j)/len(j),1))
ho capito un modo per rendere i risultati di arresto del programma e post dopo uno 0 viene inserito nella parte "Enter a name: "
. Questo è ciò che viene stampato:
Enter a name: Stacy
Enter a grade: 8
Enter a name: 0
A zero has been entered(0)
NAME: Stacy
LIST OF GRADES: [8]
AVERAGE: 8.0
ho bisogno di fare lo stesso con la parte "Enter a grade: "
ma se cerco di rendere il programma come è ora, questo è ciò che esso stampa:
Enter a name: Stacy
Enter a grade: 0
A zero has been entered(0)
Enter a name:
Come faccio a far sì che il programma mostri i risultati come fa quando viene immesso uno 0 nell'input del nome?
Questo sarebbe solo uscire dal programma senza visualizzare il nome, la lista di grado, e media – JGreenwell