Keresés


Toplista

Toplista
  • betöltés...

Magántanár kereső

Ha szívesen korrepetálnál, hozd létre magántanár profilodat itt.
Ha diák vagy és korrepetálásra van szükséged, akkor regisztrálj be és írd meg itt, hogy milyen tantárgyban!

Python programozás házi

373
Helló!
Az lenne a feladat hogy kell lennie:
10 keresztnévnek , és 10 vezetéknévnek.
Ebből kellene 25 random nevet generálni.
Ezek után a 25 random embernek kéne jegyeket adni, 1-5ig.
Ha ez is meglenne az emberek nevét sorzámozni kéne, és az osztályátlagot kiiratni.
Viszont csak eddig jutottam:

És sajnos már ez se működik
Jelenleg 1 felhasználó nézi ezt a kérdést.
phyton
0
Középiskola / Informatika

Válaszok

5
Külön tárolni kell az egyes tanulókhoz tartozó osztályzatot, vagy csak a végén ki kell írni egy átlagot?
0

tippek:

- teljesen jó a randint is (listábol elem választásra), de ebben az esetben én
a ranget: randint(0, len(vezeteknev)-1) ig adnám meg
igy nem kell tudnod milyen hosszú a lista, de sokkal inkább choice-ot használnám. pl. from random import choice... print(choice(keresztnev))

és a hibád:
a jegyek listában számok vannak, próbáld ki, hogy átalakítod őket stringgé. ["1", "2" stb...]
vagy az appendnel str()

de:
az egyszerűbb folytatáshoz, lehet szerencsésebb lenne, a nevet és az osztályzatot külön létrehoznod.
Majd betenni őket egy listába. és ezt a listát hozzáadni appenddel a nevekhez.
Módosítva: 2 éve
1

Egyébként a keresztneveknek adtada vezeteknev változó nevet, míg a vezetékneveknek a keresztnev változó nevet.
Illetve szerintem teljesen felesleges a jegyek lehetséges értékét tárolni. Simán generálhatsz random számot 1 és 5 között is.
0

Remélem megoldottad, de itt vagy egyféle megoldás.
0

Minden → egy tabulátor. A nevek sorszámozását arra értettem, hogy sorba kell rakni.

keresztnev = ["Kovács", "Kiss", "Nagy", "Csorgo", "Posta", "Bakos", "Fábión", "Kolompar", "Lakatos", "Oláh"]
vezeteknev = ["Roland", "Szabolcs", "Sándor", "Máté", "Ilona", "Ibolya", "Katalin", "Elemér", "Dávid", "Ricsi"]

nevek = []

import random

for i in range(25):
→nevek.append([random.choice(keresztnev) + " " + random.choice(vezeteknev), random.randint(1,5)])

nevek.sort()

#print(nevek)

s = 0
for i in range(len(nevek)):
→s += nevek[i][1]
→print("{}. {} {}".format(i+1, nevek[i][0], nevek[i][1]))

print("Az osztályátlag: {0:0.2f}".format(s/25))
Módosítva: 2 éve
0