soubor = open("soubor.txt", mode="r", encoding='utf-8')
novy_soubor = open("soubor2.txt", mode="w", encoding='utf-8')
for text in soubor:
novy_soubor.write(text)
print ("Soubor zkopírován.")
soubor.close()
novy_soubor.close()
with open("soubor.txt", mode="r", encoding='utf-8') as soubor:
with open("soubor2.txt", mode="w", encoding='utf-8') as novy_soubor:
novy_soubor.write(soubor.read())
print ("Soubor zkopírován.")
Proč se tolik opakovat, když můžeme počet pokusů použít přímo, převést jej na řetězec a jen připojením přípony z něj udělat název souboru?
def vykresliPanacka(pocet_pokusu):
"Funkce na základě neúspěšných pokusů vypisuje obrázky, dokud hra neskončí."
if pocet_pokusu == 1:
vstup=open("1.txt", encoding='utf-8')
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 2:
vstup=open("2.txt", encoding='utf-8')
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 3:
vstup=open("3.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 4:
vstup=open("4.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 5:
vstup=open("5.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 6:
vstup=open("6.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 7:
vstup=open("7.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 8:
vstup=open("8.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
elif pocet_pokusu == 9:
vstup=open("9.txt")
obrazek = vstup.read()
print(obrazek)
else:
vstup=open("10.txt")
obrazek = vstup.read()
print(obrazek)
vstup.close()
print ("Konec hry, prohrál jsi!")
def vykresliPanacka(pocet_pokusu):
"Funkce na základě neúspěšných pokusů vypisuje obrázky, dokud hra neskončí."
with open(str(pocet_pokusu) + ".txt", encoding='utf-8') as soubor:
print(soubor.read())
Místo vlastní implementace je jednodušší použít operátor in.
def obsahuje(text, znak):
try:
text.index(znak)
return True
except ValueError:
return False
obsahuje('text pro testovani', 'z')
obsahuje('text pro testovani', 't')
't' in 'text pro testovani'
def vyplnZnak(hadanka, znak, tajneSlovo):
for index in range(len(tajneSlovo)):
if znak == tajneSlovo[index]:
hadanka = hadanka[:index] + znak + hadanka[index + 1:]
return hadanka
vyplnZnak('_______', 'a', 'kotatko')
vyplnZnak('___a___', 't', 'kotatko')
vyplnZnak('__tat__', 'o', 'kotatko')
vyplnZnak('_otat_o', 'z', 'kotatko')