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获取Linux下文件版本信息、公司名和产品名的方法
Oct 05 Python
Python生成不重复随机值的方法
May 11 Python
Python实现简单登录验证
Apr 13 Python
利用python爬取斗鱼app中照片方法实例
Dec 03 Python
Python 绘图库 Matplotlib 入门教程
Apr 19 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
Python3中的列表生成式、生成器与迭代器实例详解
Jun 11 Python
Python调用adb命令实现对多台设备同时进行reboot的方法
Oct 15 Python
Pytorch中的VGG实现修改最后一层FC
Jan 15 Python
Python实现动态循环输出文字功能
May 07 Python
Pyinstaller加密打包应用的示例代码
Jun 11 Python
用Python可视化新冠疫情数据
Jan 18 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同时连接多个mysql数据库示例代码
2014/03/17 PHP
php5.3提示Function ereg() is deprecated Error问题解决方法
2014/11/12 PHP
PHP使用array_multisort对多个数组或多维数组进行排序
2014/12/16 PHP
PHP实现数组array转换成xml的方法
2016/07/19 PHP
PHP中类的自动加载的方法
2017/03/17 PHP
php适配器模式简单应用示例
2019/10/23 PHP
javascript编程起步(第七课)
2007/01/10 Javascript
JQUERY复选框CHECKBOX全选,取消全选
2008/08/30 Javascript
JQuery 插件制作实践 xMarquee插件V1.0
2010/04/02 Javascript
JavaScript高级程序设计(第3版)学习笔记8 js函数(中)
2012/10/11 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
2015/10/30 Javascript
jQuery增加、删除及修改select option的方法
2016/08/19 Javascript
Vue中使用vue-i18插件实现多语言切换功能
2018/04/25 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
2018/04/27 Javascript
node基于puppeteer模拟登录抓取页面的实现
2018/05/09 Javascript
原生JS实现汇率转换功能代码实例
2020/05/13 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
记录Django开发心得
2014/07/16 Python
在Python中使用zlib模块进行数据压缩的教程
2015/06/26 Python
详解Python中的Numpy、SciPy、MatPlotLib安装与配置
2017/11/17 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
对Python使用mfcc的两种方式详解
2019/01/09 Python
tensorflow实现二维平面模拟三维数据教程
2020/02/11 Python
MaBelle玛贝尔香港官网:香港钻饰连锁店
2019/09/09 全球购物
SEPHORA丝芙兰德国官方购物网站:化妆品、护肤品和香水
2020/01/21 全球购物
Shopbop中文官网:美国亚马逊旗下时尚购物网站
2020/12/15 全球购物
介绍一下游标
2012/01/10 面试题
中间件分为哪几类
2012/03/14 面试题
Servlet的生命周期
2013/08/25 面试题
任命书怎么写
2014/06/04 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
行政专员岗位职责范本
2014/08/26 职场文书
高校师德师风自我剖析材料
2014/09/29 职场文书
无刑事犯罪记录证明范本
2014/09/29 职场文书