Pomoc s ukolem – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Pomoc s ukolem – Python – Fórum – Programujte.comPomoc s ukolem – Python – Fórum – Programujte.com

 

Janickaaa1919
~ Anonymní uživatel
4 příspěvky
13. 10. 2011   #1
-
0
-

import re
vstup = "input.txt"
nazev_vystupu = "index.txt"
hledane_slovo = "Kreatrix"

def make_index(vstup):
    soubor = file(vstup, "r")
    radek = 1
    lst = {}
    for n_radek in soubor:
        radek += 1
        prazdny = re.split('[\s.,!;?"]', n_radek)
        for slovo in prazdny:
            #if len(slovo) > 0:
                if slovo in lst:
                    if str(radek) not in lst[slovo]:
                        lst[slovo] = lst[slovo] + " " + str(radek)
                else:
                    lst[slovo] = str(radek)
    keys = lst.keys()
    keys.sort()
    soubor = file(nazev_vystupu, "a")
    for pismeno in keys:
        soubor.write(pismeno + " " + lst[pismeno] +" \n")
    soubor.close()
   
def search_by_index(nazev_vystupu,hledane_slovo):
    soubor = file(nazev_vystupu, "r")
    nalezeno = 0
    for n_radek in soubor:
        seznam = n_radek.split()
        if seznam[0] == hledane_slovo:
            seznam.remove(hledane_slovo)
            nalezeno = 1
            break
    if nalezeno == 1:
        print seznam
    else:
        print "[]"

vstup = "input.txt"
nazev_vystupu = "index.txt"
make_index(vstup)
search_by_index(nazev_vystupu, hledane_slovo)

zde mam zdrovojovy kod, cte z textoveho souboru input.txt ktery musi byt vytvoren. V souboru index.txt my vznikne vypis slov ktere tam sou a na kterem radku jsou, jenze v prvnim radku mi to vypisuje kolik tam je mezer a toho se poterbuji zbavit nevite nekdo co stim?

Nahlásit jako SPAM
IP: 85.161.8.–
m->29+6
Super člen
13. 10. 2011   #2
-
0
-

Mohol by si skúsiť 

prazdny = re.split(r'[\s.,!;?"]+', n_radek)
Nahlásit jako SPAM
IP: 83.240.51.–
Janickaaa1919
~ Anonymní uživatel
4 příspěvky
13. 10. 2011   #3
-
0
-

ten prikaz tam mam

Nahlásit jako SPAM
IP: 88.100.7.–
Janickaaa1919
~ Anonymní uživatel
4 příspěvky
13. 10. 2011   #4
-
0
-

tento radek: #if len(slovo) > 0: potrebuju nahrait jinym.. aby to ale fungovalo stejne

Nahlásit jako SPAM
IP: 88.100.7.–
m->29+6
Super člen
13. 10. 2011   #5
-
0
-

Ja s tým nemám žiaden problém. 

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import re
vstup = "input.txt"
nazev_vystupu = "index.txt"
hledane_slovo = "Kreatrix"

def make_index(vstup):
  soubor = file(vstup, "r")
  radek = 1
  lst = {}
  for n_radek in soubor:
    radek += 1
    prazdny = re.split(r'[\s.,!;?"]+', n_radek)
    for slovo in prazdny:
      if len(slovo) > 0:
        if slovo in lst:
          if str(radek) not in lst[slovo]:
            lst[slovo] = lst[slovo] + " " + str(radek)
        else:
         lst[slovo] = str(radek)
  keys = lst.keys()
  keys.sort()
  soubor = file(nazev_vystupu, "a")
  for pismeno in keys:
    soubor.write(pismeno + " " + lst[pismeno] +" \n")
  soubor.close()

def search_by_index(nazev_vystupu,hledane_slovo):
  soubor = file(nazev_vystupu, "r")
  nalezeno = 0
  for n_radek in soubor:
    seznam = n_radek.split()
    if seznam[0] == hledane_slovo:
      seznam.remove(hledane_slovo)
      nalezeno = 1
      break
  if nalezeno == 1:
    print seznam
  else:
    print "[]"

vstup = "input.txt"
nazev_vystupu = "index.txt"
make_index(vstup)
search_by_index(nazev_vystupu, hledane_slovo)
Nahlásit jako SPAM
IP: 83.240.51.–
Janickaaa1919
~ Anonymní uživatel
4 příspěvky
13. 10. 2011   #6
-
0
-

no nesmime tam mit len uz sem to nahradila if re.search('[0-9,a-z,A-Z]+', slovo) is not None: timto...

protoze me ucitel nepravem obvinil s kopiringu tak to predelavam, aby vedel ze sem to nekoprirovala, ale strasne me zene cas..:( jeste bych potrebovala ideu jiny zpusob jak predelat funkci search_by_index...

Nahlásit jako SPAM
IP: 88.100.7.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 7 hostů

Podobná vlákna

Pomoc s úkolem — založil Markéta

Pomoc s úkolem v C++ — založil zaltex

Pomoc s úkolem — založil Stols

Pomoc s úkolem — založil Honza

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý