inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

Project(1-2)

input 값에 제한을 거는 방법이 궁금합니다/

239

재오

작성한 질문수 3

0

# Hangman(행맨) 미니게임 제작(1) # 기본 프로그램 제작 및 테스트 import time # 처음 인사 name = input("What is your name?") print("Hi, " + name, "Time to play hangman game!") print() time.sleep(1) print("Start Loading...") print() time.sleep(0.5) # 정답 단어 word = "butterfly" # 추측 단어 guesses = '' # 기회 turns = 10 # 핵심 While Loop # 찬스 카운트가 남아 있을 경우 while turns > 0: # 실패 횟수(단어 매치 수) failed = 0 print(guesses) # 정답 단어 반복 for char in word: # 정답 단어 내에 추측 문자가 포함되어 있는 경우 if char in guesses: # 추측 단어 출력 print(char, end=' ') else: # 틀린 경우는 대시로 처리 print("_", end=' ') failed += 1 # 단어 추측이 성공 한 경우 if failed == 0: print() print() print('Congratulations! The Guesses is correct.') # While 구문 중단 break print() # 추측 단어 문자 단위 입력 print() guess = input("guess a charater.") # 단어 더하기 guesses += guess # input 자리 수가 word 자리수보다 클 때 에러 발생 try: a = len(guesses) b = len(word) if a < b: print("입력한 값의 자리수가 답의 자리수보다 적습니다") else: raise ValueError except ValueError: print("입력한 값의 자리수가 답의 자리수보다 크므로 에러를 발생시킵니다") else: print("답의 자리 수를 확인하세요") # 정답 단어에 추측한 문자가 포함되어 있지 않으면 if guess not in word: # 기회 횟수 감소 turns -= 1 # 오류 메세지 print("Oops! Wrong") # 남은 기회 출력 print("You have", turns, 'more guesses!') if turns == 0: # 실패 메세지 print("You hangman game failed. Bye!")
 
 
기본 학습자료에서 예외처리를 참고하여서 input값의 자리수가 word의 자리수보다 크면 입력을 에러를 띄워 입력을 못하게 하고 싶은데 제가 수정,추가한 코드는 에러로 input값을 강제하지 못하더라구요,
위치가 잘못된건지는 모르겠으나, 일단 코드자체를 제대로 작성하지 못한 것 같습니다. 피드백 가능할까요?

python

답변 1

0

좋은사람

input 자체에서 제한값을 걸지마시구요!

받은 문자열(str) 데이터의 길이 len 등을 iter(for) 문 등으로

확인하셔서 제한을 거시는게 좋아여~

 

54강 4분 41초에서 질문 있어요.

0

12

1

import

0

12

1

45강 예제4번에서 질문 있어요!

0

17

1

45강 강의 10분 03초 내용에서 x + 1 을 하는 이유는 뭔가요?

0

15

1

3강, 7강 화면이 안나옵니다. 그냥 검은화면으로만 노출되요;;

0

17

1

41강 1분 39초 영상에서 import test_module이 조회 안 돼요.

0

31

1

29강 while(3-1) 5분 20초 강의 영상 질문

0

36

0

pcskjs@naver.com

0

44

1

인터프리터 설정이 안됩니다.

0

49

1

Python formatter 설치

0

33

1

자료 다운로드 위치 확인 부탁드립니다.

0

37

2

보라색 예약어

0

28

1

#을 붙이는 이유

0

30

1

실행이 안 되는데요.

0

28

1

print 문법 실행 안 돼요.

0

32

1

영문 계정

0

28

1

맥북에서 아이패드로 연결해서 보려고 하면 화면이 안뜹니다.

0

25

1

인스턴스 변수 문의

0

67

1

챕터 03_04 (튜플) 교육자료

0

74

2

Package(3-1) Sub 폴더 자료

0

59

1

아톰 출력 안됨

0

101

2

강의자료 메일 발송 요청 드립니다.

0

110

1

강의자료 메일로 보내주실 수 있으실까요?

1

67

0

Iterable 요소는 리스트로 작성해야하는 것 맞나요?

1

93

2