Python猜字游戏是一种常见的编程练习,通常基于随机选取一个单词或短语,然后让用户通过一系列猜测来尝试找出这个单词。下面是一个简单的猜字游戏的框架:
import random
# 定义一个单词列表
word_list = ["apple", "banana", "cherry", "python", "java"]
# 随机选择一个单词作为目标词
target_word = random.choice(word_list)
# 初始化显示给玩家的掩码
display_word = "_" * len(target_word)
# 设置最大猜测次数
max_attempts = 6
# 记录已猜字母和剩余尝试次数
guessed_letters = set()
attempts_remaining = max_attempts
while attempts_remaining > 0:
print(display_word)
guess = input("请输入一个字母进行猜测:").lower()
# 检查是否已经猜过该字母
if guess in guessed_letters:
print("你已经猜过这个字母了!")
continue
guessed_letters.add(guess)
# 检查字母是否在目标单词中
if guess in target_word:
correct_indices = [i for i, letter in enumerate(target_word) if letter == guess]
for index in correct_indices:
display_word = display_word[:index] + guess + display_word[index+1:]
else:
attempts_remaining -= 1
print(f"很遗憾,'{guess}'不在单词中。你还剩下{attempts_remaining}次尝试机会。")
# 检查玩家是否已经猜出全部单词
if "_" not in display_word:
print("恭喜你,猜对了!单词是:", display_word)
break
# 如果玩家未在规定次数内猜出单词,则游戏结束并揭示答案
if attempts_remaining == 0:
print(f"很遗憾,你没有在规定的{max_attempts}次机会内猜出单词。正确答案是:", target_word)
这个游戏的基本逻辑是:
- 随机选一个单词。
- 初始化一个空格组成的字符串代表单词,用下划线代替每个字母。
- 玩家输入一个字母,如果字母在单词中,则在相应位置上替换下划线;如果不在,减少一次尝试机会。
- 当玩家猜完所有字母或者尝试次数耗尽时,游戏结束。