PYTHON PROGRAMOZÁS
7. Típusalgoritmusok 1.

Olyan algoritmusok (programozási tételek), amelyekkel a programírás során felmerülő problémák egyszerűen megoldhatók.
a, ÖSSZEGZÉS
b, ÁTLAGOLÁS
c, ELDÖNTÉS
d, KIVÁLASZTÁS


a, ÖSSZEGZÉS


01a Sorozatszámítás, ÖSSZEGZÉS (TK. 67. old. 1. feladat)
(Mennyi pénze lett a taxisnak?)

bevételek = [1,5,2,3,4]
összes = 0
for bevétel in bevételek:
    összes += bevétel #vagy: összes = összes + bevétel
print('Napi bevétel:', összes, 'picula.')

01b Sorozatszámítás, ÖSSZEGZÉS (TK. 67. old. 1. feladat)
(megoldás SUM függvénnyel)

bevételek = [1,5,2,3,4]
összes = sum(bevételek)
print('Napi bevétel:', összes, 'picula.')


02 Sorozatszámítás, ÖSSZEGZÉS (TK. 67. old. 2. feladat)
(Hány kiló libát ehet meg a róka?)

libák = [1,5,2,3,4]
rókának_jut = 0
for liba in libák:
    if liba <= 3:
        rókának_jut += liba
print('A rókának', rókának_jut, 'kilónyi liba marad.')


b, ÁTLAGOLÁS


03a Sorozatszámítás, ÁTLAGOLÁS (TK. 68. old. 3. feladat)
(Átlagosan hány piculát keres a taxis egy fuvarral?)

bevételek = [1,5,2,3,4]
összes = 0
darab = 0
for bevétel in bevételek:
    összes += bevétel
    darab += 1
print('Az átlagos bevétel:', összes/darab, 'picula.')

03b Sorozatszámítás, ÁTLAGOLÁS (TK. 68. old. 3. feladat)
(Megoldás SUM és LEN használatával.)

bevételek = [1,5,2,3,4]
összes = sum(bevételek)
darab = len(bevételek)
print('Az átlagos bevétel:', összes/darab, 'picula.')

03c Sorozatszámítás, ÁTLAGOLÁS (TK. 68. old. 3. feladat)
(Megoldás STATISTIC.MEAN használatával.)

import statistics
bevételek = [1,5,2,3,4]
átlag = statistics.mean(bevételek)
print('Az átlagos bevétel:', átlag, 'picula.')


04 Sorozatszámítás, ÁTLAGOLÁS (TK. 68. old. 4. feladat)
(Átlagosan hány kilósak a rókának maradt libák?)

libák = [1,5,2,3,4]
rókának_jut = 0
darab = 0
for liba in libák:
    if liba <= 3:
        rókának_jut += liba
        darab += 1
print('A róka libái átlagosan', rókának_jut/darab, 'kilósak.')


c, ELDÖNTÉS
(Van-e adott tulajdonságú elem a listában?)

Addig vizsgáljuk, ameddig meg nem találjuk az első olyat, amelyik eleget tesz a feltételnek!
A ciklusból való kilépésre való a BREAK utasítás (ha van adott tulajdonságú elem, akkor a többit már felesleges megvizsgálni).


05a ELDÖNTÉS (TK. 68. old. 5. feladat)
(Van-e ötpiculás bevételű fuvara?)

bevételek = [1,5,2,3,4]
vanilyen = False
for bevétel in bevételek:
    if bevétel == 5:
        vanilyen = True
        break
if vanilyen:
    print('Van ötpiculás bevétel.')

05b ELDÖNTÉS (TK. 68. old. 4. feladat)
(megoldás IF ... IN segítségével)

bevételek = [1,5,2,3,4]
if 5 in bevételek:
    print('Van ötpiculás bevétel.')


06a ELDÖNTÉS (TK. 69. old. 6. feladat)
(Volt-e olyan, hogy a róka legalább háromkilós libát lopott?)

libák = [1,5,2,3,4]
vanilyen = False
for liba in libák:
    if liba >= 3:
        vanilyen = True
        break
if vanilyen:
    print('Van legalább egy háromkilós liba.')


06b ELDÖNTÉS (TK. 69. old. 6. feladat)
(Volt-e olyan, hogy a róka kisebb libát lopott, mint az előző napon?)
Index szerint kell bejárni a listát, mert az aktuális elemet az előzőhöz kell hasonlítani!

libák = [1,5,2,3,4]
vanilyen = False
for index in range(len(libák)): #len(libák)=5 és a range(5)= 0,1,2,3,4, így az index 0-tól 4-ig fut
    if index > 0: #a nulladik elemet még nem vizsgáljuk, nincs mihez hasonlítani
        if libák[index] < libák[index-1]:
            vanilyen = True
            break
if vanilyen:
    print('Volt, amikor kisebb libát lopott az előző napinál.')


d, KIVÁLASZTÁS
(Az adott elem hol van a listában?)


07a KIVÁLASZTÁS (TK. 70. old. 7. feladat)
(Hányadik volt az ötpiculás?) - egyet talál meg

bevételek = [1,5,2,3,4]
holvan = None
for index in range(len(bevételek)):
    if bevételek[index] == 5:
        holvan = index
        break
print('Az ötpiculás fuvar sorszáma:', holvan + 1) #holvan+1, hogy a sorszámozás 1-el kezdődjön

07b KIVÁLASZTÁS (TK. 70. old. 7. feladat)
(megoldás az INDEX függvénnyel)

bevételek = [1,5,2,3,4]
print('Az ötpiculás fuvar sorszáma:', bevételek.index(5) + 1)


08 KIVÁLASZTÁS (TK. 70. old. 8. feladat)
(Hányadik napon lopott először háromkilós libát a róka?)

libák = [1,5,2,3,4]
holvan = None
for index in range(len(libák)):
    if libák[index] >= 3:
        holvan = indexű
        break
print('Az első nagy libát a(z) ', index+1,'.napon fogta a róka.', sep='')

Készítsd el weboldaladat ingyen! Ez a weboldal a Webnode segítségével készült. Készítsd el a sajátodat ingyenesen még ma! Kezdd el
Sütiket használunk, hogy biztosítsuk a weboldal megfelelő működését és biztonságát, valamint hogy a lehető legjobb felhasználói élményt kínáljuk Neked.

Haladó beállítások

Itt testreszabhatod a süti beállításokat. Engedélyezd vagy tiltsd le a következő kategóriákat, és mentsd el a módosításokat.