Zadanie: wyświetl 10 liczb w jednym wierszu.

0

``Drodzy programiści, uczę się intensywnie Pythona, juź którąś godzinę spędziłem wertując fora i nic, mam takie zadanie:

Utwórz plik liczby_10.txt zawierający liczby od 1 do 1000. W każdej linii powinno znajdować się dokladnie 10 liczb rozdzielonych spacjami
Na chwilę obecną udało mi się napisać coś takiego:

o = range(1, 1001)
f = []
for i in o:
    f.append(i)

#z = open(r'C:\Users\dom\Desktop\liczby_10.txt', 'w')
v = str(f)
v1 = v.replace(',', '')
v2 = v1.replace('[', '')
v3 = v2.replace(']', '')

print(v3)

# z.write()
# z.close() 

Gdyby mógł mnie ktoś naprowadzić jak wyświetlić to w liniach po 10 liczb to będę przeogromnie wdzięczny :)

0

Żeby sprawdzać żeby wykonało się coś za 10 razem w pętli musisz sprawdzić czy licznik pętli jest podzielny przez 10 - użyć operatora modulo ( % ).

0

Dalej ciemno..

0

Otwierasz plik
Robisz zmienną na pojedyncza linie, nazwijmy ją "lancuch"
Iterujesz po pętli, masz jakiś licznik ( nazwijmy ten licznik "i" )
Dodajesz do zmiennej "lancuch" licznik "i" ze spacja na koncu ( lancuch += i + " " )
Sprawdzasz i, jesli jest podzielna przez 10 (używając operatora modulo), jesli tak to wpisujesz zmienna "lancuch" do pliku jako linie i ją czyścisz (lancuch = "" albo cokolwiek)
jesli cos ci zostalo ze zmiennej lancuch to tez mozesz to wpisac jako dodatkowa linie do pliku
Zamykasz plik

1
counter1 = 1
counter2 = 11

while counter2 != 1011:
    print(*range(counter1,counter2))
    counter1 += 10
    counter2 += 10

W ten sposób?

4

Chyba działa. Ja bym uczynił ten kod bardziej Pythonowym, i powstałoby coś takiego:

w = open('cośtam', 'w')
for i in range(1, 1001, 10):
    print(*range(i, i+10), file=w)
w.close()
0

sabioX9 , enedil dokładnie o to chodziło, nie miałem pojęcia, że można zrobić to w tak prosty sposób :o

Dziękuję bardzo :d

1 użytkowników online, w tym zalogowanych: 0, gości: 1