python实现简单猜单词游戏


Posted in Python onDecember 24, 2020

本文实例为大家分享了python实现猜单词游戏的具体代码,供大家参考,具体内容如下

电脑根据单词列表随机生成一个单词,打印出这个单词长度个 ‘ _ ' ,玩家随机输入一个这个单词可能包含的英文字母,如果玩家猜对了,电脑则会在正确的空格处填写这个字母,如果没有猜对,游戏次数就减一。如果玩家在游戏次数减为零前猜对这个单词的所有字母,则玩家获胜,否则玩家输掉比赛。

from random import*
words = 'tiger lion wolf elephant zebra ducksheep rabbit mouse'.split()
 
#得到要猜的神秘单词
def getWord(wordList):
 n = randint(0,len(wordList)-1)
 return wordList[n]
 
#游戏界面
def display(word,wrongLetters,rightLetters,chance):
 print('你还有{:n}次机会'.format(chance).center(40,'-'))
 print('已经猜错的字母:'+ wrongLetters)
 print()
 blanks = '_'*len(word)
 for i in range(len(word)):
  if word[i] in rightLetters:
   blanks = blanks[:i] + word[i] +blanks[i+1:]
 for i in blanks:
  print(i+' ',end='')
 print()
 print()
 
#从玩家的输入得到一个猜测的字母
def getLetter(alreadyGuessed):
 while True:
  print('请输入一个可能的字母:')
  guess = input()
  guess = guess.lower()
  if guess[0] in alreadyGuessed:
   print('你已经猜过这个字母了!')
  elif guess[0] not in 'qwertyuiopasdfghjklzxcvbnm':
   print('请输入一个英文字母!(a-z)')
  else:
   return guess[0]
  
#是否再玩一次
def playAgain():
 print('是否在玩一次?(y/n)')
 s = input()
 s = s.lower()
 if s[0] == 'y':
  return 1
 return 0
 
#游戏初始化
wrongLetters = ''
rightLetters = ''
word = getWord(words)
chance = 6 #初始为6次机会
done = False
 
while True:
 display(word,wrongLetters,rightLetters,chance)
 
 guess = getLetter(wrongLetters+rightLetters)
 
 if guess in word:
  rightLetters = rightLetters+ guess
  foundAll = True
  for i in range(len(word)):
   if word[i] not in rightLetters:
    foundAll = False
    break
  if foundAll:
   print('你真棒,这个单词就是'+ word +',你赢了!')
   done = True
 else:
   wrongLetters = wrongLetters + guess
   chance = chance - 1
   if chance == 0:
    display(word,wrongLetters,rightLetters,chance)
    print("你已经没有机会了!你一共猜错了"+str(len((wrongLetters))+"次,猜对了"+str(len(rightLetters))+"次,正确的单词是:"+ word)
    done = True
 if done:
  if playAgain():
   wrongLetters = ''
   rightletters = ''
   word = getWord(words)
   chance = 6 #初始为6次机会
   done = 0
  else:
   break

再为大家提供一段代码:python猜单词游戏,作为补充,感谢原作者的分享。

import random
WORDS = ("math","english","china","history")
right = 'Y'
print("欢迎参加猜单词游戏!")
 
while right=='Y' or right=='y':
  word=random.choice(WORDS)
  correct=word
  newword = ''
  while word:
    pos=random.randrange(len(word))
    newword+=word[pos]
    #将word单词下标为pos的字母去掉,取pos前面和后面的字母组成新的word
    word = word[:pos]+word[(pos+1):] #保证随机字母出现不会重复
  print("你要猜测的单词为:",newword)
  guess = input("请输入你的答案:")
  count=1
  while count<5:
    if guess!=correct:
      guess = input("输入的单词错误,请重新输入:")
      count+=1
    else :
      print("输入的单词正确,正确单词为:",correct)
      break
  if count == 5:
    print("您已猜错5次,正确的单词为:",correct)
 
  right = input("是否继续,Y/N:")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
使用Python脚本来控制Windows Azure的简单教程
Apr 16 Python
Python的socket模块源码中的一些实现要点分析
Jun 06 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python 获取页面表格数据存放到csv中的方法
Dec 26 Python
python爬虫租房信息在地图上显示的方法
May 13 Python
python中class的定义及使用教程
Sep 18 Python
python获取时间戳的实现示例(10位和13位)
Sep 23 Python
python 用struct模块解决黏包问题
Nov 07 Python
Python paramiko使用方法代码汇总
Nov 20 Python
Python Pandas知识点之缺失值处理详解
May 11 Python
OpenCV图像变换之傅里叶变换的一些应用
Jul 26 Python
Python万能模板案例之matplotlib绘制甘特图
Apr 13 Python
Python 虚拟环境工作原理解析
Dec 24 #Python
python基于openpyxl生成excel文件
Dec 23 #Python
Python+unittest+requests+excel实现接口自动化测试框架
Dec 23 #Python
用python计算文件的MD5值
Dec 23 #Python
python中lower函数实现方法及用法讲解
Dec 23 #Python
Python类型转换的魔术方法详解
Dec 23 #Python
python3 googletrans超时报错问题及翻译工具优化方案 附源码
Dec 23 #Python
You might like
php adodb连接mssql解决乱码问题
2009/06/12 PHP
PHP发明人谈MVC和网站设计架构 貌似他不支持php用mvc
2011/06/04 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php实现上传图片生成缩略图示例
2014/04/13 PHP
destoon数据库表说明汇总
2014/07/15 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
PHP实现搜索相似图片
2015/09/22 PHP
php利用header函数下载各种文件
2016/08/24 PHP
PHP实现的服务器一致性hash分布算法示例
2018/08/09 PHP
PHP中的Iterator迭代对象属性详解
2019/04/12 PHP
基于jquery tab切换(防止页面刷新)
2012/05/23 Javascript
jQuery中 noConflict() 方法使用
2013/04/25 Javascript
Js中获取frames中的元素示例代码
2013/07/30 Javascript
解决node-webkit 不支持html5播放mp4视频的方法
2015/03/11 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
TypeScript 中接口详解
2015/06/19 Javascript
javascript实现的简单计时器
2015/07/19 Javascript
js去字符串前后空格的实现方法
2016/02/26 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
Vue引入jquery实现平滑滚动到指定位置
2018/05/09 jQuery
详解jQuery中的prop()使用方法
2020/01/05 jQuery
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
[05:14]辉夜杯主赛事第二日 RECAP精彩回顾
2015/12/27 DOTA
python网络编程示例(客户端与服务端)
2014/04/24 Python
python OpenCV学习笔记之绘制直方图的方法
2018/02/08 Python
基于Python实现定时自动给微信好友发送天气预报
2018/10/25 Python
python广度优先搜索得到两点间最短路径
2019/01/17 Python
tensorflow实现读取模型中保存的值 tf.train.NewCheckpointReader
2020/02/10 Python
python从ftp获取文件并下载到本地
2020/12/05 Python
HTML table 表格边框的实现思路
2019/10/12 HTML / CSS
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
机动车登记业务委托书
2014/10/08 职场文书
Python pandas求方差和标准差的方法实例
2021/08/04 Python
Python如何使用循环结构和分支结构
2022/04/13 Python