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!

Sziasztok segítséget szeretnék kérni ma estére kellene leadnom a feladatomat.

179
–1–A New York-i állatkert népszerű pingvinjei(Kapitány, Rico, Kowalsky és Köz-legény)egy ideig megszabadultak ősi ellenségeiktől (Dr. FújLyuktólés Savio-tól). Viszont felütötte a fejét egy másik komoly probléma... Nagyon úgy néz ki, hogy szeptember óta akadozik a pingvinek napi ellátása a megfelelő menynyiségű hallal. Kapitány rendkívül szomorú és aggasztó tendenciát lát az el-múlt három teljes hónap adataiban (a New York-i állatkertben minden hónap 4 hetes és minden hónap első napja hétfőre esik). A pingvincsapat vezetőjének az a feltételezése, hogy valaki dézsmálja az állatkertbe beérkező halszállítmányt. Ahhoz, hogy Kapitány elemezni tudja a meglévő adatokat, írnia kéne egy programot Pythonban, aminek a segítségével válaszolni tudna a saját magának feltett kérdésekre...Legutóbb már megbeszéltük, hogy a pingvineknek nem igazán megy a programozás, ezért most is téged kérnek meg arra, hogy légy szíves segíts nekik megírni a szükséges kódot(és te most is kitörő örömmel és hangos ujjongással vállalod el a feladatot).A naponta a pingvineknek kiosztott halmennyiséget egy kétdimenziós listában kell tárolni! Minden nap legalább 1, legfeljebb 5db halat kapott egy pingvin.A mátrix neve legyen halak!Ahol szükséges, otthasználj nyugodtan segédlistákat a kiszámolt adatok tárolására (pl. az5. feladatban eltárolhatod egy segédlistában, hogy mennyi halat kaptak a pingvinek egy hónapban)!1. feladat:Hozd létre a feladatban megadott adatszerkezetet és töltsd fel a megfelelő adatokkal!2. feladat:Hány olyan nap fordult elő a vizsgált időszakban, amikor mindegyik pingvin csak egy darab halat kapott egy napon?PÉLDA:1. hét: 2 db 2. hét. 0 db 3. hét: 1 db 4. hét: 0 db...12. hét: 1 db Összesen: 11 db
–2–3. feladat:Melyik hét melyik napján kapták a pingvinek a legtöbb halat egy napon?PÉLDA:Legtöbb hal mennyisége: 17 db Napja: 6. hét, csütörtök 4. feladat:Melyik hét melyik napján kapták a pingvinek a legutolsó legkevesebb 3-mal osztható számú halat egy napon? (Egyáltalán nem biztos, hogy van az adatbázisban 3-mal osztható szám!)PÉLDA:Feltételnek megfelelő mennyiség: 6 db Napja: 9. hét, vasárnap 5. feladat:Vajon igaza van Kapitánynak abban, hogy a vizsgált időszakban hónapról hó-napra egyre kevesebb halat kaptak a pingvinek? (Vagyis igaz-e az az állítás, hogy a legtöbb halat a vizsgált időszak 1. hónapjában, a legkevesebbet pedig a 3. hónapjában kapták a pingvinek?) PÉLDA:Élelemnek kiosztott halak mennyisége havi bontásban:1. hónap: 332 db 2. hónap: 298 db 3. hónap: 268 db Igaz az állítás!
Jelenleg 1 felhasználó nézi ezt a kérdést.
0
Középiskola / Informatika

Válaszok

2
(Ez nem válasz, hanem hozzászólás a kérdéshez.)

Biztos ennyi az egész? Az a „töltsd fel a megfelelő adatokkal!” elég zavaros. Nem adtak adatokat, vagy útmutatást az adatok generálásához?
0

import random

random.seed()

# 1.

halak = [[random.randint(1, 5) for _ in range(4)] for _ in range(7 * 4 * 3)]

het_napjai = ['hétfő', 'kedd', 'szerda', 'csütörtök', 'péntek', 'szombat', 'vasárnap']

# csak az ellenőrzés kedvéért
print(halak)

for honap, honev in enumerate(['Szeptember', 'Október', 'November']):
    print('===', honev, '===')
    print('%-10s' % 'Pingvin', *["%2d" % (nap + 1) for nap in range(28)])
    print('%-10s' % '', *[het_napjai[nap % 7][:2] for nap in range(28)])
    for pingszam, pingvin in enumerate(['Kapitány', 'Rico', 'Kowalsky', 'Közlegény']):
        print('%-10s' % pingvin, *['%2d' % halak[honap * 28 + nap][pingszam] for nap in range(28)])
    print('%-10s' % 'Összesen', *['%2d' % sum(halak[honap * 28 + nap]) for nap in range(28)])

# 2. (megjegyzés: a használt sima véletlen szám generálással elég sokszor le kell futtasd míg végül lesz egy böjt nap is…)

bojt_lista = [nap // 7 for nap, adat in enumerate(halak) if sum(adat) == 4]

bojt_osszes = 0
for het in range(4 * 3):
    bojt_nap = bojt_lista.count(het)
    print(het + 1, '. hét:', bojt_nap , 'db')
    bojt_osszes += bojt_nap

print('Összesen:', bojt_osszes, 'db')

# 3. (ha több dőzsölés nap volt, felsorolja mindegyiket)

napi_lista = [sum(adat) for adat in halak]
napi_legtobb = max(napi_lista)

print('Legtöbb hal mennyisége:', napi_legtobb, 'db')
print('Napja:', ', '.join(['%d. hét %s' % (nap // 7 + 1, het_napjai[nap % 7]) for nap, adat in enumerate(napi_lista) if adat == napi_legtobb]))

# 4.

haromfogas_lista = [sum(adat) for adat in halak if not sum(adat) % 3]

if haromfogas_lista:
    haromfogas_legtobb = max(haromfogas_lista)
    haromfogas_nap = max([nap for nap, adat in enumerate(napi_lista) if adat == haromfogas_legtobb])

    print('Feltételnek megfelelő mennyiség:', haromfogas_legtobb, 'db')
    print('Napja:', '%d. hét %s' % (haromfogas_nap // 7 + 1, het_napjai[haromfogas_nap % 7]))
else:
    print('Feltételnek megfelelő mennyiség: nincs')

# 5. (ismét elég sokszor le kell futtasd míg végül összeáll a csökkenő lista…)

print('Élelemnek kiosztott halak mennyisége havi bontásban:')

elozo_havi = None
igaz = True
for honap in range(3):
    havi_osszes = sum(napi_lista[honap * 28:honap * 28 + 28])
    print(honap + 1, '. hónap:', havi_osszes, 'db')

    if elozo_havi != None and elozo_havi <= havi_osszes:
        igaz = False

    elozo_havi = havi_osszes

print('Igaz' if igaz else 'Hamis', 'az állítás!')
Módosítva: 1 éve
0