Jak se nech? komentovat hodnocen? na mnou vypracovan? úkol z kurzu???
Nev?m, tak jsem kv?li tomu musel zalo?it t?ma.
Jde o m?j zat?m jedin? úkol z 2.lekce.
a) bez maz?n? prom?nn?ch po ka?d?m vyhodnocen? v?sledku se mi na??t? st?le stejn? p??klad. Tak?e random.randint jen jednou nesta??. Zkou??m to jako vzteklej, ale zat?m mi to vych?z? jako ?patn? rada :((
b) Nepot?ebuji spojit k vyti?t?n? printem dva textov? ?et?zce, ale textov? ?et?zce z prom?nn?mi. J? tedy um?m jen php, ale vlo?it prom?nnou do prost?ed textu je jednoduch?.
D?ky za odpov??. A pros?m o zamy?len? nad mo?nost? p?idat mo?nost obousm?rn?ho koment??e nad vy?e?en?m ?kolem. Diskuzi s u?itelem nad probl?mem, k jeho? ?e?en? se ??k aktivn? sna?? doj?t, ne ?e jen ?kemr? o naps?n? skriptu, pova?uji za velmi d?le?itou, nebo se myl?m? Kdy? mi u?itel ?ekne, ?e n?co d?l?m ?patn? a j? jeho vysv?tlen? napoprv? nepochop?m, t?m se mysl? jako?e ber nebo jdi od toho?
D?kuji za odpov??(i) .
Fórum › Python
Komunikace o úkolu z kurzu
[i]Jak se nechá komentovat hodnocení na mnou vypracovaný úkol z kurzu???
Nevím, tak jsem kvůli tomu musel založit téma.[/i]
myslím, že zde je to nejlepší, protože takto se mohou z mé odpovědi poučit i ostatní, nebo i někdo ostatní může přispět svojí radou. Příště jen sem pls vlož link na tvůj ukol, at to nemusíme hledat.
[i]Jde o můj zatím jediný úkol z 2.lekce.
a) bez mazání proměnných po každým vyhodnocení výsledku se mi načítá stále stejný příklad. Takže random.randint jen jednou nestačí. Zkouším to jako vzteklej, ale zatím mi to vychází jako špatně rada [/i]
zkus udělat nějakou demo/zkrácenou verzi toho, jak ti to připadá, že to nefunguje
[i]b) Nepotřebuji spojit k vytištěné printem dva textové řetězce, ale textové řetězce z proměnnými. Já tedy umím jen php, ale vložit proměnnou do prostřed textu je jednoduché.[/i]
ty jsi měl v textových řetězcích proměnné? to snad ne ;-) opět - ukaž ukázku
[i]Díky za odpověď. A prosím o zamyšlení nad možností přidat možnost obousměrného komentáře nad vyřešeným úkolem. Diskuzi s užitelem nad problémem, k jehož řešení se žák aktivně snaží dojít, ne že jen škemrá o napsání skriptu, považuji za velmi důležitou, nebo se mylím? Když mi užitel řekne, že něco dělám špatně a já jeho vysvětlení napoprvé nepochopím, tím se myslí jakože ber nebo jdi od toho?[/i]
jj, myslím, že jsem odpověděl úplně nahoře. Dotazy jsou dobře.
Tak u? jsem to pochopil podle tv?ho n?vodu. P?vodn? jsem t? ch?pal tak, ?e sma?u ty dyl?tka prom?nn?ch a znovu na??t?n? random.randint. To tedy nefungovalo.
Po pochopen?:
#################
import random
odpoved = 1
while odpoved != 0:
a = random.randint (1,10)
b = random.randint (1,10)
c = a * b
print "Kolik je ", a, "x", b,"?"
odpoved = int (raw_input ("Tvoje odpov?? = : "))
if odpoved == c:
print "ano"
else:
print "ne"
#################
V [url]tom m?m dom?c?m ?kolu[/url] se mi to zd? ovšem pro za??te?n?ka logi?t?j?? jako p??klad na pochopen? :)) . Nemusela se nap?. inicializovat prom?nn? dop?edu.
???Te? u? to m? jen jednu funk?n? chybku na konci, kdy? zad?m 0, jako?e konec. Skon?? to sice, ale je?t? to vytiskne z?pornou odpov??.
No a k tomu spojov?n? ?et?zce a prom?nn? v php nap??klad:
<?php
$a = 43;
$b = "No a co?";
print "Je mi ".$a."! ".$b. " Nikdy nen? pozd? za??t!";
?>
Napsal jsem to to do souboru sem http://www.fippo.cz/a.php , kdyby se to snad zd?lo n?komu nefunk?n?.
Nějak se mi nepoed dát odkaz na ten můj úkol.
http://programujte.com/ukoly.php?akce=detail&id_detail=2023&sekce=17&load=none
Nechci tady ucpat f?rum :)) , ale k t? moj? cause by bylo dobr? v?d?t pro dal?? nov??ky, ?e jsem musel p?i m?m ?e?en? n?sobilky mazat prom?nn? proto, ?e jejich p?i?azen? jsem nechal prov?d?t je?t? p?ed za??tkem cyklu, ??m? potom uvnit? cyklu se pracovalo u? se jen statickou hodnotou.
T?m, ?e se p?i?azen? posunulo dovnit? smy?ky while se za?aly prom?nn? ka?d?m opakov?n?m plnit znovu a znovu nov? vygenerovan?m ??slem.
Vysv?tlil jsem to spr?vn?? M??u se m?lit a t?eba logika zm?ny ?e?en? spo??v? v n??em, co jsem nepochopil. Ale pokud je to tak, tak takhle si mysl?m, ?e bych to vysv?tloval blbcovi, jak? jsem v Pythonu, a je?t? n?jak? p?tek budu, j? :skunk:
heh, je toho moc, zkus?m nic neopomenout :-)
[i]P?vodn? jsem t? ch?pal tak, ?e sma?u ty dyl?tka prom?nn?ch a znovu na??t?n? random.randint. To tedy nefungovalo.[/i]
Kdybys smazal jen ty dyl?tka prom?nn?ch, v?e muselo fungovat OK. del se pou??v? velmi, velmi m?lo. Hlavn? snad jen v OOP.
[i]V tom m?m dom?c?m ?kolu se mi to zd? ovšem pro za??te?n?ka logi?t?j?? jako p??klad na pochopen? . Nemusela se nap?. inicializovat prom?nn? dop?edu.[/i]
Ale ona se iniciovala!!! T?m p?edchoz?m a=random.randint (...). TO je taky inicializace.
[i]No a k tomu spojov?n? ?et?zce a prom?nn? v php nap??klad:[/i]
Spojov?n? ?et?zc? v Pythonu je hez??, he?:
a="ahoj"
b="nestor"
print a + " " + b
[i]??m? potom uvnit? cyklu se pracovalo u? se jen statickou hodnotou.[/i]
v pythonu statick? hodnoty neexistuj?, jsme toti? dynami?t? :-) Toto je validn? kod:
a=5
a="ahoj"
a=["no nazdar"]
Toto je validní kod:
a=5
a="ahoj"
a=["no nazdar"]
Vseho s mirou, chlape! ;o)))
Videt nekoho, jak takhle prasi v mem milovanem Pythonu jako by se rochnil v PHP, tak ho asi uskrtim ;o)))
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
[i]???Te? u? to m? jen jednu funk?n? chybku na konci, kdy? zad?m 0, jako?e konec. Skon?? to sice, ale je?t? to vytiskne z?pornou odpov??.[/i]
na to jsem zapomn?l. Jo to je fakt. Sta?? tedy p?ed odpov?? vlo?it:
if c==0:
break
nebo
id c==0:
continue
V tomto p??pad? to vyjde nastejno. Jen u prvn? uk?zky pak sta?? dokonce m?t:
while True:
....
break prost? smy?ku p?eru??. continue p?eru?? pouze zbylou ??st kodu ve smy?ce a vr?t? se na za??tek, kde zjist?, ?e ....
geon napsal:
heh, je toho moc, zkusím nic neopomenout :-)
[i]Původně jsem tě chápal tak, že smažu ty dylítka proměnných a znovu načítání random.randint. To tedy nefungovalo.[/i]
Kdybys smazal jen ty dylítka proměnných, vše muselo fungovat OK. del se používá velmi, velmi málo. Hlavně snad jen v OOP.
[color=green]To je pravda i když původní výtka byla hlavně k těm zbytečným randomům[/color]
[i]V tom mém domácím úkolu se mi to zdá ovšem pro začátečníka logičtější jako příklad na pochopení. Nemusela se např. inicializovat proměnná dopředu.[/i]
Ale ona se iniciovala!!! Tím předchozím a=random.randint (...). TO je taky inicializace.
[color=green]Měl jsem na mysli incializaci proměnné "odpoved" /color]
[i]No a k tomu spojování řetězce a proměnné v php například:[/i]
Spojování řetězců v Pythonu je hezčí, heč:a="ahoj"
b="nestor"
print a + " " + b
[color=green]Tak to mi funguje, pokud nehodím do proměnné číslo. Hlásí mi to
[color=red]TypeError: cannot concatenate 'str' and 'int' objects[/color]
Vypadá to tedy, že stejný příklad, jako jsem ukázal v tom php, Python nezvládne. To snad ne? [/color]
[i]Čímž potom uvnitř cyklu se pracovalo už se jen statickou hodnotou.[/i]
v pythonu statické hodnoty neexistují, jsme totiž dynamičtí :-) Toto je validní kod:
a=5
a="ahoj"
a=["no nazdar"]
[color=green]Hmmm...[/color]
geon napsal:
Já radsi s Mirkou.
Ja zas radsi s Lenkou. :o)
Ja vim, ze jsi to myslel jenom jako priklad... mne to jenom trochu vydesilo ;o) Predstavil jsem si nekoho, jak to z vesela pouziva v nejakym svym programu... brrrr... ;o)
look to the master,
follow the master,
walk with the master,
see through the master,
become the master.
python chápe, že součet čísla a řetězce je nesmysl (čti error) :-). Je třeba z čísla vyrobit řetězec
>>> a=1
>>> print "tohle je jednička " + str(a)
tohle je jednička 1
>>> print "tohle je jednička ", str(a)
tohle je jednička 1
>>> c1= "tohle je jednička " + str(a)
>>> c2 ="tohle je jednička ", str(a)
>>> print c1
tohle je jednička 1
>>> print c2
('tohle je jednička ', '1')
U print čárka (,) znamená, aby se to tisklo za sebou (a nechalo mezi sebou jednu mezru), kdežto v přiřazení, je toto
c2 ="tohle je jednička ", str(a)
zkrácenou formou pro toto:
c2 =("tohle je jednička ", str(a))
tedy výroba tuple, ale to jen tak na okraj, kdybysis s tím hrál :-)
Užiteli, pomóc! Myslel jsem, že ten brejk by měl fungovat takhle:
import random
odpoved = 1
while odpoved != 0:
a = random.randint (1,10)
b = random.randint (1,10)
c = a * b
print "Kolik je ", a, "x", b,"?"
odpoved = int (raw_input ("Tvoje odpověď = : "))
if odpoved == c:
print "ano"
elif odpoved != c:
print "ne"
else:
break
Já tomu nerozumím :helpme: :helpme: :helpme:
nestor napsal:
Aha. Tak?e alespo? v tomhle je to "blb? php" podstatn? jednodu???. No to bude asi ?patn? p?iznateln? Farundelovi. Zd?l se mi na php dost nabrou?enej :D , ale v t?hle mali?kosti Python asi opravdu nevede. Stejn? ho asi budu milovat :))
[color=blue]?lov??e, j? v tom f?ru je?t? n?jak neum?m nar?ba?. V??e uveden? v?ty byly reakcemi na slo?it? spojov?n? prom?nn?ch pln?ch string? s prom?nn?mi pln?n?mi ??sly.
[/color]
no jak se to veme. M? to p?ide logi?t?j??, p?esto, ?e "nenadb?h?m" u?ivateli a ned?l?m konverzi za n?j.
5+5=10 to je jasn?
"5"+"5"="55" tady je plus ve ve v?znamu spojovat, slu?ovat, ale d?v? to smysl taky
"5"+5= "55" nebo 10? To se m? rozhodnout stroj, jestli z ?et?zce ud?lat ??slo nebo naopak? To mus? v?d?t program?tor!
Rozhodn? je z?ejm?j?? co d?l? "a"+"b" ne? "a"."b" ;-), mysl?m laikovi, co nikdy ani jeden jazyk nevid?l.
až na to, že mi to nefunguje, je to docela dobré. :-) Žádný 3x random, žádný del. Jen myslím, že na začátku chybí jeden či dva řádky, aby to fungovalo. Jestli chceš, klidně to odevzdej znovu. A tady to pls edituj a smaž kod . Nemusíme kazit začinajícím radost z objevovování ukázáním hotového že ne?. Kdo bude chtít najít, vždycky najde, ale proč jim to usnadňovat, že? ;-)
Přidej příspěvek
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Uživatelé prohlížející si toto vlákno
Podobná vlákna
Lektor ke kurzu Delphi — založil Daniel Muška
Problém s kódem v kurzu C++ — založil Brejlounek
Základy Python pomocou kurzu — založil vankojan
Známkování úkolů. — založil geon
Help k ukolu u 3.lekce (c++) — založil kaqpa
Moderátoři diskuze