A bejárós ciklus és a bécsi klasszikusok

A múltkor láttunk listát, sőt, a feladatok között volt olyan is, ahol egyszerre kettővel nyomultunk. Ma megtanuljuk bejárni a listáinkat.

Na de mit jelent az, hogy bejárni? Hát azt, hogy végiglépkedünk a tagjain. És szerencsére a végiglépkedéshez van egy külön ciklusfajta, a bejárós ciklus, más szóval for-ciklus. Na, lássuk mindezt a gyakorlatban:

A bécsi klasszikusokat meg elvitte a cica:) – illetve írók lettek belőlük. Lényeg, hogy legalább a for-ciklus megvan:)


írók = []
művek = []

író = None

while író != '':
    író = input('Add meg egy író nevét! ')
    if író: #if író != ''
        írók.append(író)

for író in írók:
    mű = input('Add meg ' + író + ' egy művét! ')
    művek.append(mű)

print(írók, '\n', művek)

A bejárós ciklus

A bejárós ciklussal egy bejárható objektum – ilyen a lista is – elemeit tudjuk bejárni, végigjárni. A ciklus általában for valami in valamik alakú sorral kezdődik. A valamik a bejárható objektum, amiben több dolog van, ezért is kértelek rá, hogy ha jót akarsz magadnak, legyen többesszámú főnév a neve. A valami az a valamik épp aktuális eleme, és egyébiránt bejárónak, más nyelvekből átszivárgó szóhasználattal ciklusváltozónak nevezzük. Esetünkben for író in írók.

A ciklus belsejében az a bizonyos valami (most épp ugye “író”) az, amivel dolgozunk – mi most tulajdonképp csak kiírjuk.

A bejáró (ciklusváltozó) angol neve: iterator, a bejárható objektumé (ami nem csak lista lehet, de nekünk sokáig nem nagyon lesz más) pedig iterable. Az iteráció szó pedig a bejárát, végigjárást jelenti.

Figyelj, a for-ciklus csak a Pythonban “bejárós” ciklus, a legtöbb programozási nyelvben mást csinál és más a neve: “számlálós ciklus” néven fut. A Pythonnak nincs ilyen ciklusa, de tudjuk szimulálni. Majd alkalomadtán megtanuljuk, hogy miként, de ezzel nem most terhellek.

Feladatok

Kérlek, hogy a mai feladatokat lehetőleg puskázás nélkül, teljesen a nulláról indulva írd meg. A fenti példához, illetve a múlt alkalommal kapott feladatokhoz képest semmi új nincs bennük, de szeretném, ha begyakorolnád a ciklusokat. A feladatok nem életszagúak, de majd ügyesedünk.

F0014a: A program elején megadunk egy listát: lovak = [‘Ráró’, ‘Baró’, ‘Tipró’, ‘Karó’]. Kérd be egy színek nevű listába, hogy melyik ló milyen színű!

F0014b: Kérd be állatok nevét egy listába, amíg üres bemenet nem jön, majd ha ezzel megvagy, kérd be egy-egy kajájukat is egy másik listába! A kaják bekérésekor tudasd a felhasználóval, hogy melyik állat kajáját kéred éppen!

F0014c: Kérj be 10 szót, majd írj belőlük “mondatokat”: az egyes szavakat írd szóközzel egymás után elválasztva tízszer, a végén ponttal (az első szó kezdődhet kisbetűvel)! Tehát ha pl a tíz megadott szóból a harmadik az, hogy ló, akkor a harmadik mondat az, hogy ‘ló ló ló ló ló ló ló ló ló ló.’

F0014d: Kérj be 10 szót, majd írj belőlük 5 mondatot! Az öt mondat teljesen egyforma, a tíz szó felsorolása, szóközzel elválasztva, a végén ponttal (az első szó kezdődhet kisbetűvel).

 

A múltkor megismerkedtünk a lista adattípussal. Legközelebb a range objektumtípus jön.

 

A bejárós ciklus és a bécsi klasszikusok” bejegyzéshez 47ozzászólás

  1. Kedves Pythonidomár!

    Nagyszerű az oldal! Köszönet érte! Lenne itt egy kis problémám. A 14c feladatban a mondatok kiiratását úgy oldottam meg, hogy:
    while szám <=10:
    szó = input('Kérem a ' + str(szám)+ '. szót: ')
    szavak.append(szó+' ')
    szám +=1

    for szó in szavak:
    print(10*szó,'.')

    Tehát append-eltem a listába minden szó után egy szóközt is. Csakhogy így a mondatvégi pont is szóköz után lesz. Érzem, hogy sántít a megoldásom, de nem jut eszembe semmi más. Segíts légyszi! 🙂

    Kedvelés

    • Szervusz!

      Elég ennyi, hogy:
      szavak.append(szó)

      és a szóközöket elég a kiíráskor elhelyezni, pl:
      for szó in szavak:
      for i in range(10):
      print(‘szó’ + ‘ ‘)
      (persze a szorzásos megoldás is remek)

      Sok örömet:)

      Kedvelés

      • Nem tudok a tiedre válaszolni, nem tudom miért. Szóval hmmm, ezt bebuktam :Đ
        de akkor persze meg tudod írni while-lal:)

        Kedvelés

      • Szep napot!
        Kicsit megkesve bar, csak most talatam meg a lapod. Gratulalok hozza, nagyon hasznos!
        A feladatban leirt kiirashoz nem ez a(z egyik) legegyszerubb megoldas?

        for szo in szavak:
        print(szo + 9 * (” ” + szo) + “.”)

        Bocs az ekezetert, nem talalok magyar betuket a klaviaturan. 🙂

        Kedvelik 1 személy

  2. Nekiugrok while-lal. Csak próbáltam a legegyszerűbb megoldásban gondolkodni. De gyakorlásnak szuper lesz. Big Respect a munkádért, és jó hétvégét!

    Kedvelés

    • Légy ügyes, és neked is:)

      Ja, még egy perverz megoldás:

      for szó in szavak:
      for akármi in szavak:
      print(szó + ‘ ‘)

      Azt használjuk ki, hogy a szavak lista pont tíz tagú, és a beslő ciklusban számlálóként futtatjuk végig:) Persze ezzel nem tdudnk tökéletes megoldás adni, mert nem vesszük észre, hogy már vége lesz a listűnak és szóköz helyett pontot kell írni.

      Kedvelés

  3. Valamiért nem küldte el, megpróbálom újra…
    Szóval az első házi feladatban valószínű, valamit rosszul csinálok, de nem tudok rájönni, micsodát. Tudna valaki segíteni?

    lovak =[‘Ráró’,’Baró’,’Tipró’, ‘Karó’]
    színek=[]
    szín= None
    for szín in lovak:
    ló=input(‘Milyen a színe’ + lovak +’ nak? ‘ )
    színek.append(ló)

    azt a hibaüzenetet kapom, TypeError: Can’t convert ‘list’ object to str implicitly.
    Köszi előre is!:)

    Kedvelés

    • Nem akarok pontos megoldást adni, mert gondolkodj csak.:) De próbállak rávezetni.

      A harmadik sorod nem kell. A negyediket írd át így:
      for ló in lovak:
      És ennek fényében javítsd az input utáni kérdést.
      Természetesen nem lesz jó így az input előtti változónév, mert azt elhasználjuk ciklusváltozónak.

      A hibaüzeneted szó szerint azt jelenti: nem tudok listát karakterlánccá alakítani, ha csak nem kéred kifejezetten.

      Ha keveset segítettem, kérdezz újra!

      Kedvelés

      • Teljesen jó, rájöttem, köszi! 🙂 Ezzel a forral még megbarátkozok, ott voltam hülye, hogy az egész listát akartam bekérni holott a for utáni cucc léptet egyesével. 🙂
        Még egyszer köszi, szupi az oldal!

        Kedvelés

  4. Hali!
    nekem ha a print a for cikluson belül van egészen fura eredményt hoz…….mutatom:
    program:
    szavak = []
    mondatok = []

    szo = None
    i = 0

    while i <= 10:
    szo = input('Adj meg egy szót! ')
    szavak.append(szo)
    i += 1
    for szo in szavak:
    szo = (szo + ' ')
    mondat = (10*szo + '.')
    mondatok.append(mondat)
    print(mondatok)

    eredmény:

    " ['szó szó szó szó szó szó szó szó szó szó .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .', 'macska macska macska macska macska macska macska macska macska macska .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .', 'macska macska macska macska macska macska macska macska macska macska .', 'macskák macskák macskák macskák macskák macskák macskák macskák macskák macskák .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .', 'macska macska macska macska macska macska macska macska macska macska .', 'macskák macskák macskák macskák macskák macskák macskák macskák macskák macskák .', 'valami valami valami valami valami valami valami valami valami valami .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .', 'macska macska macska macska macska macska macska macska macska macska .', 'macskák macskák macskák macskák macskák macskák macskák macskák macskák macskák .', 'valami valami valami valami valami valami valami valami valami valami .', 'valami valami valami valami valami valami valami valami valami valami .']
    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'katya katya katya katya katya katya katya katya katya katya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .', 'macska macska macska macska macska macska macska macska macska macska .', 'macskák macskák macskák macskák macskák macskák macskák macskák macskák macskák .', 'valami valami valami valami valami valami valami valami valami valami .', 'valami valami valami valami valami valami valami valami valami valami .', 'növény növény növény növény növény növény növény növény növény növény .'] "

    program:

    szavak = []
    mondatok = []

    szo = None
    i = 0

    while i <= 10:
    szo = input('Adj meg egy szót! ')
    szavak.append(szo)
    i += 1
    for szo in szavak:
    szo = (szo + ' ')
    mondat = (10*szo + '.')
    mondatok.append(mondat)
    print(mondatok)

    ha tehát a for cikluson kívül van a print, akkor az eredmény:

    ['szó szó szó szó szó szó szó szó szó szó .', 'szavak szavak szavak szavak szavak szavak szavak szavak szavak szavak .', 'mondat mondat mondat mondat mondat mondat mondat mondat mondat mondat .', 'mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok mondatok .', 'kutya kutya kutya kutya kutya kutya kutya kutya kutya kutya .', 'kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák kutyák .', 'macska macska macska macska macska macska macska macska macska macska .', 'macskák macskák macskák macskák macskák macskák macskák macskák macskák macskák .', 'növény növény növény növény növény növény növény növény növény növény .', 'növények növények növények növények növények növények növények növények növények növények .', 'valami valami valami valami valami valami valami valami valami valami .']

    (Bocsi, hogy tele spammeltem a kommenteket, de máshogy nem tudtam megmutatni. már az elején a bemutató videónál gyanús volt nekem, hogy nem egymás alá írja a szavakat…(itt "mondatokat")

    Valaki ötlet?

    Kedvelés

    • Ötlet biztos lesz, de mi a kérdés? 😉 Az első alkalommal minden új mondatnál kiírja az összes eddigit meg az újat, a másodiknál meg nem ír semmit, csak a végén a mondatokat egyszer.

      Kedvelés

  5. na hát, most látom, hogy utoljára mikor itt jártam akkor volt kis dilemmám. 😀
    azóta már ujrakezdtem(java tanulas miatt abba kellett hagynom :))
    es megint itt jarok, de mar nincs dilemma. 😀

    Kedvelés

  6. Visszajelzés: A bejárós ciklus és a bécsi klasszikusok - TeachersConnect

  7. Szervusz!
    Nagyon örülök, hogy létrehoztad Pythonidomárt, köszönet a munkádért!
    Csaltam a 14. lecke feladatival, többször is lesnem kellett. Majd megoldom újra, önállóan is! 🙂
    Az F0014d megoldásomban jobb ötlet híján a szavak elé tettem a szóközt,
    mert nem jöttem rá, hogy is lehetne másképp a sorvégi pont elől kihagyni:

    szavak = []
    i = 0

    while i < 10:
    szó = input('Írj ide egy szót! ' )
    i += 1
    szavak.append(szó)

    while i < 15:
    for szó in szavak:
    print(' '+szó, end='')
    print('.')
    i += 1

    Üdv: Pap Zsolt

    Kedvelés

    • Thx:)
      Szóval vizsgálhatod, hogy hányadik szónál jársz, és ha nem az utolsó, akkor a szó után írsz szóközt, különben pontot.

      Kedvelés

      • Igen, köszönöm a tippet! 🙂
        Lehetne egy print utasítással kiíratni a mondatokat?

        szavak = []
        i = 0
        while i < 10:
        szó = input(Írj ide egy szót! ' )
        i += 1
        szavak.append(szó)
        while i < 15:
        for szó in szavak[0:9]:
        print(szó + ' ', end = '')
        for szó in szavak[9]:
        print(szó + '.')
        i += 1

        Üdv: PZs

        Kedvelés

  8. Helyesbítem az előzőt:

    szavak = []
    i = 0
    while i < 10:
    szó = input('Írj ide egy szót! ' )
    i += 1
    szavak.append(szó)
    while i < 15:
    for szó in szavak[0:9]:
    print(szó+' ', end = '')
    for szó in szavak[9:]:
    print(szó+'.')
    i += 1

    Kedvelés

  9. szia, nagyon klassz a weboldal, mar a 14. leckenel jarok 🙂 most kezdtem el programozni, majdnem 40 evesen …
    szivesen tamogatnalak! sorre, kavera, RAM-ra, vagy csak ugy 🙂
    hogy tudnam ezt megtenni? bitcoin, ether, iota, szamlaszam ? 🙂
    koszi Gergo

    Kedvelés

  10. Üdvözöllek!

    Először is csatlakozom az előzőekhez: rendkívül jók és érthetőek a magyarázataid! Köszönöm szépen!
    A következő gondom akadt. Betűre pontosan beírtam a programodat, és nálam a következő hibákra futott.
    (Bár nem kellett volna, hisz a videódban láttam, hogy működött!!!)

    File “”, line 1, in
    NameError: name ‘Moldova’ is not defined

    Ha aposztrófok közé írom a nevet, akkor jó a while függvény.
    A for-nál pedig Szintaktikai hibát ír ki:

    SyntaxError: unexpected EOF while parsing

    Válaszodat előre is köszönöm!

    ui: Kellemes karácsonyi ünnepeket.

    Kedvelés

    • Zavar, hogy miért nincs fájlnév, meg mindez…. Meg tudnád csinálni azt, hogy fölveszed amit ténykedsz, és feltöltöd valahova (Google Drive, Youtube csak linkkel megnézhető fájlként, akármi)? Adj utána linket és megnézem, hátha lesz ötletem. Annyit kockáztatsz, hogy megnézi még valaki, úgyhogy a felvétel előtt tedd el a jelszavakat az Asztalról:)

      Kedvelés

  11. Itt a felvétel! Elnézést a kép remegésért.
    Még egy fontos dolog, a korábbi hibaüzenetnél természetesen volt file név és útvonal. Csak lusta voltam beírni. Ui: a gyakorló gépem offline módú

    Kedvelés

    • Elsőnek tedd meg kérlek, hogy megpróbálsz 3.x-es Pythont telepíteni – az egész Pythonidomár a 3-as verzióval dolgozik, ami *nem* kompatibilis a 2.x-es sorozattal. Ha úgy sem megy, akkor vadásszuk tovább a problémát, tutira meglesz – ha te elég kitartó vagy videót gyártani meg feltölteni, akkor én is elég kitartó leszek mind végignézni:)
      Még valami: XP-vel nem tudom, melyik Python3 megy, lehet, hogy nem mindegyik, nézz utána, mielőtt telepíteni próbálkozol. Nekünk eddig a pontig a régebbi Python3-ak is jók lesznek.
      A Python3 UTF-8 as karakterkészletet használ kívül-belül, azaz a kód elején a CP1250-es bejegyzés nem fog kelleni.

      Kedvelés

  12. Kedves pythonidomár,

    Az F0014d-re az alábbi lehet egy vállalható megoldás?

    szo_sorszama = 0
    szavak = []
    szo = None
    while szo_sorszama < 10:
    szo = input('Mi az ' + str(szo_sorszama + 1) + '. szó? ')
    szavak.append(szo)
    szo_sorszama += 1

    mondatok_szama = 0

    while mondatok_szama < 5:
    mondatok_szama += 1
    for szo in szavak:
    if len(szavak) != szavak.index(szo) + 1:
    print(szo + ' ', end='')
    else:
    print(szo + '.')

    Köszönöm szépen előre is! 🙂

    Kedvelés

      • Megnéztem:) Vállalható és hibátlan, de nem használod ki az e leckében tanultakat. próbáld meg megoldani az egészet csak for-ral, while nélkül. Tisztább, szárazabb, biztonságosabb érzés. (Nem tudom, éltél-e eleget a múlt században, ez egy reklámszlogen volt, de már elfelejtettem, hogy pelenkáé vagy intim betété:))

        Kedvelés

  13. Szia,
    Jobban utánaszámolva többet éltem a múlt században, mint a mostaniban, de nem ugrik be nekem sem, hogy melyikhez kapcsolódik a szlogen 🙂
    Nem akarok tippet adni, de a századokban élt évek arányának a meghatározása lehetne egy feladvány 🙂
    A feladatot módosítottam úgy, hogy csak for ciklus van benne, de ehhez szükség volt a következő anyagban tanultakra 🙂

    https://pastebin.com/4RqJ4dDs

    Annyit módosítottam még, hogy a lista hosszának meghatározását kivettem a ciklusok belsejéből és kitettem az első for elé. Így csak egyszer végzi el ezt, nem pedig a minden egyes alkalommal, amikor kiír egy szót. Így kiíráskor már csak azt ellenőrzi, hogy az utolsó szót írja-e, vagy sem.
    Ha jól sejtem így néhány órajelet megtakarítok a mikroprofesszornak 🙂
    Van értelme az efféle gondolkodásnak / tervezésnek a program írása során, vagy valójában ez nem okoz különösebben nagyobb erőforrás használatot? (Nyilván egy nagyobb lélegzetvételű programnál jobban számít)

    Előre is köszönöm!

    Kedvelés

    • Nekem még van egy öt évem, hogy egálban legyenek az évszázadok:)
      Szóval alapvetően azt mondanám, hogy igen, és csináld is meg (tudod, tszbé), jobban olvasható a kódod. Ugyanakkor nem tudom, hogy a Python értelmezője nem csinálja ezt meg számodra sokkal hatékonyabban beépített optimalizálással, léptem már ilyennel puhába, lásd:

      Kedvelés

      • Köszönöm szépen a példát!
        Igazad van, egész biztos, hogy optimalizál. Ellestem fenti a példádból az időmérést, 100000-szer írattam ki a mondatokat és, mindezt 10-szer lefuttattam. ~185 és ~190 sec volt a futási idő, ami látható, de elég csekélynek tekinthető különbség (~2,7%) (vagy ennyire hatékonyan számolja meg a lista elemeit a Python)
        Megvallom kicsit(?) műveletlen vagyok, nem tudom a tszbé jelentését 🙂 Lehet azért mert nekem még 10 év kell az egálhoz 🙂
        A program végül nem lett bonyolult, bár inkább vázlatnak tekinthető. Vannak azért korlátai, amik leginkább az integerré alakításból és a születési hónap, nap figyelmen kívül hagyásából adódnak.
        https://pastebin.com/nmBMf7TY

        Kedvelés

  14. Sziasztok. Nem láttam még tisztán for-os megoldást. Ez pici csalással a közepén az. A mondatvégi pont miatt másképp nem sikerült megoldani még eddig, remélem elfogadható és bekerül pelenka vagy betét kategóriába. 😀

    szavak = []
    hanyadik = range(1,10)
    hanyszor = [1,2,3,4,5]

    for i in hanyadik:
    szo = input(‘Adj meg egy szót:’)
    szavak.append(szo)

    szo = input(‘Adj meg egy szót : ‘)
    szavak.append(szo+’.’)

    for i in hanyszor:
    for i in szavak:
    print(i+’ ‘,end=”)
    print()

    Kedvelés

  15. szó = None
    szavak = []
    számláló = 0

    while számláló < 10:
    szó = input('Mondj egy szót! ')
    szavak.append(szó)
    számláló += 1
    print(szavak)
    számláló =0

    for szó in szavak:
    while számláló < 10:
    print(szó, end= ' ')
    if számláló == 9:
    print(szó + '.')
    számláló += 1
    számláló = 0

    Kedvelés

  16. Sziasztok, köszi a weboldalt, valami nagyon szuper. A 14d csak for-ral, igaz csaltam a range-dzsel, ami még nem volt.

    words = []
    word = None

    for i in range(9):
    i+=1
    word =input(‘Adj meg kérlek 10 szót, az ‘+ str(i) +’. szó: ‘)
    words.append(word)
    word10=input(‘Adj meg kérlek 10 szót, a 10. szó: ‘)

    for j in range(5):
    for word in words:
    print(word,”,end=”)
    print(word10,’.’,sep=”)

    Kedvelés

  17. Szervusz Kedves Pyhtonidomár, Szervusztok Mindenki!

    F0014d-hez egy megoldás:

    i = 1
    szó = None
    szavak = []
    while i<=10 and szó!='':
    szó=input('Add meg a(z) '+str(i)+'. szót!\n: ')
    if szó:
    szavak.append(szó)
    i+=1
    i=1
    while i<=5:
    for szó in szavak:
    print(szó+' ',end='')
    print('\b.')
    print('')
    i += 1

    Köszönök előre is minden építő jellegű észrevételt!

    Kedvelés

  18. “””Kérj be 10 szót, majd írj belőlük 5 mondatot!

    Az öt mondat teljesen egyforma,

    a tíz szó felsorolása, szóközzel elválasztva,

    a végén ponttal (az első szó kezdődhet kisbetűvel).”””

    szavak = []

    ismétlés = 1

    while ismétlés <= 10:

        szó = input(‘Add meg a(z) ‘+str(ismétlés)+’ szót!’)

        if szó:

            szavak.append(szó)

            ismétlés += 1

    for szó in range(5):

        text = ‘%s’ % str(‘ ‘.join(szavak)+’.’)

        print(text)

        if ismétlés == 10:

            break

    Kedvelés

Hozzászólás