Python/Kenjiro995/Cyklus for
< Python | Kenjiro995
Cyklus for využíváme, pokud dopředu víme, kolik opakování bude cyklus mít. V ostatních případech využíváme cyklus while (což je cyklus s podmínkou).
Základní příklady
editovatPříklad 1.
editovatfor i in 1, 2, 3, 4, 5:
print(i)
Výstup:
1 2 3 4 5
for i in 1, 2, 3, 4, 5:
print("Python")
Výstup:
Python Python Python Python Python
for i in "a", "b", "c", "d", "e":
print(i)
Výstup:
a b c d e
Příklad 2.
editovatfor i in 1, 1, 1, 1, 1:
print(i)
Výstup:
1 1 1 1 1
for i in 1, 1, 1, 1, 1:
print("Python")
Výstup:
Python Python Python Python Python
for i in "a", "a", "a", "a", "a":
print(i)
Výstup:
a a a a a
Příklad 3.
editovatfor i in [1, 2, 3, 4, 5]:
print(i)
Výstup:
1 2 3 4 5
for i in ["a", "b", "c", "d", "e"]:
print(i)
Výstup:
a b c d e
seznam = ["Petr", "Pavel", "Klára", "Lenka"]
for i in seznam:
print(i)
Výstup:
Petr Pavel Klára Lenka
Příklad 4.
editovatfor i in range(5):
print(i)
Výstup:
0 1 2 3 4
for i in range(1,5):
print(i)
Výstup:
1 2 3 4
for i in range(0,10,2):
print(i)
Výstup:
0 2 4 6 8
for i in range(10, 0, -1):
print(i)
Výstup:
10 9 8 7 6 5 4 3 2 1
Příklad 5.
editovatfor i in "Python":
print(i)
Výstup:
P y t h o n
for i in "Python":
print(i*20)
Výstup:
PPPPPPPPPPPPPPPPPPPP yyyyyyyyyyyyyyyyyyyy tttttttttttttttttttt hhhhhhhhhhhhhhhhhhhh oooooooooooooooooooo nnnnnnnnnnnnnnnnnnnn
Příklad 6.
editovatfor x in 5, 7, 11, 13, 23:
x2 = x ** 2
print('druhá mocnina', x, 'je', x2)
Výstup:
druhá mocnina 5 je 25 druhá mocnina 7 je 49 druhá mocnina 11 je 121 druhá mocnina 13 je 169 druhá mocnina 23 je 529
for x in 22/7, 3, 14, 8., 1000-1e-3:
print('druha odmocnina z', x, 'je', x ** .5)
Výstup:
druha odmocnina z 3.142857142857143 je 1.7728105208558367 druha odmocnina z 3 je 1.7320508075688772 druha odmocnina z 14 je 3.7416573867739413 druha odmocnina z 8.0 je 2.8284271247461903 druha odmocnina z 999.999 je 31.62276079029154
for cislo in range(100,200):
print(cislo, end=', ')
Výstup:
100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
for i in range(1,11):
print(i, i * i, i ** 3, i ** 4)
Výstup:
1 1 1 1 2 4 8 16 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 10 100 1000 10000
for i in range(1,11):
print('{:3} {:4} {:5} {:6}'.format(i, i * i, i ** 3, i ** 4))
Výstup:
1 1 1 1 2 4 8 16 3 9 27 81 4 16 64 256 5 25 125 625 6 36 216 1296 7 49 343 2401 8 64 512 4096 9 81 729 6561 10 100 1000 10000
Ukázky použití
editovatCésarova šifra
editovat# Césarova šifra
text = "Praha město stověžaté"
key = 5
y = ""
b = ""
# šifrování
for x in text:
y = y + (chr(ord(x)+key))
print("nezašifrovaný text:", text)
print("zašifrovaný text:", y)
print("*********************")
# dešifrování
for a in y:
b = b + (chr(ord(a)-key))
print("dešifrovaný text:",b)
print("*********************")
Výstup:
nezašifrovaný text: Praha město stověžaté zašifrovaný text: Uwfmf%rĠxyt%xyt{Ġƃfyî ********************* dešifrovaný text: Praha město stověžaté *********************
Další příklad zašifrování:
y = ""
x = ""
a = ""
abeceda = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
text = "Praha mesto moje. Zavitě vyli 4 vlci. 567890="
key = 5
p = 0
c = 0
for x in text:
i = 0
if x in abeceda: # podmínka je splněna pouze, pokud je znak v proměnné x, v proměnné abeceda
c = abeceda.find(x) # najde pozici písmena v proměnné x, v proměnné abeceda
p = (c + key) % len(abeceda) # vypočítá posun p, která se rovná pozice c posunutý o klíč key
y = y + abeceda[p]
else:
y = y + x # pokud není znak součástí abecedy zařadí se do šifrovaného textu bezezměny
print("nezašifrovaný text2:",text)
print("zašifrovaný text2:",y)
Výstup:
nezašifrovaný text2: Praha mesto moje. Zavitě vyli 4 vlci. 567890= zašifrovaný text2: Uwfmf rjxyt rtoj. 5fAnyě ADqn 9 Aqhn. 0abcde=