polko-irina / Python-1

0 stars 0 forks source link

Posilam DU.2. #2

Closed polko-irina closed 2 years ago

polko-irina commented 2 years ago

https://github.com/polko-irina/Python-Czechitas/blob/master/2.%20lekce.%20DICT/4.DU.py

Ahoj, posilam DU2. Zkoušela jsem 2 varianty ale žadna z nich neni dokonala :(

pmoravkova commented 2 years ago

Jak rikas, ani jedna neni uplne spravne. V druhem pripade na to jdes lepe, ale bohuzel to neni uplne dotazene. Jde o to, ze kdyz udelas for item in staty, znamena to, ze python vzdy do promenne item ulozi jeden prvek ze seznamu staty, a s tim pracuje. Takze kdyz skonci cyklus, pod promennou item je ulozena posledni polozka seznamu, tedy item = {'name': 'Zimbabwe', 'capital': 'Harare', 'region': 'Africa', 'subregion': 'Eastern Africa', 'population': 14240168, 'area': 390757.0}. Varianta A - tady pozor, protoze else k sobe nema if, to if je na jine urovni. Takze tady tuhle else provede python uplne vzdy, jakmile dokonci cyklus. Proto vzdy na konci kazdeho seznamu najdes i 'neznamy region'. Varianta B - velmi dobry napad vytvorit seznam. Ty vlastne potrebujes porovnat kontinent, ktery uzivatel zada, vuci vsem kontinentum z celeho slovniku, takze si to python musi nejdriv nejak zapamatovat. Problem zde ale, ze ten seznam kontinentu uz nikde nepouzivas pak. A konecne else je stejne jako ve variante a. Vlastne stacilo jen misto

else:
    print('Neznamy region')

pouzit neco jako:

if a not in b:
    print('neznamy region')
polko-irina commented 2 years ago

Mohu to ještě po hodině opravit?

---------- Původní e-mail ---------- Od: pmoravkova @.> Komu: polko-irina/Python-Czechitas @.> Kopie: polko-irina @.>, Author @. com> Datum: 11. 10. 2022 17:47:09 Předmět: Re: [polko-irina/Python-Czechitas] Posilam DU.2. (Issue #2) "

Jak rikas, ani jedna neni uplne spravne. V druhem pripade na to jdes lepe, ale bohuzel to neni uplne dotazene. Jde o to, ze kdyz udelas for item in staty, znamena to, ze python vzdy do promenne item ulozi jeden prvek ze seznamu staty, a s tim pracuje. Takze kdyz skonci cyklus, pod promennou item je ulozena posledni polozka seznamu, tedy item = {'name': 'Zimbabwe', 'capital': 'Harare', 'region': 'Africa', 'subregion': 'Eastern Africa', 'population': 14240168, 'area': 390757.0}. Varianta A - tady pozor, protoze else k sobe nema if, to if je na jine urovni. Takze tady tuhle else provede python uplne vzdy, jakmile dokonci cyklus. Proto vzdy na konci kazdeho seznamu najdes i 'neznamy region'. Varianta B - velmi dobry napad vytvorit seznam. Ty vlastne potrebujes porovnat kontinent, ktery uzivatel zada, vuci vsem kontinentum z celeho slovniku, takze si to python musi nejdriv nejak zapamatovat. Problem zde ale, ze ten seznam kontinentu uz nikde nepouzivas pak. A konecne else je stejne jako ve variante a. Vlastne stacilo jen misto

else: print('Neznamy region')

pouzit neco jako:

if a not in b: print('neznamy region')

— Reply to this email directly, view it on GitHub (https://github.com/polko-irina/Python-Czechitas/issues/2#issuecomment-1274911247) , or unsubscribe (https://github.com/notifications/unsubscribe-auth/AVMMNGJKDH6KPORVYFU7P4DWCWDXTANCNFSM6AAAAAARBT2A2A) . You are receiving this because you authored the thread. Message ID: <polko- @.***> "

pmoravkova commented 2 years ago

Jasny, za me mas ukol odevzdany, protoze snaha, osobni pristup i vse tam bylo. Muzes ke kontrole dalsi reseni odevzdat i pozdeji, klidne zkontroluji, stejne tak i bonus, kdyby se ti pak jeste podarilo vypracovat

polko-irina commented 2 years ago

Prosím tebe, takhle by bylo správně ? https://github.com/polko-irina/Python-Czechitas/blob/master/2.%20lekce.%20DICT/4.DU.py

pmoravkova commented 2 years ago

Skoro, ale pozor na odsazeni. Mas odsazeno i posledni dva radky, kdy kontrolujes, jestli tam ten region je. Ale tim, ze to mas odsazeny, tak to probehne v kazdem tom kole for item in staty. Tudiz, kdyz zadas napriklad Africa region, tak prvni stat je Afganistan, do seznamu b to prida Asia, a nasledne to vyhodnoti, ze Africa neni v seznamu b a napise "neznamy region". A az kdyz se prida Africa do toho seznamu b, coz je az ctvrta polozka, tak to prestane psat neznamy region. Ty potrebujes ale, aby nejdriv se vytvoril cely ten seznam b, a pak zkontrolujes, jestli v nem ten region je nebo neni. Je to jen odsazeni, ale musi to tam byt.

a = input("Jaky region tě zajima? ")
b = []
for item in staty:
    b.append(item['region'])
    if item['region'] == a:
        print(item['name'])

if a not in b: #tady to nesmis mit odsazeny, aby se to nevyhodnocovalo v ramci toho for item in staty, tedy pro kazdy prvek slovniku, ale az na konec.
    print('Neznamy region')