Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 14 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
vysledek
ukazka.txt
.vscode/settings.json
144 changes: 137 additions & 7 deletions main.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,147 @@
#!/usr/bin/env python3
############################################################################
# Soubor: main.py
# Datum:
# Autor:
# Soubor: main.py
# Datum: 15/11/2021
# Autor: Ondrej Vilim
############################################################################
from random import randint, choice
import os

############################################################################

print("""
Zadeje volbu:
1) Chcete pracovat se souborem?
2) Chcete vygenerovat náhodný soubor?""")

def f():
return None
volba1=int(input("""
Zadejte číslo volby: """))

if volba1==1:

if __name__ == "__main__":
print(f())
print("""
Chcete:
1) Převést soubor na malá písmena
2) Nahradit znak jiným znakem
3) Statistiku jednotlivých znaků""")

podvolba1=int(input("""
Zadejte číslo volby: """))

if podvolba1==1:
soubor1=open(input("""
Zadejte cestu k pracovnímu souboru: """),"r")
obsah=soubor1.read()
soubor2=open(input("""
Zadejte název výstupního souboru: """),"w")
prepis=obsah.lower()
vystup=soubor2.write(prepis)
print("""
Soubor se přepsal do cílového souboru.

Soubor je zapsán pouze malými písmeny.
""")

elif podvolba1==2:

soubor1=open(input("""
Zadejte cestu k pracovnímu souboru: """),"r")
obsah=soubor1.read()
soubor2=open(input("""
Zadejte název výstupního souboru: """),"w")

zmenit=input("""
zadejte znak, který chcete změnit: """)
nahrada=input("""
zadejte znak, kterým chcete nahrazovat první znak: """)

if zmenit.isalpha() == True and nahrada.isalpha() == True:
done=obsah.replace(zmenit.lower(),nahrada.lower()).replace(zmenit.upper(),nahrada.upper()) #Aby nedošlo ke změně velikostí písmen, použil jsem .lower() a .upper()
vystup=soubor2.write(done)

elif zmenit.isalpha() == True and nahrada.isalpha() == False:
done=obsah.replace(zmenit.lower(),nahrada).replace(zmenit.upper(),nahrada)
vystup=soubor2.write(done)

else:
done=obsah.replace(zmenit,nahrada)
vystup=soubor2.write(done)

print("""
Znak byl úspěšně nahrazen.
""")

elif podvolba1==3:

soubor1 = input("""
Zadejte cestu k pracovnímu souboru: """)
obsah = open(soubor1,"r")
soubor2 = open(input("""
Zadejte cestu k výstupnímu souboru: """),"w")

pismena=dict()

while True:
znak = obsah.read(1).upper()
if znak == '':
break
elif znak in pismena.keys():
pismena[znak] += 1
else:
pismena[znak] = 1

nej = max(pismena.values())
for znak in sorted(pismena.keys()):
if znak.isalpha():
vystup=soubor2.write("""{1:8d}| {0} | {2}
""".format(znak, pismena[znak], 50 * pismena[znak] // nej * '*'))


else:
print("""
Neplatná volba, ukončuji program!!!
""")





elif volba1==2:

vystupni_soubor=open(input("""
Zadejte jméno výstupního souboru: """),"w")
samohlasky = "aeiyou"
souhlasky = "qwrtpsdfghjklzxcvbnm"

pocet_slov=int(input("""
Zadejte počet slov pro vygenerovaný soubor: """))

def gen_slov(minznak=3, maxznak=10):
vysledek = ""
pocet = randint(minznak,maxznak)
zacatek = randint(0,1)
for i in range(pocet):
if i % 2 == zacatek:
vysledek=vysledek + choice(samohlasky)
else:
vysledek = vysledek + choice(souhlasky)
return vysledek

def gen_vet(minslov=3, maxslov=12):
vysledek=""
for i in range(randint(minslov,maxslov)):
vysledek = vysledek + gen_slov() + " "
return vysledek.capitalize()[0:-1]+"."

vysledek=vystupni_soubor.write(gen_vet())

print("""
Náhodná zpráva byla úspěšně vygenerována.
""")



else:
print("""
Neplatná volba, ukončuji program!!!
""")
1 change: 1 addition & 0 deletions ukazka1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
AhoJ, ja jsem KAREL a Nemam co Delat zrovna nyni, jelikoz je 03:26 rano.
18 changes: 18 additions & 0 deletions vystup
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
8| A | ******************************
1| C | ***
1| D | ***
6| E | ***********************
1| H | ***
2| I | *******
5| J | *******************
2| K | *******
3| L | ***********
3| M | ***********
5| N | *******************
5| O | *******************
3| R | ***********
1| S | ***
1| T | ***
1| V | ***
1| Y | ***
2| Z | *******