Python小项目1:制作密室逃脱游戏
本文在AI辅助下由原文翻译而成。请结合原文核对专业术语和公式。
用Python制作密室逃脱
大家好,今天用Python制作简单游戏。规则是找到随机三位密码逃脱。错10次以上,或途中输入're',就重新开始。用基本输入输出、条件与循环即可制作。

开始游戏
首先随机生成密码。使用random从0至9随机选三个数字,设为密码。

import random
def generate_password():
return [str(random.randint(0, 9)) for _ in range(3)]
输入与验证密码
接收用户输入,每位确认是否正确。正确提示下一位,错误提示输入大于还是小于答案。
def check_password(correct_password):
attempt_count = 0
wrong_count = 0
for i in range(3):
while True:
user_input = input(f"{i+1}번째 자리의 숫자를 입력하고 엔터를 누르세요 (재시작하려면 're' 입력): ")
if user_input.lower() == 're':
print("게임을 재시작합니다.")
return False
attempt_count += 1
if attempt_count >= 10:
print("10회 이상 틀렸습니다. 게임을 다시 시작합니다.")
return False
if user_input == correct_password[i]:
print("정확합니다! 다음 자리수를 입력하세요.")
break
else:
wrong_count += 1
print("틀렸습니다. 다시 시도해주세요.")
if user_input < correct_password[i]:
print("힌트: 입력하신 숫자는 정답보다 작습니다.")
else:
print("힌트: 입력하신 숫자는 정답보다 큽니다.")
重新开始功能
途中输入're'随时重新开始。
完成与尝试次数
全部猜对,告知错几次并输出成功。错10次以上自动重启。
def check_password(correct_password):
attempt_count = 0
wrong_count = 0
for i in range(3):
while True:
user_input = input(f"{i+1}번째 자리의 숫자를 입력하고 엔터를 누르세요 (재시작하려면 're' 입력): ")
if user_input.lower() == 're':
print("게임을 재시작합니다.")
return False
attempt_count += 1
if attempt_count >= 10:
print("10회 이상 틀렸습니다. 게임을 다시 시작합니다.")
return False
if user_input == correct_password[i]:
print("정확합니다! 다음 자리수를 입력하세요.")
break
else:
wrong_count += 1
print("틀렸습니다. 다시 시도해주세요.")
if user_input < correct_password[i]:
print("힌트: 입력하신 숫자는 정답보다 작습니다.")
else:
print("힌트: 입력하신 숫자는 정답보다 큽니다.")
最后,使用上方片段组成的完整代码如下。
import random
# 비밀번호를 랜덤으로 생성하는 함수입니다.
def generate_password():
return [str(random.randint(0, 9)) for _ in range(3)]
# 사용자가 입력한 비밀번호를 검증하고 힌트를 제공하는 함수입니다.
def check_password(correct_password):
attempt_count = 0 # 시도 횟수를 카운트하는 변수입니다.
wrong_count = 0 # 잘못된 입력 횟수를 카운트하는 변수입니다.
for i in range(3):
while True:
user_input = input(f"{i+1}번째 자리의 숫자를 입력하고 엔터를 누르세요 (재시작하려면 're' 입력): ")
if user_input.lower() == 're':
print("게임을 재시작합니다.")
return False # 게임 재시작을 위해 False를 반환합니다.
attempt_count += 1
if attempt_count >= 10:
print("10회 이상 틀렸습니다. 게임을 다시 시작합니다.")
return False
if user_input == correct_password[i]:
print("정확합니다! 다음 자리수를 입력하세요.")
break
else:
wrong_count += 1
print("틀렸습니다. 다시 시도해주세요.")
if user_input < correct_password[i]:
print("힌트: 입력하신 숫자는 정답보다 작습니다.")
else:
print("힌트: 입력하신 숫자는 정답보다 큽니다.")
print(f"비밀번호를 맞추기 위해 총 {wrong_count}번 틀렸습니다.")
return True
# 게임을 시작하는 함수입니다.
def start_game():
print("방탈출 게임에 오신 것을 환영합니다. 비밀번호는 3자리 숫자입니다.")
while True:
correct_password = generate_password()
print(f"비밀번호가 설정되었습니다. (테스트를 위해 비밀번호를 출력합니다: {''.join(correct_password)})")
if check_password(correct_password):
print("비밀번호가 모두 맞습니다! 방탈출에 성공하셨습니다!")
break
# 게임을 시작합니다.
start_game()
为帮助理解本文而制作的原创插画。
Tistory 原文 ↗