파이썬 특정 문자 입력 시 종료 - paisseon teugjeong munja iblyeog si jonglyo

특정 문자 입력 시 프로그램 종료 방법 문의 드립니다.

import random

import os

import sys

def input_check(msgcasting=int):

while True:

try:

user_input = int(input("몇 일까요?(1 ~ 99 사이의 정수만 입력하세요) : "))

if user_input == "n":

sys.exit()

return user_input

except:

continue

chance = 10

os.system("cls")

print("1부터 99까지의 숫자를 10번의 시도 안에 맞춰보는 게임입니다")

def game():

global count

count = 0

number = random.randint(199)

while count < chance:

count += 1

user_input = input_check("몇 일까요?(1 ~ 99 사이의 정수만 입력하세요) : ")

if user_input == number: 

print("성공! {}이(가) 맞습니다.".format(number))

print("{}번만에 성공하셨습니다.".format(count))

break

elif count == chance:

print("실패, 정답은 {}입니다.".format(number))

break

elif user_input < number:

print("{}보다 큽니다.".format(user_input))

elif user_input > number:

print("{}보다 작습니다.".format(user_input))        

game()

while True:

print("게임을 계속 하시겠습니까?(Y/N) : "end='')

answer = input()

if answer == "y" or answer == "Y":

game()

elif answer == "n" or answer == "N":

print("게임을 종료합니다.")

break

위 코드는 제가 일부 기능을 추가 한 상태입니다.

그런데 숫자를 입력 받을 때 사용자가 n을 입력하면 게임이 종료되게끔

이런 저런 시도를 해봤는데 안되더라고요 그래서 

user_input = input("몇 일까요?(1 ~ 99 사이의 정수만 입력하세요) : ")

if user_input == "n":

sys.exit()

마지막으로 input_check 안에 이런식으로 해봤는데도 의도대로 안되더라고요.

무엇이 문제인지 잘 모르겠습니다.

어떻게 하면 n을 입력받았을 때 프로그램이 종료될까요?

아주 단순한 문제인거 같은데 답을 모르겠습니다.

1) While문 구조

  • 반복을 실행하는 조건문
while 조건 : 
	실행코드
  • 조건이 참 = 반복 실행
    조건이 거짓 = 반복 종료
  • 조건이 계속 참일경우 무한 루프가 되므로 주의해야함!
    처음엔 참이더라도 실행하면서 거짓이 될 수 있는 조건문을 만들어야한다!

2) while문 예시

✏️ 10부터 0까지 출력

a = 10
while a >= 0 :
    print(a)
    a = a - 1

✏️ n번(원하는 횟수만큼) 반복하기

n = int(input('n:')  #input으로 입력받은 숫자를 정수형(int)로 한번 더 감싸줌
while n:
	print(n)
    	n = n-1

✏️ ~까지 반복하기

1) 1~10까지 반복하기(숫자)

n = 1
while n <= 10:
	print(n)
    	n = n+1

2) yes 입력하면 반복하기(문자)


(1) 실패한 경우 : 무한 루프에 빠졌다 ...

answer = input('yes를 입력하면 반복:')

while answer == 'yes' : 
    print('반복합니다')

print('종료합니다')

(2) 다시 시도

answer = 'yes'

while answer == 'yes' : 
    answer = input('yes 입력시 반복')   #입력자를 통해 무한루프 방지

print('종료합니다')   #yes 아닌 대답을 할 경우 종료합니다 출력 후 종료

3) e또는 E가 입력될 때까지 반복하기


text = input('e 또는 E 입력시 종료')

while text != 'e' and text != 'E' :
    text = input('e 또는 E 입력시 종료')

print('종료')