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

Python hangman小游戏的更多相关文章

  1. 12岁的少年教你用Python做小游戏

    首页 资讯 文章 频道 资源 小组 相亲 登录 注册       首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...

  2. python 金币小游戏

    我最近用python的pygame做了一个金币小游戏 游戏规则:移动挡板接住金币 游戏截图: 代码如下: import pygame.freetype import sys import random ...

  3. python 打字小游戏

    最近随便用python的pygame编了这个打字小游戏 只要有字母调到窗口底部就结束 上代码: import pygame.freetype import sys import random pyga ...

  4. Python 实现 Hangman 小游戏

    Hangman--游戏简介--> 百度百科 打印Hangman def printHangman(N): # 第一行 print("\t____") # 第二行 print( ...

  5. python学习 小游戏

    基于python3.4 while循环 #!/usr/bin/python3 #-*- coding=utf-8 -*- import random import sys import os luck ...

  6. Python——项目-小游戏

    开始我们的项目 飞机大战 1 项目的初体验 以及前期准备 游戏初体验画面 验证一下本地第三方包有没有导入 python3 -m pygame.examples.aliens 如果没有出现游戏画面请先安 ...

  7. Python——项目-小游戏2-动画绘制

    实现游戏循环还有事件的监听 在上一讲中 你需要完成这样的这样的效果, 如果你还没有完成,请不要继续往下阅读!!切记切记切记.,重要的事情说三遍 我们来看一下什么是游戏循环 所谓的游戏循环很好的理解 就 ...

  8. 把川普射上太阳—如何用python制作小游戏

    1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装. Windows环境下打开Cmd(开始—运行—CMD),苹果系统 ...

  9. python做小游戏——做个马里奥分分钟解决

    一.前言 嗨喽,大家好呀!这里是小熊猫 在你的童年记忆里,是否有一个蹦跳.顶蘑菇的小人已经被遗忘? 马里奥是靠吃蘑菇成长,闻名世界的超级巨星.特征是大鼻子.头戴帽子.身穿背带工作服.还留着胡子.帽子加 ...

随机推荐

  1. oracle强化练习题

    编写简单的查询语句 1.显示部门表的所有信息 Select * from dept; 2.显示部门号码,部门名称 Selectdeptno,dname from dept; 3.显示下面字段及字符串的 ...

  2. Online Object Tracking: A Benchmark 论文笔记

    Factors that affect the performance of a tracing algorithm 1 Illumination variation 2 Occlusion 3 Ba ...

  3. ijkplayer视频播放

      http://android-doc.com/androiddocs/2017/1018/5416.html https://www.2cto.com/kf/201801/714366.html ...

  4. Python多线程学习(一、线程的使用)

    Python中使用线程有两种方式:函数或者用类来包装线程对象. 1.  函数式:调用thread模块中的start_new_thread()函数来产生新线程.如下例: import thread de ...

  5. Object源码分析(二)

    第五个方法:protected native Object clone() throws CloneNotSupportedException; 源码简介: clone方法首先会判对象是否实现了Clo ...

  6. 从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化

    从有约束条件下的凸优化角度思考神经网络训练过程中的L2正则化 神经网络在训练过程中,为应对过拟合问题,可以采用正则化方法(regularization),一种常用的正则化方法是L2正则化. 神经网络中 ...

  7. springboot整合ActiveMQ 2(主备模式,负载均衡)

    基本使用,https://www.tapme.top/blog/detail/2018-09-05-10-38 主备模式,https://www.tapme.top/blog/detail/2018- ...

  8. 27. Remove Element[E]移除元素

    题目 Given an array nums and a value val, remove all instances of that value in-place and return the n ...

  9. Java中的命名规范到底是怎样的

    内容摘要:命名规范二,java中的方法名,对象名和字段名的第一个单词的首写字母应该小写,而后面的每个单词的首字母都应该小写 要想将java基础学的十分的牢固就必须将java中的命名规范掌握好了.俗话说 ...

  10. rsync文件备份同步

    1.rsync有两种认证协议: ssh认证协议 rsync server端不需要启动daemon进程,所以不用配置/etc/rsyncd.conf,只需要获取远程host的用户名密码 例: rsync ...