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. 【待解决】An internal error occurred during: "Launching baiduTest1". java.lang.NullPointerException

    编写的一个Java类,以junit运行可以正常执行,以testNG执行就报如下错误 解决方法:

  2. Spark部分:几个重要的端口汇总

    50070:HDFSwebUI的端口号 8485:journalnode默认的端口号 9000:非高可用访问数rpc端口 8020:高可用访问数据rpc 8088:yarn的webUI的端口号 808 ...

  3. c17---指针

    // // main.c // 指针基本概念 #include <stdio.h> // 基本数据类型作为函数的参数是值传递, 在函数中修改形参的值不会影响到外面实参的值 void cha ...

  4. Camera-hal参数调整

    路径: vendor/mediatek/proproetary/custom/mt6735/hal/D1/imgsensor/对应的SENSOR目录 .../D1/flashlight/flash_t ...

  5. nyoj--106--背包问题(贪心,水题)

    背包问题 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述 现在有很多物品(它们是可以分割的),我们知道它们每个物品的单位重量的价值v和重量w(1<=v,w<= ...

  6. 院校-美国:麻省理工学院(MIT)

    ylbtech-院校-美国:麻省理工学院(MIT) 麻省理工学院(Massachusetts Institute of Technology),简称麻省理工(MIT),坐落于美国马萨诸塞州波士顿都市区 ...

  7. ubuntu刚安装好之后apt-get使用异常

    gaozhang 刚安装好之后,想执行apt-get update 任务,出现以下错误提示   提示说明apt正在执行,我们就野蛮的将apt进程杀.死即可,不过有点多,一个个kill   执行完之后再 ...

  8. 前端分页功能实现(PC)

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>加 ...

  9. java selenium手动最大化chrome浏览器的方法

    package my_automation; import java.awt.Dimension; import org.openqa.selenium.Capabilities; import or ...

  10. c语言system()介绍

    2013-09-0916:06:02 1. 头文件: #include <stdlib.h> 2. 定义函数: int system(const char * string); 3. 函数 ...