Tyto stránky již nejsou udržovány. Obsah je postupně přesouván/aktualizován na adrese chytrosti.marrek.cz.

1575/14246

20120228-Tue-soubory.py
   1 #!/usr/bin/env python
   2 # -*- coding: utf8 -*-
   3 # Soubor:  20120228-Tue-soubory.py
   4 # Datum:   28.02.2012 08:22
   5 # Autor:   Marek Nožka, nozka <@t> spseol <d.t> cz
   6 # Licence: GNU/GPL 
   7 # Úloha:   práce se soubory
   8 # Popis:   
   9 ###################################################3 
  10 
  11 import random, sys
  12 import locale
  13 locale.setlocale(locale.LC_ALL,'czech')
  14 
  15 def prevod():
  16     """Funkce převede všechna písmena v soboru na malá"""
  17     try:
  18         # otevřu:
  19         inName = raw_input(">>> zadej jmého vstupního souboru: ")
  20         inFile = open(inName,"r")
  21         outName = raw_input(">>> zadej jmého výtupního souboru: ")
  22         outFile = open(outName,"w")
  23         # čtu do konce souboru
  24         while True:
  25             # čtu:
  26             radek = inFile.readline()
  27             # na konci souboru mi funkce vrátí prázdný řetězec 
  28             if radek == '':
  29                 break
  30             # zapisuji
  31 #            radek = radek.decode('utf-8')
  32 #            radek = radek.upper()
  33 #            radek = radek.encode('utf-8')
  34             outFile.write(radek.decode('utf-8').lower().encode('utf-8'))
  35             outFile.write(radek.decode('utf-8').upper().encode('utf-8'))
  36 
  37         # uzavřu soubory
  38         inFile.close()
  39         outFile.close()
  40     except IOError:
  41         print "\nERROR > Něco je špatně:"
  42         print "ERROR > zkontroluj si jméno souboru a přístupová práva\n"
  43 
  44 
  45 def nahrazeni():
  46     """Funkce nahradí písmeno"""
  47 
  48     znakStary = raw_input(">>> zadej znak, který se má nahradit: ")
  49     znakNovy = raw_input(">>> zadej znak, kterým se má nahradit: ")
  50     znakStary = '\n' if znakStary =='' else znakStary[0]
  51     znakNovy = '\n' if znakStary=='' else znakNovy[0]
  52     try:
  53         # otevřu:
  54         inName = raw_input(">>> zadej jmého vstupního souboru: ")
  55         inFile = open(inName,"r")
  56         outName = raw_input(">>> zadej jmého výtupního souboru: ")
  57         outFile = open(outName,"w")
  58         # čtu do konce souboru
  59         while True:
  60             # čtu:
  61             znak = inFile.read(1)
  62             # na konci souboru mi funkce vrátí prázdný řetězec 
  63             if znak == '':
  64                 break
  65             # zapisuji
  66             if znak == znakStary:
  67                 outFile.write(znakNovy)
  68             else:
  69                 outFile.write(znak)
  70 
  71         # uzavřu soubory
  72         inFile.close()
  73         outFile.close()
  74     except IOError:
  75         print "\nERROR > Něco je špatně:"
  76         print "ERROR > zkontroluj si jméno souboru a přístupová práva\n"
  77 
  78 
  79 def nahodnyText(pocetSlov):
  80     samohlasky = 'aeiyou'
  81     souhlasky ='qwrtpsdfghjklzxcvbnm'
  82 
  83     for i in range(pocetSlov):
  84         #jedno slovo
  85         delkaSlova = random.randint(1,8)
  86         zacatek = random.randint(0,1)  # zacinam samohlaskou nebo souhlaskou?
  87         for i in range(delkaSlova):
  88             if i % 2 == zacatek:       # ztrida se samohlaska a souhlaska
  89                 sys.stdout.write(souhlasky[ random.randint(0, 19) ] )
  90             else:
  91                 sys.stdout.write(samohlasky[ random.randint(0, 5) ] )
  92         sys.stdout.write(' ')
  93     sys.stdout.write('\n\n')
  94 
  95 
  96 
  97 ###################################################
  98 # menu
  99 
 100 while True:
 101     print "1) Převod na malá písmena"
 102     print "2) Nahrazení znaků"
 103     print "3) Statistika souboru "
 104     print "4) Generování náhodného textu"
 105     print "5) Konec"
 106     try:
 107         volba = int(raw_input("1-5> "))
 108         if volba == 1:
 109             prevod()
 110         elif volba == 2: 
 111             nahrazeni()
 112         elif volba == 3: 
 113             statistika()
 114         elif volba == 4:
 115             nahodnyText(40)
 116         elif volba == 5: 
 117             exit(0)
 118         else:
 119             print "\n>>>> Zadej číslo od 1 do 5\n"
 120     except ValueError: 
 121         print "\n>>>> Zadej číslo od 1 do 5\n"
 122     except EOFError: 
 123         exit(0)
 124 
 125 
`--> stáhnout

Licence Creative Commons Valid XHTML 1.0 Strict Valid CSS! Antispam.er.cz Blog: Tlapicka.net