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两种遍历字典(dict)的方法比较
May 29 Python
详解Django框架中用户的登录和退出的实现
Jul 23 Python
python制作爬虫爬取京东商品评论教程
Dec 16 Python
python画一个玫瑰和一个爱心
Aug 18 Python
深入浅析Python2.x和3.x版本的主要区别
Nov 30 Python
对python修改xml文件的节点值方法详解
Dec 24 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
运用Python的webbrowser实现定时打开特定网页
Feb 21 Python
在python里面运用多继承方法详解
Jul 01 Python
Python接收手机短信的代码整理
Aug 02 Python
Django中日期时间型字段进行年月日时分秒分组统计
Nov 27 Python
python 通过exifread读取照片信息
Dec 24 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编写的一个E-mail验证类
2015/03/25 PHP
PHP实现简单搜歌的方法
2015/07/28 PHP
经典的解除许多网站无法复制文字的绝招
2006/12/31 Javascript
jQuery 判断页面元素是否存在的代码
2009/08/14 Javascript
jQuery.extend()的实现方式详解及实例
2013/06/29 Javascript
使用JavaScript修改浏览器URL地址栏的实现代码
2013/10/21 Javascript
把字符串按照特定的字母顺序进行排序的js代码
2014/01/28 Javascript
LABjs、RequireJS、SeaJS的区别
2014/03/04 Javascript
深入分析js的冒泡事件
2014/12/05 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
九种原生js动画效果
2015/11/11 Javascript
js获取本机操作系统类型的两种方法
2015/12/19 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
BootStrap Table前台和后台分页对JSON格式的要求
2017/06/28 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
jQuery实现用户信息表格的添加和删除功能
2017/09/12 jQuery
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[54:28]EG vs OG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
处理Python中的URLError异常的方法
2015/04/30 Python
pyinstaller打包单个exe后无法执行错误的解决方法
2019/06/21 Python
django使用JWT保存用户登录信息
2020/04/22 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
pandas apply使用多列计算生成新的列实现示例
2021/02/24 Python
CSS3实现瀑布流布局与无限加载图片相册的实例代码
2016/12/22 HTML / CSS
如何防止同一个帐户被多人同时登录
2013/08/01 面试题
刊首寄语大全
2014/04/11 职场文书
党员四风自我剖析材料思想汇报
2014/09/13 职场文书
群众路线剖析材料怎么写
2014/10/09 职场文书
学习雷锋精神活动总结
2015/02/06 职场文书
雨中的树观后感
2015/06/03 职场文书
MySQL如何快速创建800w条测试数据表
2022/03/17 MySQL
pytorch中的 .view()函数的用法介绍
2022/03/17 Python
redis数据一致性的实现示例
2022/03/18 Redis
python 判断文件或文件夹是否存在
2022/03/18 Python