removed useless markdown; now to rebase

master
Dawid J. Kubis 3 years ago
parent f0ff9238e6
commit 51f6fe01f9

@ -1,16 +0,0 @@
# kricici_lukas.py
```python
# ptame se uzivatel jestli lukas krici
krici = input('Krici Lukas? : ')
# promenna `krici` ma typ str
# zjistujeme jestli uzivatel napsal ano
# tady je rozdil mezi 'ano' a 'Ano' (velka pismena nemame osetrena)
if krici == 'ano':
print('Lukasi, mohl by ses trochu ztisit?')
else:
print('zrovna nemluvi?')
# btw tohle vymyslel Lada
```

@ -1,22 +0,0 @@
# sude_nebo_liche.py
```python
# zjistujeme cislo od uzivatele
x = input('zadej cislo : ') # x je typ str
# prevadime x na typ int pomoci funkce `int`
# tohle vyhodi chybu pokud uzivatel je dement
# a napsal neco ve smyslu 'ahoj'; to totiz nelze prevest na int
x = int(x)
# koukame se jestli zbytek z deleni dvemi je 0
# -> jesli je `x` delitelne dvemi
if x % 2 == 0:
print('je sude')
else:
# tohle je sice ekvivalent `elif x % 2 == 1`
# ale takhle je to prehlednejsi
# mohli bychom taky napsat dalsi if
# - fungovalo by to stejne ale tohle je
# mnohem prehlednejsi
print('je liche')
```

@ -1,39 +0,0 @@
# umocnovani.py
```python
# takze tohle je implementace
# skriptu ktery umocnuje cisla
# bez pouziti operatoru `**`
# je to uprimne trochu gay a
# ve skutecnosti byste tohle nikdy
# nepouzili, ale hezky to ukazuje praci
# s loopama
# ziskame zaklad
a = int(input("zadejte zaklad : "))
# ziskame exponent
e = int(input("zadejte exponent : "))
i = 0 # tohle je iteracni promenna
# budeme totiz loopovat tolikrat, kolik mame exponent
# coz je trochu problem protoze exponent musi
# byt cele cislo
# no nic
prod = 1 # do tyhle promenny to budeme vsechno nasobit
# pozor; nemuze byt 0 protoze by nula je nulovy prvek
# grupy celych cisel s nasobenim; to je jedno
# proste by nam pohltila cely nasobeni a vysledek
# by byl nula
while i < e: # loopujeme tolikrat kolik je exponent
prod *= a # nasobime cislo samym sebou
# ekvivalent
# prod = prod * a
i += 1 # pricitame iterator aby to fungovalo
# vypisujeme vysledek
print(f"vysledek : {prod}")
```

@ -1,25 +0,0 @@
# fizzbuzz.py
```python
# tahame hodnotu od uzivatele
lim = int(input('zadej cislo : '))
# prazny string
output = ''
# vsechna cisla do lim
for i in range(lim):
# reset promenny output
output = ''
# pokud delitelne tremi
if i % 3 == 0:
output += 'fizz'
# pokud delitelne peti
if i % 5 == 0:
output += 'buzz'
# zjistujeme jestli nam to
# stoji za to vypsat
if output != '':
print(output)
```

@ -1,15 +0,0 @@
# bigdick_sito.py
```python
# Tak tady bude nejaka cool implementace erastotenova sita
# timhle se radsi zatim netrapte
from functools import reduce
def gen_primes(lim): # kratsi nazev -> optimalizace :D
return [i for i in reduce((lambda a, b : [(i[0] if i[0]==i[1] else 0) for i in zip(a,b)]),[[(0 if ((x % i == 0) and (x != i)) else x) for x in range(2, lim)] for i in range(2, lim)]) if i != 0] # hehe :D
# lol tohle je doslova nenormalni
# prosim nepiste takovyhle kod, nikdo tomu nebude rozumet
# ale je to celkem flex
print(gen_primes(int(input("zadej cislo : "))))
# je to dost pomalejsi nez to predtim ale je to rozhodne vic cool
```

@ -1,53 +0,0 @@
# erastotenovo_sito.py
```python
# yeehaw
# budeme hledat prvocisla
# fakt super
# zacnu od udelani funkce ktera bere
# horni hranici intervalu a vrati mi seznam
# vsech prvocisel do tyto hranice
# generate_primes(10) ma vyhodit [2, 3, 5, 7]
def generate_primes(lim): # lim je horni hranice intervalu
nums = list(range(2, lim)) # seznam vsech cisel od 2 do lim
primes = [] # prazny seznam
x = nums[0] # ulozime si prvni cislo
# ktery je prvocislo
while x < int(lim**0.5): # staci ze hledam do odmocniny z lim
# teoreticky bych mohl napsat jenom
# while nums[0] < lim
# ale je to pomalejsi
# jo a int() mi z toho udela cele cislo
# coz odmocnina neni
x = nums[0] # aktualizace x, ma smysl az po prvnim cyklu
# prvocislo
temp = [] # temporary seznam do kteryho budeme kopirovat
primes.append(x) # ukladame prvocislo do seznamu prvocisel
for i in nums: # prochazime nums a snazime se filtrovat
# cili nechat jenom cisla ktery nejsou delitelna nove pridanym
# prvocislem
if i % x: # True jenom pokud `i % x` neni 0 -> nedelitelny
temp.append(i) # temp nam slouzi jako budouci nums
nums = temp # pozirame temp a aktualizujeme nums
primes += nums # jinak by mi chybely cisla protoze jsem nahore
# napsal :
# while x< int(lim**0.5)
# kdybych to tam nenapsal tak tohle muzu vynechat
return primes # vracim cisla
print(generate_primes(int(input("zadej cislo : "))))
# tohle je mozna trochu prasacky
# mohl jsem to rozepsat jako :
# i = int(input("zadej cislo : "))
# print(generate_primes(i))
# ale nechtelo se mi lol
```

@ -1,9 +0,0 @@
# nejbigdick.py
```python
# tady te mam docente
def gp(n):
return [n[0]] + gp([i for i in n[1:] if i%n[0] != 0]) if n else [] # mnohem rychlejsi
print(gp(range(2, int(input('zadej cislo : ')))))
# touche
```

@ -1,13 +0,0 @@
# vic_bigdick_sito.py
```python
# Sire Kubisi, tady jsem vas dobehl
# Tohle single line sito je lepsi, kratsi a rychlejsi
# (Meril jsem to pomoci timeit)
from functools import reduce
def primes(n):
return reduce(lambda l, x: [y for y in l if y==x or y%x!=0], range(2, n), range(2, n))
print(primes(int(input("Zadej cislo: "))))
```

@ -1,23 +0,0 @@
# faktorial_rekurze.py
```python
# tady budeme resit faktorial rekurzivne
# matematicka definice :
#f(0) = 1
#f(n) = n * f(n - 1)
# takze vidime rekurzi - muzeme vyuzit
def f(n):
if n == 0: # f(0) = 1
return 1
# tady nepotrebujeme else, jelikoz v predchozim
# if-u je return
return n * f(n - 1) # f(n) = n * f(n - 1)
print(f(3)) # f(3) = 6
# f(3) = 3 * f(2) = 3 * 2 * f(1) = 3 * 2 * 1 * f(0) = 3 * 2 * 1 * 1 = 6
print(f(100)) # je to celkem v pohode, az na to ze python neni uplne
# dobrej pokud jde o rekurzi
# zkuste treba co se stane kdyz udelate :
#print(f(1000))
```

@ -1,3 +0,0 @@
# fibonacci.py
```python
```

@ -1,9 +0,0 @@
# fibonacci_rekurze.py
```python
# tahle vypada fibonacciho posloupnost :
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... # atd
# zacneme matematickou definici :
#f(0) = 0
#f(1) = 1
```

@ -1,9 +0,0 @@
# priklad.py
```python
class Clovek:
def __init__(self, age, weight):
self.age = age
self.weight = weight
```

@ -1,74 +0,0 @@
# fraction.py
```python
#!/usr/bin/python
from math import gcd # importuju greatest common divisor
# aby se mi snaz kratily zlomky
# definujeme novou tridu
class Fraction:
# definujeme co se ma dit pri vytvoreni objektu
def __init__(self, up, down):
self.up = up # self.up != up
self.down = down
self.base() # bude se hodit pri zbytku implementaci
# zarucuje ze nebudeme muset explicitne volat
# metodu `base` nikde jinde
# kraceni zlomku
# vsimneme si ze narozdil od funkci, u metod
# je v pohode i jiny typ vraceni z funkce nez
# jenom pomoci `return`
# - metoda muze menit objekt kterymu nalezi
def base(self):
divisor = gcd(self.up, self.down) # ziskavame nejvedsi spolecny delitel
if divisor > 1: # zjistujeme jestli muzeme kratit
self.up = self.up // divisor # znena sebe sama
self.down = self.down // divisor # a zase
if self.up < 0 and self.down < 0:
self.up = -self.up
self.down = -self.down
# scitani zlomku
def add(self, other):
return Fraction(self.up * other.down + other.up * self.down, self.down * other.down)
# ^- tohle mi zaruci ze se ten zlomek automaticky zkrati
# jelikoz tvorim novy objekt a v initu mam `self.base()`
# taky vracim jiny objekt a nemenim ty, ktere jsem dostal
# nasobeni zlomku
def multiply(self, other):
return Fraction(self.up * other.up, self.down * other.down)
# odcitani zlomku
def subtract(self, other):
return Fraction(self.up * other.down - other.up * self.down, self.down * other.down)
# deleni
# prosim tady nepouzivat pythonovsky deleni, je velice nepresny
def divide(self, other):
return Fraction(self.up * other.down, self.down * other.up)
# aby se mi to hezky printlo
def show(self):
return f"{self.up}/{self.down}"
# testy
for x in range(1, 4):
for y in range(1, 4):
a = Fraction(x, y)
b = Fraction(y, x)
print(f"\na: {a.show()}\nb: {b.show()}\n")
print("+", a.add(b).show())
print("*", a.multiply(b).show())
print("-", a.subtract(b).show())
print("/", a.divide(b).show())
# ez
```

@ -1,9 +0,0 @@
# animal.py
```python
class Animal:
class Bird:
class Mammal:
```
Loading…
Cancel
Save