Zadanie z random

Zadanie z random
Raloseq
  • Rejestracja:prawie 7 lat
  • Ostatnio:4 dni
  • Postów:286
0

Pytanie 1. Mam zadanie Napisz program, który wygeneruje 100 losowych liczb mniejszych niz 1000 i większych niż 500 i zapisz do pliku dane.txt..

Kopiuj
import random
x = range(500,1001)
y = random.sample(x,k=100)
with open("C:/Users/Rafał/Desktop/Python/dane.txt","w") as save:
    save.write(str(y))

W pliku mi zapisuje jako liste [15,5,5,....] da się to przerobić żeby normalnie zapisywala liczby po spacji albo od nowej lini ?

Pytanie 2. Zad3. Napisz program, który obliczy średnią losowo podanych przez ciebie liczb i zapisuje je do pliku potega.txt.
Tutaj mam zagwostkę

Kopiuj
x = input("Z ilu liczb policzyc srednia ?")
for i in range(x):
    y = list(input("Podaj liczby"))

Nie wiem jak zastąpic to in range(x), żeby wykonywało się tyle razy ile poda użytkownik

JA
  • Rejestracja:prawie 15 lat
  • Ostatnio:18 dni
1

Ad.1

save.write(' '.join(y))

Ad.2
range(int(x))

Zobacz pozostały 1 komentarz
JA
save.write(' '.join(str(x) for x in y))
Raloseq
Działa tylko nie za bardzo rozumiem zapisu :/ samą metodę .join rozumiem tylko co w środku niej się znajduję
JA
Taki zapis mówi, że każdy element x z listy y zapisujesz jako string str(x), ponieważ można łączyć joinem tylko stringi.
JA
Możesz szukać szczegółów w internecie pod hasłem list comprehension.
Raloseq
Dzięki wielkie za pomoc !
koszalek-opalek
  • Rejestracja:około 9 lat
  • Ostatnio:ponad 2 lata
1

Albo:
save.write(' '.join(map(str, y)))

enedil
  • Rejestracja:prawie 12 lat
  • Ostatnio:4 dni
  • Postów:1027
2

Odnośnie jedynki:

Kopiuj
with open("C:/Users/Rafał/Desktop/Python/dane.txt","w") as save:
    print(*y, file=save)
Raloseq
Co to za zapis mógłbyś wytłumaczyć pokrótce ? chodzi mi o print()
enedil
file=save zajmuje się pisaniem tego samego co print, tylko do wybranego pliku. Natomiast dla przykładu, jeśli y = [3, 2, 6], to zapis f(*y) (dla dowolnej funkcji f) znaczy f(3, 2, 6) - jest to takie odpakowanie argumentów do funkcji z obiektu, który wspiera iterację.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.