načítanie reťazca
s = input() #nacitanie retazca
for z in s: #pre vsetky pismena v retazci
print(z)
for i in range(len(s)): #indexovanie od nuly
print(s[i])
print(s[1:3]) #podretazec, usek [od, do) zlava uzavrety interval
def da_sa_prejst(): #vrati True/ano, ak sa da prejst
for i in range(0, len(s)-1): #prechadzame po dvojiciach
if s[i:i+2] == "--":
return False
return True
print("Da sa" if da_sa_prejst() else "Neda sa")
s = '+++-+++'
#postupne skaceme co najdalej a pocitame si kroky
poz = -1 #zaciname na lavom brehu
skokov = 0 #pocet skokov
while (poz < len(s)-2): #ak este nie sme na konci (posledne 2 kamene)
print(poz, skokov)
#skusime urobit dalsi skok
if poz+2 < len(s) and s[poz+2] == '+':
poz += 2 #zvysime poziciu o 2
skokov += 1 # zvysime pocet skokov
elif poz+1 < len(s) and s[poz+1] == '+':
poz += 1 #zvysime poziciu o 1
skokov += 1 # zvysime pocet skokov
else:
print("Neda sa")
break #ukonci cyklus while
print("Pocet skokov:", 1+skokov)
Počítanie minimálneho počtu skokov pre každý kameň.
s = '+++-+++'
n = len(s) #pocet kamneov
ps = [ 9999 for _ in range(n)] #vytvorime si zoznam/pole hodnot
if s[0] == "+":
ps[0] = 1 #vieme skocit na jeden skok
if s[1] == "+":
ps[1] = 1 #vieme skocit na jeden skok
for i in range(2, n): #vypocitame hodnoty pre vsetky kamene od 2 po n-1
if s[i] == '+': #ak vieme skocit na kamen i
ps[i] = 1+min(ps[i-1], ps[i-2]) #jeden skok bud z kamena i-1 alebo i-2
print(ps)
print("Vysledok:", 1+min(ps[n-1], ps[n-2]))