본문 바로가기
프로그램/Python 1000제

Python 9제] 로또 당첨 등수를 구하는 프로그램을 작성하시오.

by 건티 2021. 8. 1.
728x90

문제]

자동으로 무작위 자연수를 반복해서 입력 받아 로또번호코드를 생성하고자 한다. 
4가 입력되면 로또번호코드에 추가하지 않고 무시하고, 7이 입력되면 로또번호코드 생성을 종료하고 최종 결과를 출력한다. 단, 로또 번호는 0~99의 자연수로 제한하며, 로또번호코드가 11의 배수이면 1등, 7의 배수이면 2등이다. 

 

 

[입력 예시 1]

1

2

1

7


[출력 예시 1]
선택된 번호 내역은 아래와 같습니다.
[1, 2 , 1 , 7]
선택된 번호의 합은 11이고

11의 배수입니다.

 

축하합니다. 1등입니다.



[입력 예시 2]
6
5
4
1
0
7

[출력 예시 2]

선택된 번호 내역은 아래와 같습니다.

[6, 4, 1, 0, 7]
선택된 번호의 합은 14이고

7의 배수입니다.

 

축하합니다. 2등입니다.



[입력 예시 3]
5
9
8
0
6
5
7

[출력 예시 3]

선택된 번호 내역은 아래와 같습니다.

[5, 9, 8, 0, 6, 5, 7]

선택된 번호의 합은 40이고

11의 배수 또는 7의 배수가 아닙니다.

 

아쉽습니다. 다음 기회에...

 

 

참고풀이]

import random

#7이 입력될때까지 값을 더한다.
Sum=0
nList=[]
while True:
    n=int(random.randrange(100))
    nList.append(n)
    if n==4 or n==44: continue
    Sum+=n
    if n==7: break

 

#합이 11의 배수이면 1등
#합이 7의 배수이면 2등
#긔외 등수가 없다.
print("선택된 번호 내역은 아래와 같습니다.")
print(nList)
print("선택된 번호의 합은 %d이고 "%Sum)

if Sum%11==0:
    print("11의 배수입니다.\n")
    print("축하합니다. 1등입니다.")
elif Sum%7==0:
    print("7의 배수입니다.\n")
    print("축하합니다. 2등입니다.")
else:
    print("11의 배수 또는 7의 배수가 아닙니다.\n")
    print("아쉽습니다. 다음 기회에...")
    

참고풀이 결과]

 

 

 

대한민국의 아름다운 영토, 독도의 가을

 

반응형

댓글