matematykaszkolna.pl
Python podstawy Kubma: Czy wie ktoś jak taką samą pętlę zrobić w pythonie? https://matematykaszkolna.pl/forum/365441.html Wiem ze w Pythonie nie moge w ten sposob zapisac petli for z tego wzgledu ze jest zly uklad blokowy, a po przejsciu do nastepnej linii w formie prawidlowego zapisu podaje mi zle dane. Nie musi byc to koniecznie takie samo rozwiazanie jak w tym zadaniu − wazne zeby uzyskac ten sam efekt koncowy. Probowalem z petla while, w kazdej iteracji zwiekszaly mi sie odpowiednio liczby jednostek, dziesiatek i setek... tylko ze w ten sposob uzyskuje tylko liczby takie jak 111, 222, 333 itd, bo kazda z tych liczb przeciez zmienia sie tak samo. A przeciez odp mozliwa moze byc np 212 gdy suma ma byc 5... Jakies propozyjce?
3 sty 20:30
jc: x = 17 r = 0 for i in xrange(10): for j in xrange(10): for k inxrange(1,10): if i+j+k==x: r+=1 print r wynik = 61
3 sty 21:25
Kubma: Nie rozumiem dlaczego przy i oraz j jest (10), a przy k już (1,10). Moglbym prosic o wytlumaczenie?
3 sty 21:29
jc: Bo, jak pamiętam, chciałeś mieć liczby 3 cyfrowe, więc nie mogą zaczynać się od zera.
3 sty 21:33
Kubma: poza tym przy kompliowaniu programu wyskakuje ze xrange nie jest zdefiniowane − jak to naprawic?
3 sty 21:33
Kubma: Tak, masz racje. Juz rozumiem. A mozesz mi powiedziec jeszcze jak poradzic sobie z tym xrange? Wyskakuje ze nie jest zdefiniowane.
3 sty 21:36
Pytający: Z wypisywaniem + trochę bardziej pogmatwane iterowanie: https://ideone.com/sdazPs https://ideone.com/Rp4MFz I cyfrą setek nie może być zero, dlatego jedna pętla od 1. Zdaje się, że xrange usunęli w Pythonie≥3, zamień na range.
3 sty 21:37
jc: Faktycznie, w pythonie 3 już nie ma. I dobrze emotka Zrób jak pisze Pytający. Usuń x. Zresztą przy tak małych zakresach to nie ma znaczenia.
3 sty 21:40
Kubma: Wszystko pasuje. Dziekuje bardzo.
3 sty 21:43