Hangman--游戏简介--> 百度百科

打印Hangman

def printHangman(N):
# 第一行
print("\t____")
# 第二行
print("\t| |")
# 第三行
print("\t| ", end="") if N > 0:
# 第三行 第一笔
print("O")
else:
# 第三行 换行
print() # 第四行
print("\t| ", end="") if N > 2:
# 第四行 第三笔
print("/", end="")
else:
# 第四行 换行
print(" ", end="") if N > 1:
# 第四行 第二笔
print("|", end="")
else:
# 第四行 换行
print(" ", end="") if N > 3:
# 第四行 第四笔
print("\\")
else:
# 第四行 换行
print(" ") # 第五行
print("\t| ", end="") if N > 4:
# 第五行 第五笔
print("/ ", end="")
else:
# 第五行 换行
print(" ", end="") if N > 5:
# 第五行 第六笔(画完结束)
print("\\")
else:
# 第五行 换行
print(" ") # 第六行
print("\t|")
# 第七行
print("-------------") # printHangman(0)
# printHangman(1)
# printHangman(2)
# printHangman(3)
# printHangman(4)
# printHangman(5)
# printHangman(6)

### 其它
```
# 生成一个仅包含星号的长度相同的字符串
def hide(s):
return '*' * len(s)

计算星号

def hide_num(secret):

num = 0

for i in secret:

if i == "*":

num += 1

return num

记录猜测错误的词

def record_wrong(wrong, wrong_in):

wrong = wrong + wrong_in

return wrong

打印已经猜错的词

def print_wrong(wrong):

print("You've entered (wrong):", end=' ')

for i in wrong:

if i != wrong[-1]:

print(i, end=',')

else:

print(i)

将猜对的词在对应位置显示出来

def show_correct(word, secret, correct_in):

index = 0

temp = ''

for i in word:

# 将每个词和输入的进行匹配

if i == correct_in:

temp = temp + correct_in

# 将已经猜对的词继续显示

elif secret[index] != '':

temp = temp + secret[index]

# 没猜中的继续以 * 表示

else:

temp = temp + '
'

index += 1

return temp

<br/>
### 开始游戏

给定一个需要猜测的单词开始游戏

def start_game(word):

# 已经猜错的词

wrong = ''

# 将未猜出的以 * 显示

secret = hide(word)

# 记录还剩多少个 * ,如果为0,则为全部猜中

secret_num = hide_num(secret)

# 猜错的步数,6步画完小人,表示失败

hang = 0

#   6步之内而且还有 * 未猜出
while secret_num > 0 and hang < 7:
print('You word looks like this:')
print(secret)
printHangman(hang) if hang < 6:
print('Choose a letter:', end='')
char_in = input() # 判断猜的词是否在单词中
if char_in in word:
secret = show_correct(word,secret, char_in)
else:
wrong = record_wrong(wrong, char_in)
hang = hang + 1 secret_num = hide_num(secret)
# 代表得分,假如abbc,猜b,得两分
score = len(word) - secret_num
print('Your points so far:', score)
if wrong != '':
print_wrong(wrong)
print()
else:
# 小人画完
break # 胜利
if secret_num == 0:
print('WIN')
print('Word:', word)
# 失败
else:
print('Defeat')
print('Word:', word)
<br/>
### 结果
![](https://img2018.cnblogs.com/blog/821307/201911/821307-20191121214223726-785597182.png) <br/><br/><br/>

Python 实现 Hangman 小游戏的更多相关文章

  1. Python开发转盘小游戏

    Python开发转盘小游戏 Python  一 原理分析 Python开发一个图形界面 有12个选项和2个功能键 确定每个按钮的位置 每个按钮的间隔相同 点击开始时转动,当前选项的背景颜色为红色,其他 ...

  2. 用Python实现童年小游戏贪吃蛇

    贪吃蛇作为一款经典小游戏,早在 1976 年就面世了,我最早接触它还是在家长的诺基亚手机中.

  3. 教你用Python自制拼图小游戏,一起来制作吧

    摘要: 本文主要为大家详细介绍了python实现拼图小游戏,文中还有示例代码介绍,感兴趣的小伙伴们可以参考一下. 开发工具 Python版本:3.6.4 相关模块: pygame模块: 以及一些Pyt ...

  4. python 小鸡飞行小游戏

    python 小鸡飞行小游戏 用空格键控制小鸡飞行 代码 import pygame.freetype import sys import random pygame.init() screen = ...

  5. 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词

    一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...

  6. python 面向对象编程 - 小游戏

    面向对象写的小游戏 欢迎玩耍 class Omnicience: camp = 'Omniscience' def __init__(self, name, atk=100, hp=1000, mp= ...

  7. Python hangman小游戏

    hangman # words.py 使用pickle永久性存储数据 import pickle filename = 'words.pk' data = ['cat', 'dog', 'perro' ...

  8. 上班无聊,自己用python做个小游戏来打发时间

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取t.cn ...

  9. Python猜数小游戏

    使用random变量随机生成一个1到100之间的数 采集用户所输入的数字,如果输入的不符合要求会让用户重新输入. 输入符合要求,游戏开始.如果数字大于随机数,输出数字太大:如果小于随机数,输出数字太小 ...

随机推荐

  1. ZKWeb 官网与演示站点的部署步骤 (Linux + Nginx + Certbot)

    因为没有给域名续费,加上私人时间不足,ZKWeb 的官网和演示站点已经停止了几个月的时间. 最近时间开始变多,所以重新购买了别的域名和服务器把官网和演示站点重新部署上去. 在此前站点是托管在共享主机上 ...

  2. 修改Android源码实现原生应用双开,应用多开

    1. 准备 把某系统双开的两个app的信息进行对比 1.1 目录的对比 1.1.1 data目录对比 原应用: /data/user/0/com.luoyesiqiu.crackme/files 被复 ...

  3. 记一个AbstractMethodError

    如下,引入FastJsonHttpMessageConverter 之后,导致了新的错误: @Override public void configureMessageConverters( List ...

  4. 计算机组成原理——I/O接口以及I/O设备数据传送控制方式

    接口可以看作是两个部件之间交接的部分.硬件与硬件之间有接口,硬件与软件之间有接口,软件与软件之间也有接口. 这里我们所说的I/O接口,一边连接着主机,一边连接着外设. I/O接口的功能 I/O接口的基 ...

  5. Geodesic 什么是“测地线的”?

    确定是使用上椭球体(测地线)还是平地上(平面)的最短路径.强烈建议将 Geodesic 方法用于在不适合进行距离测量的坐标系(例如 Web 墨卡托或任何地理坐标系)中存储的数据,以及任何地理区域跨度较 ...

  6. [20191127]表 full Hash Value的计算.txt

    [20191127]表 full Hash Value的计算.txt --//曾经做过表full Hash Value的计算,当时我是通过建立简单的schema以及表名的形式,使用hashcat破解o ...

  7. NFS挂载遇到的问题

    问题描述:生产环境中需要经常运用NFS挂载,就在测试环境中测试一下,将服务器中192.168.1.4 /u01/app/oracle/product/11.2.0/dbhome_1/dbs  挂载到1 ...

  8. 每日JAVA面试

  9. CCPC 2019 秦皇岛 Angle Beats

    题目 给出P个点,然后给出Q个询问,问从P中选出两个点和给的点能组成直角三角形的方法个数.-O2,时间限制5秒. \[2\leqslant P\leqslant 2000,\qquad 1\leqsl ...

  10. R期望

    斐波那契数列--九九乘法表 # 1. 打印斐波那契数列 kl<-c(1,1) for (i in 1:8){ kl[i+2]<-kl[i]+kl[i+1] } kl # 10. 打印九九乘 ...