zopletalova / python-012021

0 stars 0 forks source link

Úkoly Python - program 1-5 #1

Closed zopletalova closed 3 years ago

zopletalova commented 3 years ago

Ahoj Andy, @andywaltlova odevzdávám úkoly z úterní lekce - aspoň si to myslím :-) Návod jsem nějak jen rychle prolétla, tak snad je vidíš všechny :-) Děkuji předem za zpětnou vazbu Zuzka

andywaltlova commented 3 years ago

1. úkol :heavy_check_mark:

pravda =True
if pravda:
    print('Je to pravda')
else:
    print('Neni to pravda')

A ano v Pythone existuje konstrukce else if, zkracene elif:

num = 4
if num > 0 :
    print('kladne')
elif num < 0:
    print('zaporne')
else:
    print('nula')

Jinak vnořené podmínku nejsou vždy na škodu, tady v tomto příklady by si například mohla jen jednou kontrolovat zda je cislo ve slovníku a pak vnorit podminku zda je nebo není doručen.

2. úkol :heavy_check_mark:

3. úkol :heavy_check_mark:

4. úkol :heavy_check_mark:


[1] Dokonce můžeš takto porovnávat i jiné datový typy, můžeš například zkusit zjistit jak vypadabool(1),bool(0),bool(-1), nebo bool('') a bool('hello').

Vesměs všechny poznámky jsou spíše k zamyšlení a vyšperkování již tak pěkného kódu, proto tě prosím pouze o opravu prvního úkolu:

Skvělá práce, jen tak dál 👍

zopletalova commented 3 years ago

Ahoj Andy, děkuji za připomínky! 👍

andywaltlova commented 3 years ago

Ahoj,

super, takže máš vše splněno ! :-)

Jinak Python si stěžovat nebude, protože jsi neudělala nic špatného, je to zkrátka jen řádek navíc, který je v kontextu programu zbytečný, protože k ničemu neslouží, ale jeho zápis je syntakticky správně :-)

Kromě stringu takto jde procházet i seznamy, respektive jde to oběma způsoby protože seznamy i stringy se dají indexovat stejně.

Užij si víkend!

Andy

andywaltlova commented 3 years ago

@zopletalova Ještě mě napadlo, pokud by tě zajímalo alternativní řešení třeba příkladu 5. ale dá se to použít na více místech. Tak existuje na slovniku metoda get, ktera je hodně podobná zápisu slovnik[klic], ale má jednu výhodu, a to že jí můžeš definovat hodnotu kterou vrátí, pokud klíč ve slovníku nenajde :) Konkretne v prikladu 5, by mohla vracet 0 pokud klic ve slovniku neni :)

Ale zminuji to spise doplnkove, protoze na uvodních kurzech se nepouziva, ale mohlo by se stat ze by si ji videla, kdyby si neco o slovnikach hledala na internetu :)

zopletalova commented 3 years ago

Ahoj Andy @andywaltlova Děkuji moc - zkusila jsem, funguje :-) Už dřív mě ještě napadla otázka - dá se ze slovníku nějak vypsat klíč? Nebo rovnou třeba seznam klíčů?

dictionary = {"Name": "Harry", "Age": 17} key = input("Zadejte klíč: ")

print(dictionary) """Vypíše celý slovník: {'Name': 'Harry', 'Age': 17}"""

print(dictionary.get(key)) """vrátí None, když klíč neexistuje; když existuje, vypíše hodnotu"""

print(dictionary[key]) """vyhodí chybu, když klíč neexistuje; když existuje, vypíše hodnotu"""

Děkuji :-) Z

andywaltlova commented 3 years ago

Ahoj,

ano určitě se dá :)

V dokumentaci je obecně popsano jak slovnik funguje a co se s nim dá vše dělat.

Nejpoužívanější jsou asi tyto tři metody:

dictionary = {"Name": "Harry", "Age": 17}
hodnoty = dictionary.values()
klice = dictionary.keys()
dvojice = dictionary.items()

Vsechny tyto metody nevraci primo listy, ale vraci takzvane view objects, coz te moc nemusi zajimat, protoze jsou to iterovatelne hodnoty stejne jako jsou listy, takze muzes normalne pouzivat operator in a stejne tak je for cyklem prochazet. Na vsechny promenne klidne muzes zavolat funkci list() a tim se ty view objekty prevedou na obycejne listy :)

V pristi lekci si v souvislosti s for cykly budeme ukazovat, ze se prave daji prochazet klice a hodnot slovniku najednou.

for k,v in dictionary.items():
    print(k,v)
zopletalova commented 3 years ago

Ahoj Andy @andywaltlova moc díky, hodila jsem to "do stroje" a to poslední procházení pomocí cyklu for je přesně to, co jsem hledala 👍 Ještě jednou děkuji moc a už ti dám pokoj, ať se můžeš věnovat taky ostatním 😎 Hezký víkend! Zuzka

andywaltlova commented 3 years ago

Ahoj,

vůbec není zač, zatím jsi první kdo odevzdal :)

Taky přeju krásný víkend! Andy

andywaltlova commented 3 years ago

Zavírám issue, protože je vše splněno, komentovat jde i pod zavřením :)