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如何实现文本转语音
Aug 08 Python
学习python中matplotlib绘图设置坐标轴刻度、文本
Feb 07 Python
python如何读写csv数据
Mar 21 Python
django中静态文件配置static的方法
May 20 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
python 分离文件名和路径以及分离文件名和后缀的方法
Oct 21 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
Jul 04 Python
详解Python中字符串前“b”,“r”,“u”,“f”的作用
Dec 18 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
Apr 09 Python
jupyter 实现notebook中显示完整的行和列
Apr 09 Python
Python爬虫小例子——爬取51job发布的工作职位
Jul 10 Python
用Python远程登陆服务器的步骤
Apr 16 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
使用sockets:从新闻组中获取文章(一)
2006/10/09 PHP
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
解析linux下安装memcacheq(mcq)全过程笔记
2013/06/27 PHP
phpstudy后门rce批量利用脚本的实现
2019/12/12 PHP
菜鸟学习JavaScript小实验之函数引用
2010/11/17 Javascript
JavaScript 对任意元素,自定义右键菜单的实现方法
2013/05/08 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
关于js中for in的缺陷浅析
2013/12/02 Javascript
jQuery 追加元素的方法如append、prepend、before
2014/01/16 Javascript
jQuery将多条数据插入模态框的示例代码
2014/09/25 Javascript
JavaScript解析json格式数据简单示例
2014/12/09 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
jQuery多级联动下拉插件chained用法示例
2016/08/20 Javascript
jquery弹出框插件jquery.ui.dialog用法分析
2016/08/20 Javascript
domReady的实现案例
2016/11/23 Javascript
JavaScript 通过Ajax 动态加载CheckBox复选框
2017/08/31 Javascript
解决vue中post方式提交数据后台无法接收的问题
2018/08/11 Javascript
解决 viewer.js 动态更新图片导致无法预览的问题
2019/05/14 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
javascript中的this作用域详解
2019/07/15 Javascript
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
python 数据加密代码
2008/12/24 Python
Python深入学习之闭包
2014/08/31 Python
python实现用户登陆邮件通知的方法
2015/07/09 Python
python中numpy包使用教程之数组和相关操作详解
2017/07/30 Python
解决python3中cv2读取中文路径的问题
2018/12/05 Python
python scatter散点图用循环分类法加图例
2019/03/19 Python
详解Anconda环境下载python包的教程(图形界面+命令行+pycharm安装)
2019/11/11 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
Python 字符串处理特殊空格\xc2\xa0\t\n Non-breaking space
2020/02/23 Python
详解Django中的FBV和CBV对比分析
2021/03/01 Python
学校安全教育制度
2014/01/31 职场文书
工商管理自荐书
2014/07/06 职场文书
人民的好儿女观后感
2015/06/18 职场文书
Spring Boot配合PageHelper优化大表查询数据分页
2022/04/20 Java/Android
Li list-style-image 图片垂直居中实现方法
2023/05/21 HTML / CSS