반응형
SMALL
파이썬은 random 모듈이라는 것이 있다. random 모듈의 정의는 두 정수 사이에 난수를 리턴시키는 함수 값이다. 되게 재밌는건 1,20을 random함수 안에 설정해 놓으면 1~20사이에 랜덤한 숫자가 print를 통해 출력이 된다. 그래서 이 함수로 여러가지 재밌는 프로그램을 만들 수 있다. 근데 어떤원리로 리턴되고 정의되는지부터 확실히 공부할 필요가 있다. 그래서 이 함수로 첫번째로 만들어본 프로그램은 숫자맞추기 프로그램이었다. 총 기회는 4회가 주어지며 이 안으로 컴퓨터가 랜덤으로 뽑은 숫자를 내가 맞춰야 하는 게임이다. 4번안으로 못맞추면 아쉽다는 메시지를 보내며 정답을 알려준다. 어찌보면 참 단순한 프로그램인데 생각외로 구현하긴 쉽진 않았다. 특히 while문쪽에서 좀 애를 먹었다. 내가 짠 소스는 다음과 같다.
from random import randint
chance = 4 # 주어지는 기회
ANSWER = randint(1,20) # 1~20까지 숫자들
while (chance != 0):
enter = int(input("기회가 %d번 남았습니다. 1-20 사이의 숫자를 맞춰보세요: " % chance))
# 사용자가 입력한 답과 컴퓨터가 생각해놓은 답을 비교해 판정한다.
if ANSWER > enter:
chance = chance - 1
print("Up")
elif ANSWER < enter:
chance = chance - 1
print("Down")
else:
print("축하합니다. %d번만에 숫자를 맞추셨습니다." % (5 - chance))
break
else:
print("아쉽습니다 정답은 %d였습니다." % (ANSWER))
코드길이는 짧은듯 하지만 쉽진않아서 택이의우승상금 풀때처럼 종이에 그림 그려가면서 코드를 짜보았다.
특히 마지막 else문은 전역변수로 빼주어야 코드가 정상적으로 작동했다. 실행결과는 아래 그림과 같다.
기회를 좀 더 주고 싶으면 chance부분을 수정하면 된다. 또 다른방법으로도 짜는 방법이 있을테니 그건 각자
생각해서 짜보는 것도 좋을 것 같다. random모듈은 많은 프로그램을 짤 수 있는 유용한 함수이다.
반응형
LIST
'프로그래밍언어 > PYTHON' 카테고리의 다른 글
온도변환프로그램 (0) | 2017.07.23 |
---|---|
구구단 프로그램 (0) | 2017.07.12 |
택이의 우승상금 프로그램 (0) | 2017.07.11 |
피보나치 수열 프로그램 (0) | 2017.07.11 |
학점계산기 프로그램 (0) | 2017.07.10 |