Informatika2-2021/CsütGyak09
(→Konvertálás) |
(→Kombinációk) |
||
(egy szerkesztő 16 közbeeső változata nincs mutatva) | |||
1. sor: | 1. sor: | ||
= Feladatok = | = Feladatok = | ||
+ | ==Római számok== | ||
+ | === Konvertálás === | ||
+ | Írjunk egy '''konvertalas''' függvényt, melynek két opcionális paramétere van, melyek default értéke False. Az egyik paraméterben megadhatunk egy római számot, ekkor visszatér a hagyományos, általunk használt arab számjegyekkel történő leírásával integer formátumban. A másik paraméterben pedig megadhatunk egy integert és visszatér a római számos alakjával. Római számoknál használjuk a [https://en.wikipedia.org/wiki/Roman_numerals#Standard_form hagyományos] írásmódot. Amennyiben megadjuk mindkét paramétert, térjünk vissza mindkettővel egy listában, ha viszont egyiket sem adjuk meg, akkor térjen vissza None-nal.<br> | ||
+ | ''Ha elakadnál a feladat megoldásával, akkor bőven elég az is, ha 1-től 150-ig és I-től CL-ig tudod konvertálni a számokat.'' <br> | ||
+ | ''Írhatunk külön függvényeket a konvertálásokra, amiket aztán felhasználunk a '''konvertalas''' függvénynél. | ||
+ | === Összeadás === | ||
+ | Az előző függvény segítségével írjunk olyan ''variadikus'' függvényt mely tetszőleges számú római számot tud összeadni. | ||
− | == | + | === Keresés === |
− | Írjunk egy ''' | + | Írjunk egy függvényt, mely egy szövegben megkeresi a római számokat és visszaadja azokat egy listában. <br> |
+ | Használjunk reguláris kifejezéseket! Importáljuk a re libraryt. (import re) <br> | ||
+ | Segítséget nyújthat az idevágó előadás notebookja, illetve az alábbi oldalak: <br> | ||
+ | [https://docs.python.org/3/library/re.html w3schools] <br> | ||
+ | [https://www.w3schools.com/python/python_regex.asp python docs] <br> | ||
+ | Illetve egy kis segítség a megoldáshoz: <br> | ||
+ | Például az alábbi kifejezéssel térhetünk vissza egy szövegből a megadott regexre illeszkedő szavakkal: <br> | ||
+ | [x.group() for x in re.finditer( r'IX|IV|V?I{0,3}', 'A megadott regex illeszkedik az egyjegyű a római számokra, tehát például az I és IV és V-re.') if x.group()!=''] | ||
+ | |||
+ | === Végső === | ||
+ | Határozzuk meg az első 10 prímszám összegét római számos alakban az alábbi szöveg segítségével! (Például legyen a kereses függvény inputja az alábbi szöveg.) | ||
+ | 'Az első 10 prímszám római alakban így néz ki: Az egyjegyű prímszámok: II, III, V, VII. Kétjegyű prímszámok: XI, XIII, XVII, XIX, XXIII, XXIX.' | ||
+ | |||
+ | == Kombinációk == | ||
+ | Írjunk egy ''variadikus'' függvényt, melynek bemenetei különböző egész számok és kimenete pedig a számok összes lehetséges kombinációja egy listában. <br> | ||
+ | Tipp: Használjunk rekurzív függvényhívásokat! | ||
+ | |||
+ | == Zéró Számhármasok == | ||
+ | Írjunk egy ''variadikus'' függvényt, melynek bemenetei különböző egész számok, kimenete pedig egy listában azon számhármasok, melyeknek összege 0. | ||
+ | |||
+ | == Jelszó ellenőrzés == | ||
+ | Írjunk egy függvényt, ami ellenőrzi, hogy a regisztrációnál általunk megadott jelszó helyes formátumú-e. Az oldal a következőket kéri tőlünk: | ||
+ | *At least 1 letter between [a-z] and 1 letter between [A-Z]. | ||
+ | *At least 1 number between [0-9]. | ||
+ | *At least 1 character from [$#@]. | ||
+ | *Minimum length 6 characters. | ||
+ | *Maximum length 16 characters. | ||
+ | |||
+ | == Számláló == | ||
+ | Hozzunk létre egy '''count''' változót, ami számolja, hogy hányszor hívtunk meg egy adott függvényt. | ||
+ | A függvényünk legyen egy egyszerű összeadás add(x, y), ami visszatér x+y-al és a count változó számolja, hogy hányszor hívódott meg a függvény. A count változót ne mi magunk növeljük a függvényhívások előtt vagy után, hanem maga az add függvény növelje meg az értékét is. |
A lap jelenlegi, 2021. április 8., 02:10-kori változata
Tartalomjegyzék |
Feladatok
Római számok
Konvertálás
Írjunk egy konvertalas függvényt, melynek két opcionális paramétere van, melyek default értéke False. Az egyik paraméterben megadhatunk egy római számot, ekkor visszatér a hagyományos, általunk használt arab számjegyekkel történő leírásával integer formátumban. A másik paraméterben pedig megadhatunk egy integert és visszatér a római számos alakjával. Római számoknál használjuk a hagyományos írásmódot. Amennyiben megadjuk mindkét paramétert, térjünk vissza mindkettővel egy listában, ha viszont egyiket sem adjuk meg, akkor térjen vissza None-nal.
Ha elakadnál a feladat megoldásával, akkor bőven elég az is, ha 1-től 150-ig és I-től CL-ig tudod konvertálni a számokat.
Írhatunk külön függvényeket a konvertálásokra, amiket aztán felhasználunk a konvertalas függvénynél.
Összeadás
Az előző függvény segítségével írjunk olyan variadikus függvényt mely tetszőleges számú római számot tud összeadni.
Keresés
Írjunk egy függvényt, mely egy szövegben megkeresi a római számokat és visszaadja azokat egy listában.
Használjunk reguláris kifejezéseket! Importáljuk a re libraryt. (import re)
Segítséget nyújthat az idevágó előadás notebookja, illetve az alábbi oldalak:
w3schools
python docs
Illetve egy kis segítség a megoldáshoz:
Például az alábbi kifejezéssel térhetünk vissza egy szövegből a megadott regexre illeszkedő szavakkal:
[x.group() for x in re.finditer( r'IX|IV|V?I{0,3}', 'A megadott regex illeszkedik az egyjegyű a római számokra, tehát például az I és IV és V-re.') if x.group()!=]
Végső
Határozzuk meg az első 10 prímszám összegét római számos alakban az alábbi szöveg segítségével! (Például legyen a kereses függvény inputja az alábbi szöveg.) 'Az első 10 prímszám római alakban így néz ki: Az egyjegyű prímszámok: II, III, V, VII. Kétjegyű prímszámok: XI, XIII, XVII, XIX, XXIII, XXIX.'
Kombinációk
Írjunk egy variadikus függvényt, melynek bemenetei különböző egész számok és kimenete pedig a számok összes lehetséges kombinációja egy listában.
Tipp: Használjunk rekurzív függvényhívásokat!
Zéró Számhármasok
Írjunk egy variadikus függvényt, melynek bemenetei különböző egész számok, kimenete pedig egy listában azon számhármasok, melyeknek összege 0.
Jelszó ellenőrzés
Írjunk egy függvényt, ami ellenőrzi, hogy a regisztrációnál általunk megadott jelszó helyes formátumú-e. Az oldal a következőket kéri tőlünk:
- At least 1 letter between [a-z] and 1 letter between [A-Z].
- At least 1 number between [0-9].
- At least 1 character from [$#@].
- Minimum length 6 characters.
- Maximum length 16 characters.
Számláló
Hozzunk létre egy count változót, ami számolja, hogy hányszor hívtunk meg egy adott függvényt. A függvényünk legyen egy egyszerű összeadás add(x, y), ami visszatér x+y-al és a count változó számolja, hogy hányszor hívódott meg a függvény. A count változót ne mi magunk növeljük a függvényhívások előtt vagy után, hanem maga az add függvény növelje meg az értékét is.