a(x,y,z)
a b(x,y,z)
se třemi logickými proměnnými a zjistí, zda výrazy jsou ekvivalentní, případně vypíše pro jaké kombinace vstupů se výstupy liší.
def a(x,y,z): return (x and y) or (not y and z) def b(x,y,z): return x or z
my_find(a,b)
, která v řetezci a
hledá řetězec b
(nepoužívejte vestavěnou funkci find).
my_replace(a,b,c)
, která v řetězci a
nahradí všechny výskyty řetězce b
řetězcem c
.
len(s)
- délka řetězce,
s[i]
- znak na pozici i
,
s[i:j]
- podřetezec od i
do j
s[:j]
, s[i:]
- podřetězec od počátku do j
, resp. od i
do konce.
Ahoj
za slovo Cau
.
Konec
, program skončí. V tomto řádku ale nejdříve zamění Ahoj za Cau.
split()
f=open('line.txt','r') line = f.readline() pole = list(map(int, line.split())) f.close()
open
(název_souboru, “r” - read čtení)
readline
, nebo cyklus for
append
close
proměnné soubor
pole=[] f=open('pole.txt','r') for line in f: pole.append(int(line)) f.close()
print(pole)
for
for x in pole: print(x)
[ a_0, a_1, a_2, … , a_n ]
[1, 1, -2 ]
[0, 1, 0,-1 ]
[0,1,2]
vyjadřuje polynom $x + 2x^2$
[0,1,2,0]
vyjadřuje taktéž polynom $x + 2x^2$
[1,2,0]
vyjadřuje polynom $1 + 2x$
printPoly
,která vypíše polynom, přičemž mocniny bude tisknout znakem '^'.
printPoly( [ 1, 1, 0, -2] )
vytiskne 1 + x - 2x^3
printPoly( [ -2, 0, 0, -2, 0, 0, 0] )
vytiskne -2 - 2x^3
polyValue
, která pro zadaný polynom a hodnotu x vypočte jeho hodnotu v zadaném bodě $x$
polyValue([1,0,2], 4)
má hodnotu 33
, protože $1 + 2x^2$ pro $x=4$ je 33.
[0,2,-3]
je [2,-6]
neboť derivace $2x - 3x^2$ je $2 - 6x$
3 1 2 4 1 2 4 5
obsahuje dvakrát posloupnost 1 2 4
od pozice 1 a od pozice 4.
Vstup programu je:
1 2 3 3 3 3 3 3 3 3 5 6Výstup programu bude:
4 2 6protože program obsahuje dvě nepřekrývající se posloupnosti délky 4
3 3 3 3
od indexu 2 a od indexu 6
Vstup programu je:
1 2 3 4 1 2 3 4Výstup programu bude:
4 0 4
Vstup programu je:
1 2 3 4 5 6 5 7 8 9Výstup programu bude:
1 4 6
Hodnocení (2b)
Program umí řešit malé problémy s maximálně 9 ciframi [1.2b]
Vstup: 876504 21 Výstup: 8+7+6+5*0*4
Vstup: 98706543 34 Výstup: 9+8+7*0*6+5+4*3
Vstup: 98706543 103 Výstup (jedna z následujících řádek): 9+87+0*65+4+3 9+87+0*6*5+4+3
Program navíc umí rychle řešit i dlouhé vstupy s až 16 ciframi v čase do 1s [0.8b]
Vstup: 223344556677889 96 Výstup: 2+2*3+3*4+4*5+5+6+6+7+7+8+8+9
Vstup: 1122334455667788 78 Výstup (jedna z následujících řádek): 1+1+2+2*3+3*4+4+5+5+6+6+7+7+8+8 1*1*2+2+3+3+4*4+5+5+6+6+7+7+8+8 1*1*2*2+3+3+4*4+5+5+6+6+7+7+8+8
Vstup: 1122334455667788 60 Výstup: NO_SOLUTION
Všechny nuly na vstupu ponechte i na výstupu:
Vstup: 1042 43 Výstup (jedna z vícero možností): 1+042