Cześć,
mam do zrobienia program w ramach studiów (to nie informatyka). Losuję n razy x liczb (za każdym razem bez powtórzeń) z pewnego zakresu (u mnie na razie 49). Program ma zapisywać w n linijkach w pliku wszystkie losowania. Należy policzyć średnią i odchylenie standardowe każdej z kolumn. Problem leży w tym, że nie potrafię zsumować liczb każdej z kolumn dla n przypadków, jedynie dla z góry narzuconej liczby. Nie udaje mi się również zapisać do pliku wyników (średniej i odchylenia). Mam tyle co poniżej. Czy może ktoś podpowiedzieć jak skonstruować pętlę dla sumowania liczb z każdej kolumny? Z góry dziękuję.
from random import randint
def wylosuj():
a = randint(1,49)
if a not in y:
y.append(a)
else:
wylosuj()
n=input("Liczba losowań to:")
n=int(n)
print("Liczba losowań to:",n)
suma1=0
suma2=0
suma3=0
suma4=0
suma5=0
suma6=0
s1kwadrat=0
s2kwadrat=0
s3kwadrat=0
s4kwadrat=0
s5kwadrat=0
s6kwadrat=0
for z in range(0,n):
y=[]
plik=open('plik.txt','a')
for x in range (1,6):
wylosuj()
else:
wylosuj()
plik.writelines(str(y))
plik.writelines('\n')
plik.close()
print(y)
suma1=(suma1+y[0])
suma2=(suma2+y[1])
suma3=(suma3+y[2])
suma4=(suma4+y[3])
suma5=(suma5+y[4])
suma6=(suma6+y[5])
s1kwadrat=s1kwadrat+(y[0])**2
s2kwadrat=s1kwadrat+(y[1])**2
s3kwadrat=s1kwadrat+(y[2])**2
s4kwadrat=s1kwadrat+(y[3])**2
s5kwadrat=s1kwadrat+(y[4])**2
s6kwadrat=s1kwadrat+(y[5])**2
print("Średnia z pierwszej kolumny to:", suma1/n, "a odchylenie standardowe to:",((s1kwadrat/n)-(suma1/n)**2)**(1/2))
print("Średnia z drugiej kolumny to:", suma2/n, "a odchylenie standardowe to:",((s2kwadrat/n)-(suma2/n)**2)**(1/2))
print("Średnia z trzeciej kolumny to:", suma3/n, "a odchylenie standardowe to:",((s3kwadrat/n)-(suma3/n)**2)**(1/2))
print("Średnia z czwartej kolumny to:", suma4/n, "a odchylenie standardowe to:",((s4kwadrat/n)-(suma4/n)**2)**(1/2))
print("Średnia z piątej kolumny to:", suma5/n, "a odchylenie standardowe to:",((s5kwadrat/n)-(suma5/n)**2)**(1/2))
print("Średnia z szostej kolumny to:", suma6/n, "a odchylenie standardowe to:",((s6kwadrat/n)-(suma6/n)**2)**(1/2))