Poradíte mi? – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Poradíte mi? – Python – Fórum – Programujte.comPoradíte mi? – Python – Fórum – Programujte.com

 

rimeska0
Duch
27. 12. 2014   #1
-
0
-

Ahoj, byla bych moc ráda, kdyby mi mohl někdo pomoci s projektem, který mám do školy...opravdu už si nevím rady, přemýšlela jsem nad tím i s ostatními spolužáky a nikdo mi nebyl schopen poradit. 

Zadání: 

Vaším úkolem je napsat program, který má jako vstup textový soubor "testovaci soubor.txt" a jako výstup "vystupni soubor – číslo P.txt"

Jako input zjistíte celé číslo P v rozsahu od 0 do 1000, hodnota prohazování je dána vzorcem: X = náhodné číslo od 0 do P*(N-3)/100, kde N je počet písmen ve slově. Změny budete provádět pouze ve slovech, které májí alespoň čtyři písmena. Změna funguje takto: X-krát se ze slova se vyberou 2 náhodná nekrajní písmena a prohodí se. Prohazuje se bez ohledu na to, jestli už byla písmena prohozená. Písmeno "ch" chápeme jako 2 písmena. Interpunkce je zanechána na svém místě.

Příklad:

Vstupní text: Důležitá věc je, aby byla první a poslední písmena na správném místě.

Výstupní soubor: Dleůitžá věc je, aby blya pnvrí a psoelndí pímesna na sprváénm mstíě.

Nápověda:

metoda split()

Budu vděčná za jakoukoliv pomoc, klidně mi bude stačit pomoci jen se začátkem, nebo budu moc ráda, když to bude fungovat alespoň pro některé znaky. Děkuji

Nahlásit jako SPAM
IP: 86.61.197.–
lukas.balaz0
Super člen
27. 12. 2014   #2
-
+1
-
Zajímavé

#1 rimeska
Napíš, čo presne na tom nechápeš.

Načítaš vetu, po použití split() dostaneš pole slov, pomocou for cyklu pôjdeš postupne po slovách, zistíš, či je jeho dĺžka väčšia rovná 4 písmená, ak áno vypočítaš X, spustíš ďalší cyklus X razy, v ktorom si náhodne vygeneruješ 2 čísla od 1 do dĺžky slova-1, písmená na týchto indexoch swapnes (slovo[a],slovo[b]=slovo[b],slovo[a]), vypíšeš slovo + medzeru (a potom sa to pôjde robiť celé odznovu pre ďalšie slovo).

S pythonom nerobím, dúfam, že som chybu neurobil (tento algoritmus by sa dal použiť v ľubovolnom programovacom jazyku, dúfam teda, že robiť to v pythone nebude moc ťažké).

Ak nevieš, ako sa robí nejaký konkrétny krok, použi google.

Nahlásit jako SPAM
IP: 80.242.41.–
rimeska0
Duch
27. 12. 2014   #3
-
0
-

Právěže já vůbec nevím, jak začít, na tohle jsem úplně levá...:/ Potřebovala bych napsat alespoň trochu podrobně ten začátek, pak už bych možná něco zvládla...takhle ze slovního popisu to moc nechápu, jsem fakt blbá na takovýhle věci :(

Nahlásit jako SPAM
IP: 86.61.197.–
hanpari0
Stálý člen
27. 12. 2014   #4
-
0
-

#3 rimeska
Tohle by ti mohlo stačit. Teď by ses měla zeptat, v čem je to kouzlo, abys neumřela ehm... vždyť víš :)

from random import shuffle

def zadej_slovo(slovo:str):
    if len(slovo) > 3:
        prvni, *prostredek, posledni = slovo
        shuffle(prostredek)
        return prvni + "".join(prostredek) + posledni
    else:
        return slovo

print(zadej_slovo("pokusny"))
# >>> psunoky
Nahlásit jako SPAM
IP: 178.72.234.–
rimeska0
Duch
27. 12. 2014   #5
-
0
-

Děkuju, snad mi to bude stačit :)

Nahlásit jako SPAM
IP: 86.61.197.–
hanpari0
Stálý člen
27. 12. 2014   #6
-
0
-

#2 lukas.balaz
Pokud neděláš s pythonem, co takhle začít?

Zkus checkio.org, pokud se o svátcích nudíš :)

Nahlásit jako SPAM
IP: 178.72.234.–
hanpari0
Stálý člen
27. 12. 2014   #7
-
0
-

#5 rimeska
Není zač, stejně to nebude stačit :)

Musíš ještě načíst data ze souboru, prohnat je tou funkcí a zase do souboru zapsat.

Mimochodem, co budeš říkat, až se tě ten učitel zeptá, jak ta tvoje funkce funguje?

Nahlásit jako SPAM
IP: 178.72.234.–
rimeska0
Duch
27. 12. 2014   #8
-
0
-

Nějak se s tím zkusím poprat, zeptám se ještě kamaráda...no, on se na to většinou neptá, ale když takhle aspoň něco mám, tak mi s tím ten kamarád snad poradí..hlavně potřebuji něco odevzdat..

Nahlásit jako SPAM
IP: 86.61.197.–
lukas.balaz0
Super člen
27. 12. 2014   #9
-
0
-

#6 hanpari
"Nerobím s pythonom" znamená, že ho nepoužívam ... to neznamená, že neviem základy. Nebudem tráviť čas s pythonom ak to zatial nepotrebujem   . Myslím, že som dostatočne dobrý programátor, aby som sa dokázal naučiť základnu syntax hocijakého často používaného jazyka za pár dní. Tak či tak sú všetky z 90 percent rovnaké. A potom tu máme google.

Nahlásit jako SPAM
IP: 80.242.41.–
hanpari0
Stálý člen
27. 12. 2014   #10
-
0
-

#9 lukas.balaz
Nu, tak jsem to zrovna nemyslel. Checkio ti pomůže stát se lepším programátorem v jakémkoli jazyce, Nicméně abys mohl začít potřebuješ python a angličtinu.

Ber to jako výzvu. Vzdát  to můžeš vždycky :)

Tady si můžeš udělat obrázek oč jde.

http://www.checkio.org/mission/open-labyrinth/

Nahlásit jako SPAM
IP: 178.72.234.–
hanpari0
Stálý člen
27. 12. 2014   #11
-
0
-

#8 rimeska
Vždycky se můžeš utěšovat tím, že váš učitel jako pedagog naprosto selhal ... tak naprostý nezájem o věc musí být na mašli. Ale ta úloha je pěkně vymyšlená.

Nahlásit jako SPAM
IP: 178.72.234.–
lukas.balaz0
Super člen
27. 12. 2014   #12
-
+1
-
Zajímavé

#10 hanpari
Jasné, ďakujem, pozrem sa na to keď budem mať čas.

Nahlásit jako SPAM
IP: 80.242.41.–
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, 1 host

 

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