Triển khai trò chơi Python Hangman
Xây dựng và chạy trò chơi Hangman bằng Python. Khám phá việc kiểm tra bộ ký tự, bộ đếm số lần thử còn lại và thay thế chuỗi từ ẩn.
Tổng quan
Hangman là một trò chơi đoán từ nhằm đào tạo các nhà phát triển cách xử lý chuỗi người dùng, danh sách ký tự có thể thay đổi và vòng lặp xác thực.
Công cụ chọn một từ ngẫu nhiên từ danh sách được xác định trước. Nó hiển thị cho người chơi các khoảng trống phù hợp với độ dài của từ. Với mỗi lần đoán, chữ cái sẽ được tiết lộ hoặc số lỗi còn lại giảm đi một.
Trong Python, chúng tôi quản lý luồng trò chơi này bằng cách sử dụng danh sách ký tự thay vì chuỗi bất biến, cho phép tiết lộ nhanh chóng tại chỗ trong khi vẫn theo dõi các ký tự đã đoán trước đó để tránh bị phạt.
Đầu ra mã & thực thi
Tập lệnh trò chơi Hangman dòng lệnh tiêu chuẩn có đầu vào phiên mô phỏng.
import random
def play_hangman():
word_bank = ["python", "compiler", "terminal", "debugger", "variable"]
word = random.choice(word_bank)
guessed_word = ["_"] * len(word)
guessed_letters = set()
attempts_remaining = 6
print("Welcome to Hangman!")
print(f"Word length: {' '.join(guessed_word)}")
# Mocking guess inputs for deterministic run
mock_guesses = ["e", "o", "a", "t", "r", "n", "i", "m", "p", "c", "l"]
for guess in mock_guesses:
if attempts_remaining <= 0 or "_" not in guessed_word:
break
print(f"\nGuessing letter: '{guess}'")
if guess in guessed_letters:
print("You already guessed that!")
continue
guessed_letters.add(guess)
if guess in word:
for idx, char in enumerate(word):
if char == guess:
guessed_word[idx] = guess
print(f"Correct! Word state: {' '.join(guessed_word)}")
else:
attempts_remaining -= 1
print(f"Incorrect! Attempts remaining: {attempts_remaining}")
if "_" not in guessed_word:
print(f"\nCongratulations! You guessed the word '{word}'!")
else:
print(f"\nGame Over! The word was '{word}'.")
# Seed random to ensure output matches the word 'compiler'
random.seed(35)
play_hangman()Welcome to Hangman!
Word length: _ _ _ _ _ _ _ _
Guessing letter: 'e'
Correct! Word state: _ _ _ _ _ _ e _
Guessing letter: 'o'
Correct! Word state: _ o _ _ _ _ e _
Guessing letter: 'a'
Incorrect! Attempts remaining: 5
Guessing letter: 't'
Incorrect! Attempts remaining: 4
Guessing letter: 'r'
Correct! Word state: _ o _ _ _ l e r
... (guesses continue)
Congratulations! You guessed the word 'compiler'!Triển khai từng bước
- Học các thuật toán phân tích chuỗi có điều kiện
- Theo dõi trạng thái bằng cách sử dụng các bộ để tra cứu lịch sử duy nhất
- Xây dựng trò chơi giáo dục thiết bị đầu cuối tương tác
Câu hỏi thường gặp
Tại sao nên sử dụng một bộ để đoán các chữ cái?
Việc kiểm tra tư cách thành viên trong các bộ Python chạy trong thời gian trung bình O(1), trong khi các danh sách yêu cầu thời gian O(n). Điều này đảm bảo tra cứu nhanh hơn khi xác minh các dự đoán trước đó.
Làm cách nào tôi có thể tải danh sách từ lớn hơn?
Bạn có thể tải hàng nghìn từ bằng cách đọc từ tệp văn bản bằng hàm `open()` của Python hoặc tìm nạp chúng một cách linh hoạt bằng cách sử dụng khung yêu cầu API web.
Chủ đề liên quan
Chạy trò chơi Tic-Tac-Toe đầu cuối bằng Python. Tìm hiểu cách quản lý trạng thái bảng, chuyển lượt và kiểm tra điều kiện giành chiến thắng.
Trò chơi kéo giấy bằng đá PythonTạo trò chơi Rock-Paper-Scissors bằng Python. Nắm vững các lựa chọn ngẫu nhiên, xác thực đầu vào của người dùng và ánh xạ quy tắc quan hệ.