Napisz program, który dla wartości numerycznej oceny odczytanej z klawiatury wyświetli jej słowny zapis. Umieść nazwy ocen w tablicy.

0

Bardzo proszę o pomoc w poniższym temacie.

Treść zadania: Napisz program, który dla wartości numerycznej oceny odczytanej z klawiatury wyświetli jej słowny zapis (celujący, bardzo dobry, dobry, dostateczny, mierny, niedostateczny). Umieść nazwy ocen w tablicy. Przykładowy rezultat:
Podaj ocenę: 4. Ocena słownie: dobry.

Tutaj jest mój kod. W wyniku wyświetla się '4', a nie 'dobry'.

pobieramy ocenę odczytaną z klawiatury o wartości numerycznej

mark = input()
mark = int(mark)
if mark < 1 or mark > 6:
print("Podaj wartość z zakresu 1-6")

markslist = ["celujący", "bardzo dobry", "dobry", "dostateczny", "mierny", "niedostateczny"]

if mark == 6:
print(markslist[0])
if mark == 5:
print(markslist[1])
if mark == 4:
print(markslist[2])
if mark == 3:
print(markslist[3])
if mark == 2:
print(markslist[4])
if mark == 1:
print(markslist[5])

1

Powyższy kod jest paskudny ale poprawny od strony logicznej. Sprawdź czy wszystkie ify są na tym samym poziomie zagnieżdżenia (podejrzewam że if mark==4 wszedł pod innego ifa). Na przyszłość formatuj kod po wklejeniu go na forum. Masz od tego odpowiedni przycisk.

0

A nie prościej

markslist = ["u dyra", "niedostateczny", "mierny", "dostateczny","dobry" , "bardzo dobry", "celujący"]
mark = int(input())
print(markslist[mark])

1 użytkowników online, w tym zalogowanych: 0, gości: 1