Portál AbcLinuxu, 9. května 2025 22:43
Řešení dotazu:
import random def throw(total = 0): num = random.randint(1, 6) if num != 6: return total + num else: return throw(total + 6)A poté by následoval tisk hodnot:
rounds = 0 pos = 1 while True: rounds += 1 throw_result = throw() print 'V %d kole padlo: ' % rounds, if throw_result < 6: print throw_result else: print '%s %d' % (' '.join('6' * (throw_result / 6)), throw_result % 6) pos += throw_result print 'Jsem na pozici %d' % posPozor, nekonečný cyklus, podmínka pro jeho ukončení nebyla v zadání
vypis = True or False
mělo znamenat co? Protože to znamená
vypis = True
Hod kostky se dá zjednodušit místo hromady těch ifů dát prostě
hod_kostky += hod
vypis
prijit True i False. Ale tim ze napises vypis = True or False
rovnou menis hodnotu parametru, protoze i kdyz prijde False, udelas z toho True.
kolo = 0 pozice = 1 while True: kolo += 1 print 'V %d kole padlo: ' % rounds, hod = random.randint(1, 6) while hod == 6: pozice += hod print hod, ' ', hod = random.randint(1, 6) pozice += hod print hod print 'Jsem na pozici %d' % pozice
…tak není moc dobré se snažit uflikovat program, aby fungoval.Mnooo, není to sice dobré pro ten program, ale může to být dobré pro programátora. Je tu někdo kdo se naučil prgat opisováním "správného" kódu z učebnic? Kdepak, někdy nejlepší způsob jak se naučit dělat věci správně je zkusit nejdřív všechno ostatní.
To že někdo potřebuje poradit, když je úplný začátečník a programuje 3 týdny, tak tu, prosím, nedělej předčastný závěry. Děkuji.Tohle ani není validní věta. Chtěla jsi nejspíš napsat něco jako:
Jsem úplný začátečník, v pythonu dělám 3 týdny, tak mám nárok, aby jste za mě řešili domácí úkoly. Děkuji.
Prostě potřebuji poradit.Potřebuješ se doučit naprosté základy. Očividně máš silný bordel ve funkcích, smyčkách, if podmínkách, vyhodnocování binárních operátorů a já nevím v čem ještě. To neber jako nadávky, ale jako konstruktivní kritiku - pokud si vyhledáš tyhle termíny a doučíš se je z učebnice, tak ti to dojde. Zkoušet to tímhle stylem "upravuju kód, dokud to nepůjde", to by mohlo být ještě na hodně dlouho. Ostatní tě to asi můžou doučit, ale v podstatě by jen přepisovali učebnici, takže to imho nemá žádnou cenu. Mě osobně do začátku vždy pomáhá brát si lehčí úkoly. Prvně si vyzkoušej smyčky, funkce, rekurzi a binární operátory v samostatných souborech, pak je zkus různě zkombinovat a teprve až pochopíš tyhle základní stavební kameny jakéhokoliv programu, tak můžeš začít stavět něco víc.
Navíc, kdybych chtěla, abyste mi vyřešili dú tak to sem pošlu celé zadání a ne jen jednu část, která mi dělá problém.Dostala jsi zde hned několik řešení, z nihž jedno je i docela elegantní. Až se doučíš funkci základních konstrukcí, tak celý problém zmizí.
Navíc, kdybych chtěla, abyste mi vyřešili dú tak to sem pošlu celé zadání a ne jen jednu část, která mi dělá problém.Ale to by bylo proti pravidlům ;)
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.