Informatics2-2018/Lab03
Tartalomjegyzék |
Exercises
Mean nearest
Write a function that finds an element in a list which is the nearest to the mean of the list. There should be one parameter, the list.
Increasing sublists
Write a function that finds increasing sublists with a given length within a given list. The function should have two parameters:
- a list l
- and a natural number n
- return the list of n-long increasing sublists of l
Break down to subtasks:
- first return the list of all n-long sublists of l
- Check whether a sublist is increasing
Name conflict
We are throwing a party and there are a lots of unknown people there. We write their names in a list. Write a python function that decides whether there is a duplicate in the names (two person with the same name).
The function should have one parameter: the list of names.
Return True if there are at least two people with the same name, </tt>False</tt> is all the names are unique.
Hint:
Mind that do not compare ones name to itself, only to other's names.
Pronunciation
In Hungarian there are a lots of vowels and some words are hard to pronounce if there are a lots of consonants in them. For example "elorozza" has a good number of vowels, but the Slovakian "zmrzlina" has too many consonants.
Write a python function that decides whether a word has too many consonants or not.
- Call the function pronunciation
- with one parameter: word, the word in question
- return the string "Hard" if the number of consonants are more (or equal) than twice the number of vowels.
- return "Easy" otherwise.
Food courses
Suppose you have a really strict diet and you have a given number of calories what you should eat for dinner. You walk in a restaurant and they have the menu of soups and main dishes. Every item on the menu has a calorie value.
Can you choose the right dishes to exactly match your calorie intake?
Write a python function
- called dishes
- that have three parameters:
- calorie, the number of calories you should eat
- soups, a list containing calorie values for the soups
- mains, a list containing calorie values for the main dishes
- You should return True if there is a two-course meal that fits your diet (True otherwise).
Pascal
A Pascal-háromszög a binomiális együtthatók háromszög formában való elrendezése. Részletes leírás található pl. a magyar wikipédián. A lényeg az, hogy az n. sor k. eleme az az "n alatt a k" binomiális együttható, és minden elem a felette levő kettő összege. Írjuk meg a pascal nevű függvényt, ami visszaadja a Pascal-háromszög első néhány sorát listák listájaként. A függvény paramétere:
- n, hogy hány sort számoljunk ki
Így tehát pl. pascal(4)-nek a következőt kell visszaadnia:
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1]]
Az elemek kiszámolásához ne a binomiális együttható általános (faktoriálisos) képletét használjuk, hanem azt, hogy a felette levő két elem összege!
Cserebere
A bemenetünk egyrészt egy szó a szo nevű változóban, másrészt cserék egy sorozata, amit végre kell hajtani a szón, a cserek nevű változóban. Így szo egy karakterlánc, cserek pedig egy lista, melynek minden eleme egy pár, ami a csere helyét, és az új betűt tartalmazza.
Ezeket a cseréket kell elvégezni a szo-n és az így kapott sztringet visszaadni.
Név generátor
Egy olyan számítógépes játékon dolgozunk, amiben rendszeresen találkozunk más, a számítógép által megszemélyesített, karakterekkel. Ezeknek a karaktereknek számítógép véletlenszerűen választ nevet, azonban szeretnénk elkerülni hogy ugyanazt a nevet sokszor lássa a játékos. Ezért ahelyett hogy egy listányi nevet megadtunk volna a játék készítésekor, inkább külön-külön egy listányi előtagot és utótagot adtunk meg, hogy ezekből rakja össze a karakterek neveit.
Írjuk meg a függvényt, ami az összes lehetséges nevet összerakja az adott elő és utótagok listája alapján.
- A függvény neve legyen nev_generator, és két paramétere legyen
- elotagok, egy lista, amiben az előtagok szerepelnek karakterláncokként
- utotagok, egy lista, amiben az utótagok vannak hasonlóan.
- A adja vissza az összes lehetséges összerakott nevet egy listában.