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中replace方法实例分析
Aug 20 Python
python通过wxPython打开一个音频文件并播放的方法
Mar 25 Python
python搭建微信公众平台
Feb 09 Python
python+selenium开发环境搭建图文教程
Aug 11 Python
python实现多线程行情抓取工具的方法
Feb 28 Python
Python第三方Window模块文件的几种安装方法
Nov 22 Python
Python从文件中读取数据的方法讲解
Feb 14 Python
pygame实现成语填空游戏
Oct 29 Python
Python开发之基于模板匹配的信用卡数字识别功能
Jan 13 Python
python ImageDraw类实现几何图形的绘制与文字的绘制
Feb 26 Python
梳理总结Python开发中需要摒弃的18个坏习惯
Jan 22 Python
分享Python异步爬取知乎热榜
Apr 12 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
日本十大科幻动漫 宇宙骑士垫底,第一已成经典
2020/03/04 日漫
在PHP中使用curl_init函数的说明
2010/11/02 PHP
利用Ffmpeg获得flv视频缩略图和视频时间的代码
2011/09/15 PHP
PHP file_exists问题杂谈
2012/05/07 PHP
PHP自动生成表单代码分享
2015/06/19 PHP
Linux下快速搭建php开发环境
2017/03/13 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
2019/04/02 PHP
JQuery与iframe交互实现代码
2009/12/24 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
jquery mobile动态添加元素之后不能正确渲染解决方法说明
2014/03/05 Javascript
nodejs中使用多线程编程的方法实例
2015/03/24 NodeJs
JQuery自适应窗口大小导航菜单附源码下载
2015/09/01 Javascript
JavaScript严格模式详解
2015/11/18 Javascript
老生常谈遮罩层 滚动条的问题
2016/04/29 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
浅谈在koa2中实现页面渲染的全局数据
2017/10/09 Javascript
在iFrame子页面里实现模态框的方法
2018/08/17 Javascript
详解Vue组件之作用域插槽
2018/11/22 Javascript
JS基础之逻辑结构与循环操作示例
2020/01/19 Javascript
[02:55]2018DOTA2国际邀请赛勇士令状不朽珍藏Ⅲ饰品一览
2018/08/01 DOTA
[03:12]TI9战队档案 - Virtus Pro
2019/08/20 DOTA
[10:21]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster 选手采访
2021/03/11 DOTA
python字符串,数值计算
2016/10/05 Python
python psutil库安装教程
2018/03/19 Python
致Python初学者 Anaconda入门使用指南完整版
2018/04/05 Python
python实现桌面气泡提示功能
2019/07/29 Python
django实现支付宝支付实例讲解
2019/10/17 Python
python爬虫爬取监控教务系统的思路详解
2020/01/08 Python
Tensorflow Summary用法学习笔记
2020/01/10 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
请编写一个 C 函数,该函数在给定的内存区域搜索给定的字符,并返回该字符所在位置索引值
2014/09/15 面试题
LINUX下线程,GDI类的解释
2016/12/14 面试题
人力资源管理毕业生自荐信
2013/11/21 职场文书
征求意见函
2015/06/05 职场文书
创业计划书之情侣餐厅
2019/09/29 职场文书
MySQL安装后默认自带数据库的作用详解
2021/04/27 MySQL