for cyklů
Na přednášce byl prezentován problém vězňova dilematu. Přečtěte si pozorně zadání úlohy: Vězňovo dilema.
další čtení pro vaši inspiraci
for přes indexy seznamu, po elementech, zjištění délky seznamu, prázdný seznam. Implementujte jednoduchou funkci find_max
def find_max(in_list): """ find maximum value in a list or tuple :param in_list: a list or tuple of elements that allow < comparison :return: a tuple max_value, index of the max_value within the list """
základní datové typy: čísla, znaky, True, False, řetězce, platnost jednotlivých proměnných. Vylepšete funkci find_max tak, aby v případě, že vstupní seznam je prázdný vrátila hodnotu None. Vhodně otestujte.
Implementujte jednoduchou třídu ComplexNumber, která si poradí s
if __name__ == "__main__": a = ComplexNumber(1,2) b = ComplexNumber(10,10) c = a+b # c must be also a ComplexNumber object, use __add__ print(c.re,c.im) # just a simple check that the addition works print(c) # implement simple __str__ method
Neděste se, vyučující vám na cvičení ukáží jak na to.
Přečtěte zbytek vašeho vybraného Python tutorial. V případě doporučeného jsou to kapitoly 3-9. Nemusíte úplně rozumět všemu, ani si pamatovat vše zpaměti. Měli byste mít natrénován postup jak si dohledat potřebné informace, mít natrénovanu práci s např. Pyhon 3 tutoriálem, nebo jiným podobným zdrojem veškeré moudrosti
Na codecademy pokračujte v interaktivním kurzu. Předpokládáme, že otázky, které jste měli po části kurzu z minulého týdne, jste položili na fóru nebo právě dnes na cvičení a že tudíž můžete pokračovat dál sekcemi:
Opět se pokuste dostat co nejdál v co nejvíce částech. Stále platí, že tato cvičení vám mají především pomoci identifikovat věci, kterým nerozumíte. Pokládejte otázky na fóru nebo na cvičení!
vectors.py
get_vector(self) navrátí jednodimenzionální pole obsahující prvky vektoru.
__mul__(self,other) implementujte skalární součin dvou objektů typu MyVector. Výstupem je tedy skalár (jedno číslo).
vectors.py nesmí importovat jiné moduly
Nazapomeňte na vlastní kontrolu kódu, nespoléhejte pouze na kontrolu UploadSystému. Třeba něco jako:
if __name__ == "__main__": vec1 = MyVector([1,2,3]) # vektory mohou byt i jine dimenze nez 3! vec2 = MyVector([3,4,5]) print(vec1.get_vector()) # priklad ziskani seznamu dot_product = vec1*vec2 # vypocet, pretizeny operator *, vola se __mul__ print(dot_product) # jen kontrolni vytisk