Python hangman小游戏
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小游戏的更多相关文章
- 12岁的少年教你用Python做小游戏
首页 资讯 文章 频道 资源 小组 相亲 登录 注册 首页 最新文章 经典回顾 开发 设计 IT技术 职场 业界 极客 创业 访谈 在国外 - 导航条 - 首页 最新文章 经典回顾 开发 ...
- python 金币小游戏
我最近用python的pygame做了一个金币小游戏 游戏规则:移动挡板接住金币 游戏截图: 代码如下: import pygame.freetype import sys import random ...
- python 打字小游戏
最近随便用python的pygame编了这个打字小游戏 只要有字母调到窗口底部就结束 上代码: import pygame.freetype import sys import random pyga ...
- Python 实现 Hangman 小游戏
Hangman--游戏简介--> 百度百科 打印Hangman def printHangman(N): # 第一行 print("\t____") # 第二行 print( ...
- python学习 小游戏
基于python3.4 while循环 #!/usr/bin/python3 #-*- coding=utf-8 -*- import random import sys import os luck ...
- Python——项目-小游戏
开始我们的项目 飞机大战 1 项目的初体验 以及前期准备 游戏初体验画面 验证一下本地第三方包有没有导入 python3 -m pygame.examples.aliens 如果没有出现游戏画面请先安 ...
- Python——项目-小游戏2-动画绘制
实现游戏循环还有事件的监听 在上一讲中 你需要完成这样的这样的效果, 如果你还没有完成,请不要继续往下阅读!!切记切记切记.,重要的事情说三遍 我们来看一下什么是游戏循环 所谓的游戏循环很好的理解 就 ...
- 把川普射上太阳—如何用python制作小游戏
1.准备 开始之前,你要确保Python和pip已经成功安装在电脑上噢,如果没有,请访问这篇文章:超详细Python安装指南 进行安装. Windows环境下打开Cmd(开始—运行—CMD),苹果系统 ...
- python做小游戏——做个马里奥分分钟解决
一.前言 嗨喽,大家好呀!这里是小熊猫 在你的童年记忆里,是否有一个蹦跳.顶蘑菇的小人已经被遗忘? 马里奥是靠吃蘑菇成长,闻名世界的超级巨星.特征是大鼻子.头戴帽子.身穿背带工作服.还留着胡子.帽子加 ...
随机推荐
- Anton and Letters
Anton and Letters time limit per test 2 seconds memory limit per test 256 megabytes input standard i ...
- DexClassLoader和PathClassLoader类载入机制
0x00 在DexClassLoader和PathClassLoader载入Dex流程一文中,我们分析了dex文件怎样形成了DexFile结构体.本文中解说类载入机制,实际上就是生成ClassObje ...
- javascript的==和===,以及if(xxx)总结
转载请注明 本文出自:http://blog.csdn.net/nancle 首先说==和=== 首先说明一个非常特殊的值NaN, typeof(Nav)得到'number',可是NaN不等于不论什么 ...
- hdoj--1533--Going Home(KM)
Going Home Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- redis配置文件参数详解
配置文件参数说明: 1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pi ...
- 给统计人讲Python(1)_科学计算库-Numpy
本地代码是.ipynb格式的转换到博客上很麻烦,这里展示部分代码,了解更多可以查看我的git-hub:https://github.com/Yangami/Python-for-Statisticia ...
- Polyfill 与 Shim
Polyfill 与 Shim polyfill 的概念是 Remy Sharp 在2010年提出的. polyfill,或 polyfiller ,表示为开发人员提供旧浏览器没有原生支持的较新功能的 ...
- 前端之HEML
HTML介绍 Web服务本质 import socket sk = socket.socket() sk.bind(("127.0.0.1", 8080)) sk.listen ...
- WPF下DataGrid的简单应用
Dim dt As New DataTable() '------------------- dt.Columns.Add(New DataColumn("名称")) dt.Col ...
- 找不到dll原因
1.没有生成成功: A.代码有错误 B.引用dll有问题(dll生成失败|dll版本不对) C.源文件损坏 2.dll生成路径不对 3.对dll的引用丢失