25. óra: Programozás gyakorlat IV.
Hozzon létre az Export könyvtárában egy python-4.gyakorlat nevû mappát! Kész munkáit kérem oda mentse! (Ez lesz a 'munkakönyvtára' ezen az órán.)
A teljes feladat
Leírok egy teljes feladatot, amit aztán kisebb részfeladatokra bontunk
példa/feladat lépésekkel. A végére kész lesz az egész feladat.
Kérem, apró lépésekben kövessék a példákat és oldják meg a feladatokat!
Készítsen programot az alábbi leírás szerint, amely modellezi a játékot, és segít eldönteni, hogy kinek kedvez a játék! A program n alkalommal dobja fel a három kockát, és számolja meg, hogy hány esetben volt Anni, és hány esetben volt Panni a nyertes! A program forráskódját mentse kockak.py néven!
A részfeladatok:
- Kérje be a felhasználótól n
értékét, vagyis a feldobások számát, és tárolja el a kapott értéket!
- Végezzen n feldobást a
három kockával úgy, hogy minden feldobásnál generál három
véletlenszámot 1 és 6 között! Figyeljen arra, hogy a program
futtatása során ne mindig ugyanazt a véletlenszám-sorozatot kapja!
- Minden feldobás után írja ki a kockán lévõ számokat, valamint azok
összegét, és azt is, hogy ki nyert. A kiírás egy sorban történjen,
az alábbi mintához hasonlóan!
- A feldobások után egy mondatban írja ki, hogy hány alkalommal
kedvezett az egyik, és hány
alkalommal a másik játékosnak a szerencse!
A program teljes futása végül így nézzen ki:
Dobás: 4 + 1 + 2 = 7 Nyert: Anni
Dobás: 5 + 4 + 1 = 10 Nyert: Panni
Dobás: 5 + 3 + 3 = 11 Nyert: Panni
Dobás: 4 + 3 + 3 = 10 Nyert: Panni
Dobás: 3 + 2 + 2 = 7 Nyert: Anni
A játék során 2 alkalommal Anni, 3 alkalommal Panni nyert.
És akkor nézzük az apró lépéseket!
I. Egy dobássorozat, és annak kiírása
A kész programjának neve legyen dobas-1.0.py. Így mentse a munkakönyvtárába!
A program futása így nézzen ki:
A program forráskódja (gépelje be, futtassa, és próbálja megérteni):
A kiíratásban kicsit sok a '+' jel, és három különbözõ szerepben. Próbálja beazonosítani, hogy melyik helyen mi a szerepe!
Ha kérdése volna, tegye fel!
Kész programját dobas-1.1.py néven mentse el a munkakönyvtárába!
A program futása ilyen legyen:
II. A gyõztes eldöntése
"Az eredmény kevesebb 6-nál.", vagy, hogy "Az eredmény nagyobb-egyenlõ 6-nál."
A program futása:
vagy
A program kódja (gépelje be, futassa, értse meg):
Ha kérdése van, tegye fel!
"Nert Anni", vagy, hogy "Nyert Panni"
(Anni nyer, ha a dobások összege 10-nél kisebb, Panni egyébként.)
A program futása:
vagy
III. A dobások ismétlése
Ha azt szeretnénk, hogy a dobási kísérletet a program többször is elvégezze, akkor a dobást végzõ, kiértékelõ és kiírató részt egy ciklusban kell elhelyeznünk
"Az eredmény kevesebb 7-nél.", vagy, hogy "Az eredmény nagyobb-egyenlõ 7-nél."
(Mindezt 10-szer!)
A program futása:
Dobás: 1 + 6 = 7 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 6 = 7 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 1 = 2 Az eredmény kevesebb 7-nél.
Dobás: 1 + 1 = 2 Az eredmény kevesebb 7-nél.
Dobás: 4 + 2 = 6 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 6 + 4 = 10 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 6 + 1 = 7 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 2 + 6 = 8 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 2 = 3 Az eredmény kevesebb 7-nél.
A program kódja (gépelje be, futassa, értse meg):
Ha kérdése van, tegye fel!
"Nyert: Anni", vagy, hogy "Nyert: Panni"
(Anni nyer, ha a dobások összege 10-nél kisebb, Panni egyébként.)
Mindezt 10-szer!
A program futása:
Dobás: 1 + 2 + 6 = 9 Nyert: Anni
Dobás: 1 + 6 + 1 = 8 Nyert: Anni
Dobás: 5 + 1 + 5 = 11 Nyert: Panni
Dobás: 3 + 1 + 1 = 5 Nyert: Anni
Dobás: 1 + 5 + 4 = 10 Nyert: Panni
Dobás: 6 + 4 + 6 = 16 Nyert: Panni
Dobás: 2 + 3 + 3 = 8 Nyert: Anni
Dobás: 1 + 6 + 4 = 11 Nyert: Panni
Dobás: 1 + 6 + 5 = 12 Nyert: Panni
majd n-szer elvégzi az alábbi feladatot: háromszor dob a kockával, kiírja a dobásokat (összeadás formájában az összegükkel együtt), aztán letesz egy tabulátorjelet ("\t") aztán odaírja, hogy
"Nyert: Anni", vagy, hogy "Nyert: Panni"
(Anni nyer, ha a dobások összege 10-nél kisebb, Panni egyébként.)
Mindezt n-szer!
A program futása:
Dobás: 6 + 5 + 5 = 16 Nyert: Panni
Dobás: 1 + 2 + 6 = 9 Nyert: Anni
Dobás: 2 + 3 + 3 = 8 Nyert: Anni
Dobás: 1 + 6 + 4 = 11 Nyert: Panni
Dobás: 1 + 6 + 5 = 12 Nyert: Panni
IV. Statisztika készítés
Amikor egy sorozat lefut, és a végén szertnénk tudni, hogy hány esetben történt így vagy úgy, akkor be kell építenünk egy-egy számlálót (változót), melyek kezdõértéke 0, majd minden alkalommal, ha így vagy úgy esik, 1-gyel növeljük a megfelelõ változónkat.
Így a végén tudjuk, hogy melyik eset hányszor történt meg.
"Az eredmény kevesebb 7-nél.", vagy, hogy "Az eredmény nagyobb-egyenlõ 7-nél."
(Mindezt 10-szer!)
Végül írja ki, hogy hászor volt a dobásösszeg 7 alatt, és hányszor volt 7-nél nagyobb-egyenlõ.
A program futása (a dobások értéke persze véletlen - nem pont ez):
Dobás: 1 + 6 = 7 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 6 = 7 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 1 = 2 Az eredmény kevesebb 7-nél.
Dobás: 1 + 1 = 2 Az eredmény kevesebb 7-nél.
Dobás: 4 + 2 = 6 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 1 = 2 Az eredmény kevesebb 7-nél.
Dobás: 6 + 1 = 7 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 2 + 6 = 8 Az eredmény nagyobb-egyenlõ 7-nél.
Dobás: 1 + 2 = 3 Az eredmény kevesebb 7-nél.
A sorozatban 4 alkalommal volt 7-nél kisebb és 6 alkalommal 7-nél nagyobb-egyenlõ az összeg.
A program kódja (gépelje be, futassa, értse meg):
Ha kérdése van, tegye fel!
- Kérje be a felhasználótól n
értékét, vagyis a feldobások számát, és tárolja el a kapott értéket!
- Végezzen n feldobást a
három kockával úgy, hogy minden feldobásnál generál három
véletlenszámot 1 és 6 között! Figyeljen arra, hogy a program
futtatása során ne mindig ugyanazt a véletlenszám-sorozatot kapja!
- Minden feldobás után írja ki a kockán lévõ számokat, valamint azok
összegét, és azt is, hogy ki nyert. A kiírás egy sorban történjen,
az alábbi mintához hasonlóan!
- A feldobások után egy mondatban írja ki, hogy hány alkalommal
kedvezett az egyik, és hány
alkalommal a másik játékosnak a szerencse!
A program futása (a dobások értéke persze véletlen - nem pont ez):
Dobás: 4 + 1 + 2 = 7 Nyert: Anni
Dobás: 5 + 4 + 1 = 10 Nyert: Panni
Dobás: 5 + 3 + 3 = 11 Nyert: Panni
Dobás: 4 + 3 + 3 = 10 Nyert: Panni
Dobás: 3 + 2 + 2 = 7 Nyert: Anni
A játék során 2 alkalommal Anni, 3 alkalommal Panni nyert.
Jó munkát!