python成语接龙实现
时间: 2023-07-07 18:34:47 浏览: 212
python成语接龙源代码,基于Tkinter,带成语解释
5星 · 资源好评率100%
好的,我可以帮你实现一个简单的 Python 成语接龙游戏,以下是代码示例:
```python
import random
def read_file(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
data = f.readlines()
return [word.strip() for word in data]
def get_last_char(word):
return word[-1]
def get_first_word(words, char):
candidates = [word for word in words if word[0] == char]
return random.choice(candidates)
def play_game(words):
current_word = random.choice(words)
print('游戏开始,当前成语为:{}'.format(current_word))
while True:
user_input = input('请输入一个成语:')
if user_input == 'exit':
break
if user_input in words and get_last_char(current_word) == user_input[0]:
print('回答正确,成语为:{}'.format(user_input))
current_word = user_input
else:
print('回答错误,请重新输入。')
print('游戏结束!')
if __name__ == '__main__':
file_path = 'idiom.txt' # 成语词库文件路径
words = read_file(file_path)
play_game(words)
```
这个程序中,我们首先读取了成语词库文件,并将每个成语都存储为一个字符串。然后,我们定义了三个函数:
- `get_last_char(word)`:获取一个成语的最后一个字。
- `get_first_word(words, char)`:从成语词库中获取以特定字开头的一个成语。
- `play_game(words)`:游戏主函数,用于处理游戏逻辑并与用户交互。
在 `play_game` 函数中,我们首先从成语词库中随机选择一个成语作为当前成语,并打印出来。然后,我们进入一个无限循环,等待用户输入。如果用户输入了一个合法的成语(即在词库中存在且以当前成语的最后一个字开头),我们就将其作为新的当前成语,并打印出来。如果用户输入了 `exit`,我们就跳出循环,游戏结束。
你可以将成语词库文件 `idiom.txt` 替换为你自己的词库,每个成语占据一行。
阅读全文