Výzva v článku Znovu a znovu a znovu – Python – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Výzva v článku Znovu a znovu a znovu – Python – Fórum – Programujte.comVýzva v článku Znovu a znovu a znovu – Python – Fórum – Programujte.com

 

Bobek0
Newbie
10. 2. 2007   #1
-
0
-

Vůbec si s tím nevim rady. Nevim jak a kde mám použít řetězec for. Pomůže mi prosím někdo????????????????????

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

použiješ ho v případě že chceš něco opakovat... místo:



print "ahoj"
print "ahoj"
print "ahoj"

stačí použít


for x in range(3):
print "ahoj"

výsledek je v tomto případě stejný ale později jsou cykly k nezaplacení.

Dále se příkaz for dá použít k procházení posloupností:


seznam=["jedna","dva","tri"]
for prvek in seznam:
print prvek#postupne vypíše všechny prvky seznamu

snad jsem pomohl....

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. 2. 2007   #3
-
0
-

1/ uklidni se. Křičení Pomoc!!! nepomáhá, naopak
2/ ukaž co ti již funguje
3/ řekni jasně, co bys chtěl.
4/ Jsem rád, že alespon píšeš hezky česky

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
Bobek0
Newbie
10. 2. 2007   #4
-
0
-

Tak tohle mi už funguje:

import random

x=random.randint(1,10)
y=random.randint(1,50)
print x,"*",y
z=input("Zadejte vysledek prikladu:")
if z<x*y:
print "Spatne! Vysledek je:",x*y
if z>x*y:
print "Spatne! Vysledek je:",x*y
if z==x*y:
print "Spravne! Vysledek je opravdu:",x*y
raw_input()

Ale nevim jak to mám napsat aby se to opakovalo

Nahlásit jako SPAM
IP: ...–
Bobek0
Newbie
10. 2. 2007   #5
-
0
-

Tak tohle už mi funguje:

import random

x=random.randint(1,10)
y=random.randint(1,50)
for z in range (10):
print x,"*",y
input("Zadejte vysledek prikladu:")
if z==x*y:
print "Spravne! Vysledek je skutecne:",x*y
else:
print "Spatne! Vysledek je:",x*y
raw_input()

Ale pořád se mi objevuje: Spatne!...

Nahlásit jako SPAM
IP: ...–
Jakub Vojáček
~ Moderátor
0
Grafoman
11. 2. 2007   #6
-
0
-

1)dal bych to generování náodných čísel do cyklu...
2)ten input musíš uložit do proměnné:



z=input()

3) v cyklu for nedávej jako proměnnou "z"..

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š
daww0
Duch
20. 2. 2007   #7
-
0
-

Nemohl by sem někdo hodit funkční kod tohoto prográmku ? Přeci jen příklad je nade vše :-) Dost by mi to pomohlo

Nahlásit jako SPAM
IP: ...–
daww
geon0
Grafoman
20. 2. 2007   #8
-
0
-

ne, aspon tedy doufám.
ptej se na konkríétní věci, chceš-li pomoc.

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
daww0
Duch
20. 2. 2007   #9
-
0
-

import random

x = random.randint(1,10)
y = random.randint(1,50)
for opakovani in range (10):
print x,"*",y
z = input("Zadejte cislo: ")
if z == x * y:
print "Sprvne, vysledek je opravdu ",x*y
else:
print "Spatne, spravne je",x*y

1) po spuštění F5 se mi jako první objeví prázdný řádek a až po odklepnutí Enter se mi vypíší čísla a pokyn k zadání čísla
2)při opakování se mi vypisují stále stejná náhodná čísla jako v prvním příkladu. Je zde doporučení zacyklit generování náhodných čísel, ale nevím jak

toť zatím vše :-) Nekamenujte mě, jsem naprostý programátorský láma (tzn tohle je moje první setkání s programováním)

Nahlásit jako SPAM
IP: ...–
daww
Jakub Vojáček
~ Moderátor
0
Grafoman
20. 2. 2007   #10
-
0
-

1) Používáš ten editor co je v základí distribuci (python IDLE)? Tam je problém že když máš ve skriptu raw_input() a nic do toho nezdáš a restartuješ shell tak než ti se ti rozeběhne novej program tak musíš ten enter stejně zmáčknout
2) Stačí přidat to:



x = random.randint(1,10)

do toho cyklu:


for opakovani in range (10):
x = random.randint(1,10)

a to stejný i s "y".

Nikdo tě tady nebude urážet že si lama a tak.. Stačí se slušně zeptat a čekat na odpověd;-)

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š
daww0
Duch
20. 2. 2007   #11
-
0
-

To Blujacker:1) Jj, přesně ten editor používám. Ve skriptu raw_input() nemám, a zatím jsem na to nenarazil, takže zatím nevím ani co to znamená :-)
2) Mám tedy přesunout řádky x a y až pod příkaz for ? No asi zbytečná otázka, jdu to vyzkoušet. Díky

Nahlásit jako SPAM
IP: ...–
daww
Jakub Vojáček
~ Moderátor
0
Grafoman
20. 2. 2007   #12
-
0
-

raw_input() je stejný jako input() s tím rozdílem že raw_input vrací řetězec a input číslo.
Ano, stačí je přesunout a odsadit.

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š
daww0
Duch
20. 2. 2007   #13
-
0
-

Ještě "prozatím" jedna otázka - v řetězci je po for hodnota, která je v příkladu označená jako x a dále se s ní pracuje. V případě tohoto skriptu tam však mohu zadat co chci a nikde se s tím už nepracuje. Co mi uniklo za informaci ?
Edit: Za předchozí rady děkuji, už to funguje :-)

Nahlásit jako SPAM
IP: ...–
daww
Jakub Vojáček
~ Moderátor
0
Grafoman
20. 2. 2007   #14
-
0
-

tak si zkoušej vypisovat v každém cyklu hodnotu opakování:



print opakovani

zjištíš že na počátku má hodnotu 0 a postupně se její hodnota zvětšuje. V tvém případě by se to dalo použít k počítání pokusů, ale já bych větší využití viděl v procházení posloupností:


for prvek in ["A","B","V","D"]:
print prvek

prochází seznamem a vypisuje postupně jeho položky...

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
20. 2. 2007   #15
-
0
-

daww píše:#
# Ještě "prozatím" jedna otázka - v řetězci je po for hodnota, která je v příkladu označená jako x a dále se s ní pracuje. V případě tohoto skriptu tam však mohu zadat co chci a nikde se s tím už nepracuje. Co mi uniklo za informaci ?#
#Edit: Za předchozí rady děkuji, už to funguje :-)#
#



Tu "hodnotu" po for můžeš, ale nemusíš v cyklu využít. Záleží čistě na tobě, jestli se hodí, nebo si to uděláš tak, aby se hodilo.

Té "hodnotě" se říká proměnná, jen tak pro pořádek ;-)

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
daww0
Duch
20. 2. 2007   #16
-
0
-

Haleluja. už jsem to zdá se pochopil alespoň v té základní rovině a hned to i v prográmku využil ;?)

for opakovani in range (10):

print "Priklad c: ",opakovani + 1

Nahlásit jako SPAM
IP: ...–
daww
daww0
Duch
21. 2. 2007   #17
-
0
-

Chtěl jsem mít příklad na jednom řádku i s vložením čísla. Provedl jsem úpravu kodu, program běží, ale hlásí mi to "špatně" i při správném výsledku. Poradíte kde hledat řešení ?

z = input

for opakovani in range (10):
print "Priklad c:",opakovani + 1
x = random.randint(1,10)
y = random.randint(1,50)
print x,"x",y,"=",z(""),
if z == x * y:

Nahlásit jako SPAM
IP: ...–
daww
geon0
Grafoman
21. 2. 2007   #18
-
0
-

Bud dej vše na jeden řádek:

print "Priklad c:",opakovani + 1, x,"x",y,"=",z("")


nebo použij na konci printu čárku, jako to máš u toho druhého printu:

print "Priklad c:",opakovani + 1,

Nahlásit jako SPAM
IP: ...–
geon. volume doprava.
daww0
Duch
21. 2. 2007   #19
-
0
-

Špatně jsem se vyjádřil: "Priklad c.:" je na jednom radku - to je v poradku. Dále následuje tisk příkladu a v lekci je to udělané tak, že tisk příkladu je na jednom řádku a vložení odpovědi na druhé. Já bych chtěl mít příklat (např 7 * 8) na jednom řádku jako vložení výsledku. To se mi podařilo, ale i při zadání správného výsledku mi to píše Špatně. Ignoruje to tedy funkci je rovno. Kde mám špatnou definici ?

Edit: Tak už to mám. Ale byla to fuška :-)

print x,"x",y,"=",

z=input ("")
if z == x * y:

Nahlásit jako SPAM
IP: ...–
daww
Duch
21. 2. 2007   #20
-
0
-

To daww: ty dva poslední řádky nemusíš mít odsazené a místo

z=input ("")
stačí
z=input()
...detaily:)...

Nahlásit jako SPAM
IP: ...–
to_jsem_ja0
Stálý člen
22. 2. 2007   #21
-
0
-

To katha:ty dva poslední musí mít odsazené
To daww:ten input by měl být v cyklu a ne před ním

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, 3 hosté

Podobná vlákna

Znovu otvorenie Form1 — založil Tayson

Neprobehne mi znovu scanf — založil Lukas

 

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