Python hangman小游戏
2024-09-02 19:30:25
hangman
# words.py 使用pickle永久性存储数据 import pickle filename = 'words.pk' data = ['cat', 'dog', 'perro', 'gato', 'horse', 'elephant', 'mono'] with open(filename, 'wb') as f:
pickle.dump(data, f)
# hangman.py 猜词游戏 # 使用pickle导入数据
import pickle
# 使用random.choice函数在序列中随机选择
import random def hangman(word): # 传入一个参数(word)
# 错误数量
wrong = 0
# 要画的步骤
stages = ["",
"______ ",
"| | ",
"| | ",
"| 0 ",
"| /|\ ",
"| / \ ",
"| ",
]
# 将词转换为一个列表
rletters = list(word)
# 生成一个下划线的待猜列表
board = ["_"] * len(word)
# 未赢
win = False
print('Welcome to Hangman') # 如果画还没画完
while wrong < len(stages) - 1:
print('\n')
# 猜一个字母
msg = 'Guess a letter: '
char = input(msg)
# 如果字母在列表中
if char in rletters:
# 将列表中的字母剔除('$'),并在待猜列表中添加字母
cind = rletters.index(char)
board[cind] = char
rletters[cind] = '$'
# 如果字母不在列表中
else:
# 错误+1
wrong += 1
# 显示待猜列表
print('word: ' + (" ".join(board)))
# 打印图画
e = wrong + 1
print('\n'.join(stages[0:e]))
# 如果待猜列表中以及没有下划线了,赢了
if '_' not in board:
print('You win!')
print(' '.join(board))
win = True
break
# 如果输了
if not win:
print('You lose! It was {}'.format(word)) def random_word(filename='words.pk'):
with open(filename, 'rb') as f:
data = pickle.load(f)
return random.choice(data) if __name__ == '__main__':
while True:
hangman(random_word())
flag = input('Do you want to continue?(Y/N) ')
if flag.lower() not in ['y', 'yes']:
break
最新文章
- softwareTesting_work1
- 禁用visual studio实时调试器
- Crt单元
- 转!!java中Object转String
- GET与POST在什么情况下使用
- 配置IIS服务器,APK文件下载
- Android开发之ContentProvider(内容提供者)
- NSIS:制作软件升级安装包
- python基础---pymsql
- Android + HTML5 混合开发
- linux系统文件系统重要知识介绍
- linux常用命令:创建文件和文件夹
- Python+Selenium 自动化实现实例-处理分页(pagination)
- Thymeleaf模板布局
- 【JavaScript】获取当前页的URL与window.location.href
- SQL之分组排序取top n
- BAT for 循环
- Ubuntu 10.04 分辨率调整
- react-router 4.0版本使用笔记
- bzoj2516 电梯