Obrácená věta – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Obrácená věta – Python – Fórum – Programujte.comObrácená věta – Python – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Tom0
Duch
10. 8. 2006   #1
-
0
-

Nemůžu přijít na to, jak funguje opracení věty a prosím o vysvětlení. Pro příklad posílám svůj kód skriptu.

veta = "Python je skvely objektove orientovany, interpretovany a interaktivni programovaci jazyk."


PocetZnaku = len(veta)
PocetSlov = len(veta.split())
print 'Pocet znaku ve vete je', PocetZnaku
print 'Pocet slov ve vete je', PocetSlov
print '---------------------------------------'

pismenoA = 0
pismenoE = 0
mezera = 0
for A in veta:
if A == 'a':
pismenoA = pismenoA + 1
for E in veta:
if E == 'e':
pismenoE = pismenoE + 1
for X in veta:
if X == ' ':
mezera = mezera + 1
print 'Pocet pismena A je vete', pismenoA
print 'Pocet pismena E je vete', pismenoE
print 'Pocet mezer je vete', mezera
print '---------------------------------------'

print 'Python'*pismenoE
print '---------------------------------------'


if 'x' in veta:
print 'Veta obsahuje pismeno X.'
else:
print 'Veta neobsahuje pismeno X.'
print '---------------------------------------'

ObracenaVeta="" #TADY TOMUTO POSLEDNIMU CELKU KODU NEROZUMIM
for znak in veta:
ObracenaVeta = znak + ObracenaVeta
print ObracenaVeta

Nahlásit jako SPAM
IP: ...–
Reklama
Reklama
Jakub Vojáček
~ Moderátor
0
Grafoman
10. 8. 2006   #2
-
0
-

nevím, jestli jsem pochopil dotaz, ale zkusím ho zodpovědět.



veta = "Python je skvely objektove orientovany, interpretovany a interaktivni programovaci jazyk."
obracenaVeta=""

takle sis správně vytvořil obrácenou větu, ale zatím prázdnou, tež to musíš prohnat příkazem for:


for znak in veta:
obracenaVeta=znak+obracenaVeta


jistě víš, že příkaz for .. in prochází posloupnosti a tudíž si dovedeš představit co bude uložené v proměnné znak. Do proměnné znak se v každém cyklu uloží další písmeno z vety
abys to pochopil, zkusím ti to tady trochu rozepsat co se děje v tom cyklu


#nejdříve je obracenaVeta prázdná řetězec;obracenaVeta=znak+obracenaVeta
obracenaVeta=P+obracenaVeta#obracenaVeta=P
obracenaVeta=y+obracenaVeta#obracenaVeta=yP
obracenaVeta=t+obracenaVeta#obracenaVeta=tyP
#a tak dále.....

tak snad jsem to vysvětlil dostatečně názorně...

Nahlásit jako SPAM
IP: ...–
Navštivte server Matematika pro každého
Najdete zde články zabývající se matematikou základních a středních škol a databázi hlavolamů.
Pro vyzkoušení Vaš
geon0
Grafoman
10. 8. 2006   #3
-
0
-

Dobrým nápadem je si nechat vypisovat, to co není jasné, nebo to, kde se děje chyba. Takže doporučuji do cyklu for vložit ještě např.

    print znak

print ObracenaVeta

abys viděl co se tam děje, jak se mění jednotlivé proměnné.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Luk0
Newbie
22. 10. 2006   #4
-
0
-

Myslíte, že by se to dalo napsat i takhle?

import string

obracenaveta=list(veta)
obracenaveta.reverse()
obracenaveta2=string.join(obracenaveta2, "")
print obracenaveta2
?

Sice je to trochu složitější, ale překvapivě, funguje to. :D

Nahlásit jako SPAM
IP: ...–
bortak
~ Anonymní uživatel
75 příspěvků
4. 11. 2006   #5
-
0
-

dovolil jsem si tento kod trochu upravit

print '***********POCITADLO**************'

veta = raw_input("zadej vetu:")

PocetZnaku = len(veta)
PocetSlov = len(veta.split())
print 'Pocet znaku ve vete je', PocetZnaku
print 'Pocet slov ve vete je', PocetSlov
print '---------------------------------------'

pismenoA = 0
pismenoE = 0
mezera = 0
for A in veta:
if A == 'a':
pismenoA = pismenoA + 1
for E in veta:
if E == 'e':
pismenoE = pismenoE + 1
for X in veta:
if X == ' ':
mezera = mezera + 1
print 'Pocet pismena A je vete', pismenoA
print 'Pocet pismena E je vete', pismenoE
print 'Pocet mezer je vete', mezera
print '---------------------------------------'
if 'x' in veta:
print 'Veta obsahuje pismeno X.'
else:
print 'Veta neobsahuje pismeno X.'

print '---------------------------------------'


print "zde obracene"
print '---------------------------------------'

ObracenaVeta=""
for znak in veta:
ObracenaVeta = znak + ObracenaVeta
print ObracenaVeta
raw_input("zmacki enter pro dalsi")

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

Podobná vlákna

Pytagorova veta — založil Black.Shadow

Pythagorova věta — založil blbka007

Theveninova věta — založil RePRO

 

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