내가 3번까지 한거
import random as r
lotto = []
num = 1
# ran = r.randint(1,45)
while num < 7:
num = num + 1
ran = r.randint(1,45)
if ran not in lotto:
lotto.append(ran)
# if ran != lotto.append(ran):
lotto.sort()
print(lotto)
4번까지 했는데 번호가 5개가 나올 때가 발생
import random as r
for l in range(10):
lotto = []
num = 1
while num < 7:
num = num + 1
ran = r.randint(1,45)
if ran not in lotto:
lotto.append(ran)
lotto.sort()
print(lotto)
box(len)으로 하면 오류 발생 줄여줌
# 풀이
import random
box = []
# ran = random.randint(1,46)
while len(box) < 6:
ran = random.randint(1,46)
if ran not in box:
box.append(ran)
box.sort()
print(box,len(box))
# print(list(set(box)),len(list(set(box))))
sample을 이용해서 간단하게 나타낼 수 있음
lotto = sorted(random.sample(range(1,46),6))
print(lotto)
# 참고용1
ls = []
la = []
how = 100
for h in range(how):
lotto = sorted(random.sample(range(1,46),6))
la.append(lotto)
ls = ls + lotto
# print(la, type(la))
ss = []
for n in range(1,46):
ss.append( ls.count(n))
print(f'숫자 {n}: 출현한 횟수는 {ls.count(n)}회 입니다.')
print(ss,sum(ss) == how * 6)
if sum(ss) == (how * 6):
print(f'출현횟수 {how}에 대한 검증이 이상없습니다.')
# 참고용2
ls = []
la = []
how = 100
for h in range(how):
lotto = sorted(random.sample(range(1,46),6))
la.append(lotto)
ls = ls + lotto
# print(la, type(la))
dic = {}
for n in range(1,46):
dic[f'num{n}'] = ls.count(n)
# print(f'숫자 {n}: 출현한 횟수는 {ls.count(n)}회 입니다.')
print(dic)
print(dic.values())
5000원 투입