당신은 주제를 찾고 있습니까 “파이썬 숫자 맞추기 게임 – 파이썬강좌, 숫자맞추기 (변수,반복문,조건문)“? 다음 카테고리의 웹사이트 you.tfvp.org 에서 귀하의 모든 질문에 답변해 드립니다: https://you.tfvp.org/blog/. 바로 아래에서 답을 찾을 수 있습니다. 작성자 남박사 이(가) 작성한 기사에는 조회수 5,320회 및 좋아요 42개 개의 좋아요가 있습니다.
파이썬 숫자 맞추기 게임 주제에 대한 동영상 보기
여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!
d여기에서 파이썬강좌, 숫자맞추기 (변수,반복문,조건문) – 파이썬 숫자 맞추기 게임 주제에 대한 세부정보를 참조하세요
#초딩도할수있는파이썬강좌,#파이썬기초
파이썬 완전 기초
변수, 반복문, 조건문를 활용해서 숫자 맞추기 게임을 만들어봅시다~
소스코드 다운로드: https://github.com/doctornam/PythonProject/tree/master/NumberGame
남박사의 인프런강좌: https://www.inflearn.com/course/파이썬-활용
파이썬 숫자 맞추기 게임 주제에 대한 자세한 내용은 여기를 참조하세요.
숫자 맞추기 게임1 (업다운 게임) – 파이썬_실전 프로젝트
랜덤으로 숫자를 생성한후에, 추측한 숫자를 입력하면, 큰지 작은지 판단해서 알려주고, 다시 추측하는 간단한 게임을 만들어 보겠습니다. 1. 숫자 입력 …
Source: opentutorials.org
Date Published: 6/10/2022
View: 3005
6. 간단한 숫자 맞추기 게임 만들기 : 파이썬 무료 강의 – 코딩나우
1. 별 피라미드(print) · 1-1. 구구단 출력하기 · 2. 최대최소 구하기 · 3. 가위바위보 게임 · 4. 갤러그 게임 1탄 · 5. 갤러그 게임 2탄 · 6. 숫자 맞추기 …
Source: www.codingnow.co.kr
Date Published: 9/4/2021
View: 1899
3단원 – 9. 숫자 맞추기 게임
숫자 맞추기 게임 프로그램은 랜덤 함수를 이용하여 숫자를 지정한 후, 사용자가 생각하는 숫자를 입력하여, 비교하고 10번의 기회 동안 숫자를 맞추는 프로그램이다.
Source: www.nise.go.kr
Date Published: 3/8/2021
View: 9346
[Python] 숫자 찾기 게임 / 숫자 맞추기 게임 – 지나가는 이야기
먼저 가상의 숫자를 정하고, 사용자에 입력에 따라 그 숫자보다 높은지 낮은지 판단한 후 최종적으로 숫자를 맞추는 게임이다. import random # random …
Source: passing-story.tistory.com
Date Published: 5/6/2022
View: 1205
[Python] 숫자 맞추기 게임(업다운 게임)_while문, try/except …
[Python] 숫자 맞추기 게임(업다운 게임)_while문, try/except(예외처리). 소꿍 2020. 4. 22. 13:41. – 랜덤으로 설정한 숫자를 사용자가 추측하여 맞추는 게임.Source: sokkung.tistory.com
Date Published: 12/12/2021
View: 7100
[python] 숫자맞추기 게임 – 프로그래밍 일지
random.randint() 로 정해진 1~100 의 숫자를 맞추는 게임 import random select = random.randint(1, 100) i = 0 while True: i+=1 userAnswer …
Source: eugene-lab.tistory.com
Date Published: 3/11/2021
View: 8197
[python] 숫자 맞추기 게임 – 알아가다
숫자 맞추기 게임 # 조건 # 1.랜덤으로 숫자를 제시(1-100) # 2. 답을 입력받기 # 3. 업 앤 다운으로 힌트 제공 import random number …
Source: zarazio.tistory.com
Date Published: 1/28/2022
View: 8119
주제와 관련된 이미지 파이썬 숫자 맞추기 게임
주제와 관련된 더 많은 사진을 참조하십시오 파이썬강좌, 숫자맞추기 (변수,반복문,조건문). 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.
주제에 대한 기사 평가 파이썬 숫자 맞추기 게임
- Author: 남박사
- Views: 조회수 5,320회
- Likes: 좋아요 42개
- Date Published: 2019. 3. 21.
- Video Url link: https://www.youtube.com/watch?v=_LQxXVEqgI4
숫자 맞추기 게임1 (업다운 게임)
랜덤으로 숫자를 생성한후에, 추측한 숫자를 입력하면, 큰지 작은지 판단해서 알려주고, 다시 추측하는 간단한 게임을 만들어 보겠습니다.
1. 숫자 입력받기
guess = input(“숫자를 입력하세요 :”) print(guess)
숫자를 입력하세요 :34 34
2. 판단하기
테스트를 위해서, 정답은 임의의 숫자로 고정시켜 놓고, 정답인지 아닌지만 판단하도록 했습니다. 크기는 좀있다가 비교하도록 하죠.
number = 35 guess = input(“숫자를 입력하세요 :”) if guess == number: print(“정답입니다”) else: print(“틀렸습니다”)
숫자를 입력하세요 :35 틀렸습니다
정답을 입력했는데 틀렸다고 나옵니다. 뭐가 문제일까요?
print(type(number)) print(type(guess))
원인은 input으로 숫자를 입력을 받으면, guess 변수에 문자열로 저장이 되는데,
미리 정해놓은 number 변수는 정수타입입니다. 그래서 다르다는 결과가 나오는 것입니다.
print(1 == ‘1’)
False
그래서 둘중 하나를 타입을 바꿔줘야 합니다.
여기서는 입력받은 숫자를 정수타입으로 바꿔주기로 하죠. int() 함수사용.
number = 35 guess = int(input(“숫자를 입력하세요 :”)) # int() 함수로 정수로 바꿔줬습니다 if guess == number: print(“정답입니다”) else: print(“틀렸습니다”)
숫자를 입력하세요 :35 정답입니다
3. 반복하기
while 문으로 무한루프문을 만들고, 정답을 맞췄을때만 break 를 해주면 답을 맞출때까지 반복됩니다.
number = 35 while True: guess = int(input(“숫자를 입력하세요 :”)) if guess == number: print(“정답입니다”) break #정답이면, 루프문을 빠져 나갑니다. else: print(“틀렸습니다”)
숫자를 입력하세요 :32 틀렸습니다 숫자를 입력하세요 :34 틀렸습니다 숫자를 입력하세요 :36 틀렸습니다 숫자를 입력하세요 :35 정답입니다
4. 크기 판단해서, up,down 알려주기
if 문 아래 elif문을 추가해서, 입력값(guess)값이 큰지 판단하고, else 부분은 나머지 작을때의 메세지를 입력해줍니다.
number = 35 while True: guess = int(input(‘숫자를 입력하세요 :’)) if guess == number: print(‘정답입니다’) break elif guess > number: # 정답이 아니면, 다시 큰지 작은지를 판단합니다. print(‘더 작은 수 입니다’) else: print(‘더 큰 수 입니다.’)
숫자를 입력하세요 :34 더 큰 수 입니다. 숫자를 입력하세요 :36 더 작은 수 입니다 숫자를 입력하세요 :35 정답입니다
5. 정답 랜덤으로 생성하기.
random.randint(1,999)는 1부터 999사이의 난수를 생성하라는 명령입니다. ( random 이라는 모듈을 import 해줘야 합니다. ) 확인을 위해서 생성된 난수는 출력을 해놓고, 테스트를 진행하겠습니다.
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(‘더 큰 수 입니다.’)
630 숫자를 입력하세요 :629 더 큰 수 입니다. 숫자를 입력하세요 :631 더 작은 수 입니다 숫자를 입력하세요 :630 정답입니다
6. 잘못된 입력 처리.
1-999 사이의 숫자를 입력받아야 하는데, 사용자가 실수로 영문자나 한글을 입력할수도 있습니다. 그렇게 되면, 현재 코드는 오류가 나면서 프로그램이 비정상적으로 멈추게 됩니다. 이때는 예외처리를 해줘서, 사용자에게 적당한 메세지를 보내주고, 제대로된 입력을 다시 받을수 있게 할수 있습니다.
import random number = random.randint(1,999) print(number) while True: try: #정상적인 코드 guess = int(input(‘숫자를 입력하세요 :’)) if guess == number: print(‘정답입니다’) break elif guess > number: print(‘더 작은 수 입니다’) else: print(‘더 큰 수 입니다.’) except: # 오류가 났을때 실행할 코드 print(‘1-999중의 숫자를 입력하세요’)
627 숫자를 입력하세요 :가나다라 1-999중의 숫자를 입력하세요 숫자를 입력하세요 :abcdefg 1-999중의 숫자를 입력하세요 숫자를 입력하세요 :628 더 작은 수 입니다 숫자를 입력하세요 :626 더 큰 수 입니다. 숫자를 입력하세요 :627 정답입니다
앞에서 작성했던 while 안의 정상적인 모든 코드를 try 라는 구문안에 한번 더 넣어줍니다. 그렇게 되면, 이상이 없으면, 프로그램은 try: 구문 내의 코드만 실행합니다. 그러다가, 오류가 생기게 되면, except 구문으로 가서, print 문으로 적당한 메세지를 출력하고, 루프문의 앞부분으로 다시 돌아가게 됩니다.
9. 숫자 맞추기 게임
숫자 맞추기 게임 프로그램은 랜덤 함수를 이용하여 숫자를 지정한 후, 사용자가 생각하는 숫자를 입력하여, 비교하고 10번의 기회 동안 숫자를 맞추는 프로그램이다. 이 프로그램은 사용자의 즐거움을 줄 수 있는 게임을 간단한 프로그램으로 만들어 보았다. 자세한 설명은 아래의 숫자 맞추기 게임 프로그램을 전체적으로 프로그램 코딩한 후, 프로그램의 원리를 학습하여 보도록 하자.
1) 숫자 비교 함수 선언
숫자 맞추기 게임 프로그램의 전체적인 프로그램 코딩을 하였다면, 부분으로 나누어서 자세히 알아보도록 하자. 가장 처음에 나오는 프로그램 코딩은 숫자 비교 함수이다. 이 함수 안에 있는 프로그램 코딩은 아래와 같다.
# 숫자 비교 함수 def number_compare(number, g_number):
choice=”y” # 숫자 비교 상태 변숫값 if(number
g_number): # 숫자를 비교하여 입력된 숫자가 낮을 경우 print(“입력한 숫자가 정답보다 작습니다.”) # 출력 print(“숫자를 다시 입력하세요.”) # 출력 print(“─────”) # 출력 else: print(“정답!”) # 비교한 숫자가 정답일 경우 print(“─────”) # 출력 print(“축하!! 정답입니다. 숫자를 잘 찾으셨군요.^^”) # 출력 choice=input(“다시 하시겠습니까(y/n)? : “) # 게임 선택 if(choice==’n’): print(“프로그램을 종료합니다.”) return choice return choice
이 함수는 숫자 두 개를 인자 값으로 받아 숫자를 비교해주는 함수이다. 함수의 인자 값으로 하나는 랜덤 함수를 이용하여 만들어진 숫자 값과 다른 하나는 사용자가 만들어진 숫자 값을 맞추기 위해 입력한 숫자 값이다. 따라서 number 변수에는 랜던 함수로 만들어진 숫자 값이 들어 있고, g_number 변수에는 사용자가 입력한 숫자 값이 들어있게 된다. 숫자를 비교해주는 number_compare() 함수가 호출되면, 다음으로는 숫자를 비교하게 되는데, 만약 사용자가 입력한 숫자 값이 맞추고자 하는 숫자 값보다 클 경우에는 if 조건문이 시작된다. 그리고 이 조건문 안에 프로그램 코딩이 실행되는데, print() 함수를 사용하여 “입력한 숫자가 정답보다 큽니다”와 “숫자를 다시 입력하세요”라는 문구를 출력하고 함수는 choice 변숫값을 함수가 호출한 곳으로 반환하며, 함수를 끝내게 된다.
그리고 만약 g_number(사용자가 입력한 값) 변수가 number(사용자가 맞추고자 하는 값) 변수의 값 보다 작을 경우에는 print() 함수로 “입력한 숫자가 정답보다 작습니다.”와 “숫자를 다시 입력하세요”라는 문구를 호출하고 choice 값을 함수가 호출된 곳으로 반환하게 된다.
마지막으로 정답을 맞혔을 경우에는 else의 조건문이 실행되고, else 조건문 안에 있는 프로그램 코딩이 실행된다. 여기서 print() 함수로 “정답”과 “축하!! 정답입니다. 숫자를 잘 찾으셨군요^^”라는 문구가 출력된다. 그리고 게임을 다시 할 것인지를 질문하는 문구와 입력을 받게 되는데, “choice=input(“다시 하시겠습니까(y/n)? : “)”와 같다.
그런데 choice의 값을 입력할 때, 주의 사항은 ‘y’ 와 ‘n’은 영어로 소문자만 입력해야 하며, 선택에 따라 게임을 계속 진행할 수도 있고, 게임을 종료할 수도 있다. 여기서 choice의 변수가 어떤 역할을 하는지 알아봐야 하는데, 초기에는 choice 변수에 ‘y’ 값을 입력되어 있어서 함수가 반환될 때, 대부분 ‘y’ 값을 반환하지만 마지막 else 조건문에서는 게임을 종료하고자 choice 변수에 “n” 값을 넣는다면 함수가 반환되는 곳에 “n” 값을 반환하여 프로그램을 종료시키게 된다.
2) 숫자 맞추기 게임 실행
앞에서는 숫자 맞추기 게임의 함수 부분을 설명했다면, 다음으로 학습할 프로그램 코딩 부분은 실제적으로 프로그램이 실행되어 함수를 호출하고, 실행하며 종료하게 되는 과정에 관한 부분이다. 먼저 아래의 프로그램 코딩을 살펴보도록 하자.
import random # 랜덤 모듈 임포트
choice=”y” # 게임 상태 변수 guess_number=0 # 숫자 게임 입력값 index=0 # 10번의 기회에 관한 변수 초깃값
random_number=random.randint(1, 50) # 랜덤 함수에 따른 숫자 값
print(“숫자 맞추기 게임
“) # 출력 print(“─────”) # 출력 print(“1에서 50 이하의 숫자만 입력하세요.
“) # 출력 print(“숫자를 맞출 수 있는 기회는 10번 입니다.
“) # 출력
while(choice==”y”): # 반복문 choice 값이 y일 경우 반복
if(index==10): # index 값이 10일 경우 print(“10번의 기회가 끝났습니다.”) # 출력 print(“프로그램을 종료합니다.”) # 출력 break # 반복문 빠져나옴
elif(random_number==guess_number): # 게임이 다시 시작된 경우 index=0 # index 값 초기화 random_number=random.randint(1, 50) # 랜덤함수로 숫자 값 입력
else: print(“─────”) # 출력 guess_number=int(input(“숫자 입력 : “)) # 숫자 입력 print(“”) # 출력 #숫자비교 choice=number_compare(random_number, guess_number) index+=1 # 숫자 비교하는 횟수 증가
가장 먼저 실행 부분에 있어서, 알아두어야 하는 것은 임포트이다. 여기에서 랜덤이라는 내장 함수를 사용하기 위해서 random이라는 모듈을 임포트 하게 된다. 따라서 random의 모듈을 임포트 했기 때문에, random 모듈 안에 있는 random.randint() 함수를 사용할 수 있게 된다. 임포트의 프로그램 코딩은 간단하다. “import random”에서처럼 모듈 이름 앞에 임포트만 넣으면 해당하는 모듈을 가져와 사용할 수 있게 된다. 그다음으로는 이 프로그램에서 필요한 변숫값들이 초기화된다.
가장 먼저 choice의 변수는 ‘y’ 값으로 초기화되어 있고, guess_number의 변수에는 0 값으로 초기화되어 있다. 그리고 index의 변수에는 0이라는 값이 저장되어 초기화된 상태이다. 처음에 초기화된 choice의 변수는 프로그램을 사용할 것인지에 대한 변수이고, guess_number 변수는 사용자가 숫자를 알아맞히기 위해서 입력하는 숫자를 저장하는 변수이다. 그리고 마지막으로 index 변수는 숫자를 맞추는데 무한 반복할 수 없음으로, 기회를 10번으로 한정하고, 숫자를 입력할 때마다 하나씩 증가하여 10이 되면, 프로그램을 종료할 수 있는 변수이다.
변수에 선언이 끝나고, 다음으로 random_number 변수에 랜덤 함수를 이용하여 값을 저장하게 된다. “random_number=random.randint(1, 50)” 이 부분은 random.randint() 함수를 호출하는데 인자 값으로는 1과 50을 넣어서 1에서 50 사이의 숫자 중에 불특정으로 숫자를 만들어 반환하도록 하는 함수이다. 그래서 random_number의 변수에는 1에서 50의 숫자 사이에 불특정인 숫자가 저장되게 된다. 그리고 그다음으로는 게임의 방법을 알려줄 수 있도록, print() 함수로 “숫자 맞추기 게임”, “1 에서 50 이하의 숫자만 입력하세요.”, “숫자를 맞출 수 있는 기회는 10번입니다.”와 같은 내용이 화면에 출력되게 된다.
게임 프로그램을 시작하기 전에 모든 준비가 끝난 후에는 반복문을 사용하여 게임을 시작하게 된다. while 반복문의 조건은 choice 변수의 값이 ‘y’일 경우에 반복문이 실행되게 된다. 따라서 choice 변수의 초깃값이 ‘y’이므로 반복문은 조건 없이 실행되게 된다. 반복문 안에는 조건문이 있는데, 조건문의 종류에는 index의 변수가 10인 경우, random_number 변수가 guess_number 변수와 같을 경우와 위의 두 조건이 아닐 경우로 나누어져 있다.
가장 첫 번째 조건문은 index 변수가 10인 경우인데, index의 변수는 10회라는 기회를 알려주는 변수로써 10번의 기회가 됐지만 숫자를 맞추지 못했을 때 실행되는 조건문이다. 따라서 index 변수가 10이 됐다면, “10번의 기회가 끝났습니다.”와 “프로그램을 종료합니다.” 문구를 출력하고 프로그램을 종료하게 된다. 그다음 조건문은 “elif(random_number==guess_number)”이다. 이 조건문이 있는 이유는 숫자를 맞추고 난 후에 프로그램을 다시 시작하려 했을 때, 랜덤 함수를 사용하여 숫자를 재설정하고, index 값을 초기화하기 위해서 만든 조건문이다. 따라서 이 조건문이 끝나고 나면 random_number 변수에는 새로운 숫자의 값이 저장되며, index 변수에는 0 값으로 초기화를 진행하게 된다. 그리고 마지막 조건문이 가장 중요한 조건문이다.
“else” 조건문에는 위와 같이 2개의 조건문에 해당 사항이 없을 때 실행되는 조건문이다. 따라서 이 조건문에서는 사용자로부터 사용자가 생각하는 숫자를 guess_number 변수에 입력받게 된다. 그리고 guess_number 변수에 값을 입력받은 후에 “choice=number_compare()” 함수를 호출하게 된다. number_compare() 함수의 인자 값으로는 random_number 변숫값과 guess_number 변수의 값을 넘겨주게 되는데, guess_number의 변숫값에 따라 random_number 변수와 비교하여 숫자가 크고 작은지 또는 정답인지를 사용자에게 알려주게 된다.
그런데 만약 정답이 아닌 경우에는 index 변숫값을 하나씩 증가시켜, 정답을 맞힐 때까지 else 조건문을 반복하게 된다. 그리고 정답을 맞혔을 경우에는 이 프로그램을 종료할지 또는 다시 실행할 것인지를 사용자에게 물어보고 프로그램을 종료하겠다고 하면, choice 변수에 값이 ‘n’으로 변경되어 프로그램이 종료하게 된다.
[Python] 숫자 찾기 게임
728×90
반응형
이번에 만들어볼 프로그램은 숫자 찾기 게임이다. 먼저 가상의 숫자를 정하고, 사용자에 입력에 따라 그 숫자보다 높은지 낮은지 판단한 후 최종적으로 숫자를 맞추는 게임이다.
import random # random import n = random.randint(1,100) # 1부터 100사이의 정수형 난수 생성
먼저 위 코드에 나와있는 것처럼 random 라이브러리를 import한 후, randint함수를 사용해 1부터 100사이의 정수형 난수를 생성을 한다.
# 사용자에게 정수를 입력받음 you = int(input(“Enter an integer from 1 to 100 : “))
그 후 위 코드와 같이 사용자에게 입력을 받기 위해 input함수를 사용한다. 여기를 자세히 보면 input함수가 int에 둘러싸여저 있는 것을 볼 수 있는데 이것의 뜻은 int형, 즉 정수를 입력을 받는다.
while n != you: # while문을 이용해 난수 값을 맞출 때까지 시도 print() if(you < n): print("Number is low") you = int(input("Enter an integer from 1 to 100 : ")) elif(you > n): print(“Number is high”) you = int(input(“Enter an integer from 1 to 100 : “)) else: break print(“Answer!!!”) # 난수 값을 맞출 경우 출력되는 성공 문구
위 코드는 사용자가 난수를 맞출 때까지 숫자를 입력받기 위한 while문이다. 만약 사용자의 숫자가 난수보다 작으면 사용자의 숫자가 작다는 것을 알려주고, 그 반대면 똑같이 숫자가 크다는 것을 알려준다. 그리고 숫자가 맞으면은 while문을 빠져나와 성공문구를 출력한다.
728×90
위 사진을 프로그램을 실행 했을 경우나타난 결과 화면이다. 아래에 전체코드가 있으니 참고하면 됩니다.
import random # random import n = random.randint(1,100) # 1부터 100사이의 정수형 난수 생성 you = int(input(“Enter an integer from 1 to 100 : “)) # 사용자에게 정수를 입력받음 while n != you: # while문을 이용해 난수 값을 맞출 때까지 시도 print() if(you < n): print("Number is low") you = int(input("Enter an integer from 1 to 100 : ")) elif(you > n): print(“Number is high”) you = int(input(“Enter an integer from 1 to 100 : “)) else: break print() print(“Answer!!!”) # 난수 값을 맞출 경우 출력되는 성공 문구
위 코드는 전체 코드이다.
728×90
반응형
[Python] 숫자 맞추기 게임(업다운 게임)_while문, try/except(예외처리)
– 랜덤으로 설정한 숫자를 사용자가 추측하여 맞추는 게임.
추측한 숫자를 입력하면 정답(랜덤으로 설정된 숫자)보다 큰지 작은지 알려주는 게임을 만들어 보자.
필요한 기능
1. 컴퓨터가 범위 내에서 랜덤으로 숫자를 고른다.
2. 사용자의 입력을 받는다.
3. 정해진 횟수 내에서(예. 10회) 사용자의 입력과 컴퓨터가 고른 수를 비교한다.
4. 맞춘 경우, 사용자의 입력 시도 횟수와 함께 정답임을 알려준다.
5. 틀린 경우, 정답보다 숫자가 큰지 작은지 알려준다.
6. 정해진 횟수를 초과하면 정답을 공개한다.
코드에 오류가 있어 수정했습니다.(22.3.13)
1. 컴퓨터가 범위 내에서 랜덤으로 숫자를 고른다.
import random # 난수 발생시키는 모듈 random number = random.randint(1, 1000) # 1~1000 사이에서 정수인 난수 값을 돌려줌
입력 시도 횟수를 알려주기 위해 tries 변수도 선언한다.
tries = 0 # 시도횟수 tries 변수 선언
제한할 입력 시도 횟수를 변수 n으로 선언했다. (추가한 부분)
n = 10 # 시도 횟수(n번까지 허용)
2. 사용자의 입력을 받는다. &
3. 정해진 횟수 내에서(예. 10회) 사용자의 입력과 컴퓨터가 고른 수를 비교한다.
먼저 게임에 대한 간단한 안내문을 출력하고,
print(“1~1000 사이의 숫자를 맞추세요.”)
반복문(while)을 이용해 정해진 횟수(10회)동안 사용자의 입력을 받는다. (수정한 부분)
while tries <= n: # n번까지(n과 같을 때까지) 반복 guess = int(input("숫자를 입력하세요: ")) # 수를 비교해야 하므로 int로 타입 전환 tries += 1 # 시도할 때마다 시도횟수 1씩 증가 4. 맞춘 경우, 사용자의 입력 시도 횟수와 함께 정답임을 알려준다. while문 안에 조건문(if, elif)을 넣어 사용자의 입력과 컴퓨터가 고른 수를 비교하고, 두 값이 같으면 시도 횟수와 정답임을 알려주는 문장을 출력하고 실행을 중지한다(break). if number == guess: # 사용자 입력과 컴퓨터가 고른 수가 같으면 정답과 시도 횟수 알려줌 print("정답입니다. 시도 횟수는 %d회입니다." % tries) break 5. 틀린 경우, 정답보다 숫자가 큰지 작은지 알려준다. elif number < guess: print("========================= 더 작은 수를 입력하세요") elif number > guess: print(“=========================
더 큰 수를 입력하세요.”)
6. 정해진 횟수를 초과하면 while문을 벗어나게 되고, if문에서 횟수를 체크해서 정답을 출력한다. (수정한 부분)
if tries > n: print(“주어진 기회를 모두 사용하셨습니다. 정답은 %d입니다.” % number)
코드를 한번에 쓰면 이렇게 된다.
import random number = random.randint(1, 1000) tries = 0 n = 10 # 시도 횟수(n번까지 허용) print(“1~1000 사이의 숫자를 맞추세요.”) while tries <= n: guess = int(input("숫자를 입력하세요: ")) tries += 1 if number == guess: print("정답입니다. 시도 횟수는 %d회입니다." % tries) break elif number < guess: print("========================= 더 작은 수를 입력하세요") elif number > guess: print(“=========================
더 큰 수를 입력하세요.”) if tries > n: print(“주어진 기회를 모두 사용하셨습니다. 정답은 %d입니다.” % number)
– 더 나아가기(try/except 예외 처리)
위에서 작성한 코드는 사용자가 정수(integer)를 입력할 것을 기대한다.
만약 위 코드를 실행했을 때, 사용자가 정수가 아닌 값을 입력하면 에러가 발생한다.(ex. 문자열, 소수 등)
예를 들어 정수가 아닌 0.3을 입력하면 아래와 같은 에러 메시지가 뜬다.
Traceback (most recent call last): File “c:/doit/number_game/1 copy.py”, line 7, in
guess = int(input(“숫자를 입력하세요: “)) ValueError: invalid literal for int() with base 10: ‘0.3’ 에러 메시지를 읽어보면 변수 guess의 타입이 정수가 아니어서 에러가 난 듯하다.
에러가 발생하면 그 프로그램은 동작을 멈추게 된다.
에러가 발생해도 프로그램이 동작할 수 있게 하려면 예외 처리를 해 주면 된다.
try/except을 사용하면 에러가 발생했을 경우, 프로그램이 멈추지 않고 동작하게 할 수 있다.
위에서 작성한 코드의 while문 안에 try/except를 넣어 예외 처리를 하였다.
import random number = random.randint(1, 1000) tries = 0 n = 10 # 시도 횟수(n번까지 허용) print(“1~1000 사이의 숫자를 맞추세요.”) while tries <= n: try: # 이상이 없으면 try 안의 코드를 실행 guess = int(input("숫자를 입력하세요: ")) tries += 1 if number == guess: print("정답입니다. 시도 횟수는 %d회입니다." % tries) break elif number < guess: print("========================= 더 작은 수를 입력하세요") elif number > guess: print(“=========================
더 큰 수를 입력하세요.”) except: # 예외의 경우에 아래 문장을 출력 print(“숫자만 입력 가능합니다.”) if tries > n: print(“주어진 기회를 모두 사용하셨습니다. 정답은 %d입니다.” % number)
코드에 이상이 없으면 try 안의 코드를 실행하고, 예외가 발생할 경우 except 안의 코드를 실행하게 된다.
위의 경우, tries가 10 이하인 동안 이상이 없으면 try 안의 코드가 실행되어 수를 비교하고 정답을 알려주며,
사용자가 정수가 아닌 값을 입력하면 except 아래의 코드가 실행되어 “숫자만 입력 가능합니다.”라는 문장이 출력된다.
[python] 숫자맞추기 게임
random.randint() 로 정해진 1~100 의 숫자를 맞추는 게임
import random select = random.randint(1, 100) i = 0 while True: i+=1 userAnswer = int(input(“수 입력 : “)) if(userAnswer > select): print(“더 작아”) elif(userAnswer < select): print("더 커") else: print("정답 ㅊㅊ...%d번만에 맞춤" %(i)) break
[python] 숫자 맞추기 게임
# 숫자 맞추기 게임 # 조건 # 1.랜덤으로 숫자를 제시(1-100) # 2. 답을 입력받기 # 3. 업 앤 다운으로 힌트 제공 import random number = random.randint(1,101) while True: answer = input(“숫자를 입력해주세요 : “) if not answer.isnumeric(): continue answer = int(answer) if number == answer: print(“정답입니다”) break elif number > answer: print(“UP”) else: print(“DOWN”)
실행화면
반응형
키워드에 대한 정보 파이썬 숫자 맞추기 게임
다음은 Bing에서 파이썬 숫자 맞추기 게임 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.
이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!
사람들이 주제에 대해 자주 검색하는 키워드 파이썬강좌, 숫자맞추기 (변수,반복문,조건문)
- 파이썬
- 파이썬강좌
파이썬강좌, #숫자맞추기 #(변수,반복문,조건문)
YouTube에서 파이썬 숫자 맞추기 게임 주제의 다른 동영상 보기
주제에 대한 기사를 시청해 주셔서 감사합니다 파이썬강좌, 숫자맞추기 (변수,반복문,조건문) | 파이썬 숫자 맞추기 게임, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.