본문 바로가기

Python/파이썬 프로젝트

[모듈 2-9] 업다운 게임 만들기

 

1. 일정 숫자 판별 코드

number = 35
 
guess = input("숫자를 입력하세요 :")
if guess == number:
    print("정답입니다")
else:
    print("틀렸습니다")

 

Q. 35를 넣었을 때 정답이라고 하는가?

 

 

 

 

- 각각의 number와 guess의 값을 출력해 보자.

number = 35

guess = input("숫자를 입력하세요 :")
if guess == number:
    print("정답입니다")
else:
    print("틀렸습니다")

print(number)
print(guess)

 

Q. 2개의 값이 같는가?

 

 

 

 

- 그렇다면 각각의 데이터 타입도 확인해 보자.

number = 35

guess = input("숫자를 입력하세요 :")
if guess == number:
    print("정답입니다")
else:
    print("틀렸습니다")

print(number)
print(guess)

print(type(number))
print(type(guess))

 

즉 int type의 number는 35의 값이 들어간 반면, str type의 guess는 '35'가 들어가 이 둘은 같지 않은 것이다.

 

 

 

 

아래와 같이 input함수의 데이터 타입을 int 타입으로 형변환 해보자.

number = 35

guess = int(input("숫자를 입력하세요 :"))  # int() 함수로 정수로 바꿔줬습니다
if guess == number:
    print("정답입니다")
else:
    print("틀렸습니다")

 

Q. 잘 동작하는가?

 

 

 

 

[도전과제 1 ] while 구문을 사용하여 아래와 같이 정답이 나올때 까지 반복적으로 동작하게 하시오.

 

 

 

 

힌트) while - break 문의 사용 예제

출처 : https://dojang.io/mod/page/view.php?id=2253

 

 

[도전과제 2 ] elif (엘스 이프) 문을 추가하여 입력한 숫자가 틀렸을때 더 크다 작다를 표현해 주시오.

 

 

 

힌트) 코드의 구조

number = 35

while True:
    guess = int(input('숫자를 입력하세요 :'))
    if 
        break
        
    elif
    
        
    else:

 

 

 

 

 

 

 

 

 

2. 랜덤 숫자 판별 코드

 

- random.randint(1,999) 함수를 통해 number 에 1~999 까지의 숫자를 랜덤으로 만들어 줄수 있다.

import random
number = random.randint(1,999)       #랜덤한 숫자 생성
print(number)
 
while True:
    guess = int(input('숫자를 입력하세요 :'))
    if guess == number:
        print('정답입니다')
        break
    elif guess > number:
        print('더 작은 수 입니다')
    else:
        print('더 큰 수 입니다.')

 

 

하지만, 숫자가 아닌 값을 입력하면 아래와 같이 오류가 생기며 프로그램이 강제 종료 된다.

 

 

 

오류가 났을때 프로그램이 종료되지 않고 계속해서 프로그램을 작동하는 법은 없을까?

 

이런식으로 말이다.

 

 

 

[도전과제 3] 구글에서 try except python 를 검색하여 파이썬의 오류 예외처리 문법에 대해서 학습한 뒤 코드를 적용 시켜 위와 같이 동작시키도록 코드를 짜 보아라.

 

 

검색도 실력이다!!!

 

 

 

자료 출처 : 이고잉님 오픈튜토리얼

opentutorials.org/course/3186/17837

 

@Edit by Wonking