Search
# Vojta # revize riskoana utrata = int(input("Zadejte vasi utratu: ")) if (utrata >= 0): padesat = utrata//50 zbytek = utrata%50 dvacet = zbytek//20 zbytek = zbytek%20 deset = zbytek//10 zbytek = zbytek%10 pet = zbytek//5 zbytek = zbytek%5 dva = zbytek//2 zbytek = zbytek%2 jedna = zbytek celkem = padesat+dvacet+deset+pet+dva+jedna print("Celkem je potreba " + str(celkem) + " minci") print("Pocet minci o hodnote 50 Kc:", padesat) print("Pocet minci o hodnote 20 Kc:", dvacet) print("Pocet minci o hodnote 10 Kc:", deset) print("Pocet minci o hodnote 5 Kc:", pet) print("Pocet minci o hodnote 2 Kc:", dva) print("Pocet minci o hodnote 1 Kc:", jedna) else: print("Přestaň chlastat, píšeš pak nesmysly")
Možná by bylo hezké používat trochu míň proměnných, jako v následujícím řešení, kde je oštetřeno i nevypisování nulových hodnot.
# riskoana utrata = int(input("Zadejte vasi utratu: ")) if (utrata >= 0): celkem = 0 a = utrata//50 celkem +=a utrata %= 50 if a != 0: print("Pocet minci o hodnote 50 Kc:", a) a = utrata // 20 celkem += a utrata %= 20 if a != 0: print("Pocet minci o hodnote 20 Kc:", a) a = utrata // 10 celkem += a utrata %= 10 if a != 0: print("Pocet minci o hodnote 10 Kc:", a) a = utrata // 5 celkem += a utrata %= 5 if a != 0: print("Pocet minci o hodnote 5 Kc:", a) a = utrata // 2 celkem += a utrata %= 2 if a != 0: print("Pocet minci o hodnote 2 Kc:", a) celkem += utrata if utrata != 0: print("Pocet minci o hodnote 1 Kc:", utrata) if celkem != 0: print("Celkem je potreba ", celkem, " minci") else: print("Kámo, proč mi říkáš, že šetříš a neutrácíš?") else: print("Zaporna utrata? Asi ti nekdo dluzi ;)")
# riskoana # revision: kubikji2 n = int(input("Zadej prirozene cislo N: ")) if n > 0: ########################## print("Bod 1") for i in range(n): print("Ahoj") ########################## print("Bod 2") for i in range(0, n): print (i) ########################## print("Bod 3 var 1.") for i in range(0, n+1): print (i) print("Bod 3 var 2.") for i in range(0, n+1): print (i) ########################## print("Bod 4") for i in range(n, 0, -1): print (i) ########################## print("Bod 5 var 1.") for i in range(n, 0-1, -1): print (i) print("Bod 5 var 2.") for i in range(n, 0, -1): print (i) print(0) else: print("Co delat se zapornym cislem nebo nulou?")
# riskoana # revision: kubikji2 n = int(input("Zadej nejvyssi prirozene cislo serie: ")) if n > 0: for i in range(1, n + 1): print(str(i)) else: print("Se zapornymi cisly zde nepracujeme, doprogramuj si to, jestli chces ;)")
# Vojta # revision: riskoana, kubikji2 n = int(input("Zadej prirozene cislo N: ")) if n > 0: for i in range(1, n): print (str(i) + ", ", end='') print (n) else: print("Bylo zadano zaporne cislo.")
# Vojta # revision: riskoana, kubikji2 n = int(input("Zadej prirozene cislo N: ")) if n > 0: for i in range(n, 1, -1): print (str(i) + ", ", end='') print ("1") else: print("Nebylo zadano kladne cislo.")
# riskoana # revision: kubikji2 n = int(input("Zadejte cele cislo: ")) sum = 0 for i in range(0, n+1): sum += i print("Soucet cisel je: ", sum)
# riskoana # revision: kubikji2 x = int(input("Zadejte prvni cele cislo serie: ")) y = int(input("Zadejte posledni cele cislo serue: ")) Sum = 0 for i in range(x, y+1): Sum += i print("Součet je: ", Sum)
# Vojta # revision: riskoana, kubikji2 faktorial = int(input("Zadejte cislo na faktorizaci: ")) if (faktorial >= 0): if faktorial == 0: print("n! = 1") else: vysledek = faktorial for i in range (faktorial-1, 0, -1): vysledek = vysledek*i print("n! = ", vysledek) else: print("Pro zaporna cisla neni faktorial definovan.")
# riskoana # revision: kubikji2 n = int(input("Napiste prirozene cislo: ")) if (n < 1): print("Zkus kladne cislo.") elif (n == 1): print("1 neni prvocislo.") else: for i in range (2, n): if (n%i == 0): break # pokud jsme dojeli na konec for-cyklu (i je n-1) a nenasli # jsme zadne cislo, ktere deli n, tak jde o prvocislo if i == n-1: print('{} je prvocislo.'.format(n)) else: print("Cislo " + str(n) + " je slozene cislo.")
elegantnější řešení pro ty, kdo chtějí optimalizovat
# riskoana # revision: kubikji2 n = int(input("Napiste prirozene cislo: ")) s = int(n**(1/2)+1) # s jako square root # tento konstrukt zajistí, že prověřujete čísla jen do maximálního možného, kterým dané číso může být dělitelné # možno taky použít # s = int(math.sqrt(n)+1) # nebo # s = math.ceil(math.sqrt(n)) kde ceil je zaokrouhlování nahoru if n < 1: print("S timto cislem si neumim poradit. ¯\_(ツ)_/¯") else: # kontrolní proměnná, podle které se na závěr rozhodne, jestli je dané číslo prvočíslem checker = False if n == 1: checker = True else: for i in range (2, s): if n%i == 0: # pokud je zbytek po dělení 0, číslo není prvočíslem checker = True break if checker: # stejné jako 'if checker == True' print("Cislo neni prvocislem.") else: print("Jde o prvocislo.")
# riskoana vyska = int(input("Zadejte vysku: ")) sirka = int(input("Zadejte sirku: ")) if vyska > 0 and sirka > 0: for i in range(0, vyska): for i in range(0, sirka): print("*", end="") print() else: print("Nekladne rozmery? Delas si srandu?")
# riskoana x = int(input("Zadejte x: ")) y = int(input("Zadejte y: ")) if x > 0 and y > 0: for i in range(y): for j in range(x): print("[" + str(j) + "," + str(i) + "]", end="") print() else: print("Vstup neni validni, tak sorry no (╯°□°)╯︵ ┻━┻")
# riskoana velikost = int(input("Zadej velikost ctverce: ")) if (velikost > 1): for a in range (0, velikost): for b in range (0, velikost): if (a == b) or (a + b == velikost - 1): print("1", end=" ") else: print("0", end=" ") print() else: print("Poprosim o nejake validni cislo.")
# riskoana n = int(input("Zadej velikost obrazce: ")) if (n > 1): for i in range (1, n+1): for j in range (0, i): print("X ", end="") print() else: print("Poprosim o nejake validni cislo.")
# kubikji2, riskoana size = int(input("Zadej velikost: ")) for i in range(0, size): # vypis tolik mezer, kolikaty mame radek # (nejhornejsi radek je nulty) for j in range(0, i): print(" ", end="") # zbytek radku vypln "X" for j in range(0,size-i): print("X ", end="") print("")
# kubikji2 N = int(input("Zadejte velikost: ")) for y in range(N): for x in range(N): # x == y je hlavni diagonala, x > y jsou body nad hlavni diagonalou if x >= y: print("X ", end="") else: print(" ", end="") print()
# riskoana n = int(input("Zadej velikost obrazce: ")) if (n > 1): for k in range(n): print("X", end="") print() for i in range(n-2): print("X", end="") for j in range(n-2): print(" ", end="") print("X") for l in range(n): print("X", end="") else: print("Poprosim o nejake validni cislo.")
# kubikji2 N = int(input("Zadejte velikost: ")) for y in range(N): for x in range(N): # x == 0 je svisla leva cara # x == N-1 je svisla prava cara # y == 0 je vodorovna horni cara # y == N-1 je vodorovna dolni cara if (x == 0) or (x == N-1) or (y == 0) or (y == N-1): print("X ", end="") else: print(" ", end="") print()
# author kubikji2 N = int(input("Zadejte velikost: ")) for y in range(N): for x in range(N): # x == 0 je svisla leva cara # x == N-1 je svisla prava cara # y == 0 je vodorovna horni cara # y == N-1 je vodorovna dolni cara if (x == 0) or (x == N-1) or (y == 0) or (y == N-1): print("X ", end="") # x == y je hlavni diagonala # x == (N-1) - y je vedlejsi diagonala elif (x == y) or (x == N-1-y): print("X ", end="") else: print(" ", end="") print()
# riskoana # revision: kubikji2 max_n = int(input("Napiste cele cislo: ")) if max_n < 1: print("Tak to zkusime znova, jo?") else: for n in range(2, max_n): s = int(n**(1/2)+1) checker = False if n == 1: checker = True else: for i in range(2, s): if n % i == 0: checker = True break if checker: continue else: print(n)
# riskoana # revision: kubikji2 # textovy retezec ... txt = input("Zadej cele cislo k rozdeleni: ") # ... a jeho delka n = len(txt) # finalni vypis for i in range(n): # na kazde treti misto od konce chceme pridat mezeru ... # ... a zaroven nas nezajima prvni misto (pripad delky delitelne 3) if (n-i) % 3 == 0 and i > 0: print(" ", end="") # vypis znaku print(txt[i], end="") # zaverecne zalomeni print()
# riskoana # revision: kubikji2 text = input("Zadej text k cenzure: ") digits = "0123456789" for i in range(len(text)): isNum = False for j in range(len(digits)): if text[i] == digits[j]: isNum = True # kdyz je cislo, prihod cenzuru... if isNum: print("*", end="") # ... jinak vypis znaku else: print(text[i], end="") # finalni vypis zalomeni radku print()
# riskoana text = input("Zadejte text: ") slova = 1 for i in range(len(text)): if text[i] == " ": slova +=1 print("znaky: " + str(len(text)) + ", slova: " + str(slova))
# riskoana bin = input("Zadejte cislo ve dvojkove soustave: ") dec = 0 for i in range(len(bin)): if int(bin[i]) == 1: dec += 2 ** (len(bin) - i - 1) print("Cislo v desitkove soustave ma hodnotu:", dec)
# riskoana n = int(input("Zadejte prirozene cislo: ")) a = 1 #první 3 členy posloupnosti b = 1 c = 2 if n < 1: print("Tak delas si ze me srandu nebo...?") elif n == 1: print(a) elif n == 2: print(b) else: for i in range(1, n-2): a=b b=c c=a+b print(c)
# Vojta, fixed by LaSer a = int(input("Zadej prirozene cislo a: ")) b = int(input("Zadej prirozene cislo b: ")) for i in range (1, b + 1): if (a % i == 0) and (b % i == 0): cislo = i print(cislo)
a trochu jiná varianta:
# riskoana a = abs(int(input("Prvni cele cislo: "))) #použití absolutní hodnoty zajistí, že opravdu dostaneme přirozené číslo b = abs(int(input("Druhe cele cislo: "))) if a > b: a, b = b, a if a==0 and b==0: print("Delitelem je kazde cele cislo.") else: d = 1 # číslem 1 budou obě čásla rozhodně dělitelná for i in range(2, a + 1): #range nastavena do menšího z čísel if a % i == 0 and b % i == 0: d = i print(d)