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中分数的相关使用教程
Mar 30 Python
在java中如何定义一个抽象属性示例详解
Aug 18 Python
Python进阶之尾递归的用法实例
Jan 31 Python
python实现求解列表中元素的排列和组合问题
Mar 15 Python
Python图像处理之识别图像中的文字(实例讲解)
May 10 Python
python最小生成树kruskal与prim算法详解
Jan 17 Python
Python和Go语言的区别总结
Feb 20 Python
python使用sklearn实现决策树的方法示例
Sep 12 Python
Python数据可视化:饼状图的实例讲解
Dec 07 Python
PyQT5 emit 和 connect的用法详解
Dec 13 Python
将不规则的Python多维数组拉平到一维的方法实现
Jan 11 Python
Python爬虫定时计划任务的几种常见方法(推荐)
Jan 15 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文件上传类完整实例
2016/05/14 PHP
Yii遍历行下每列数据的方法
2016/10/17 PHP
php使用PDO事务配合表格读取大量数据插入操作实现方法
2017/02/16 PHP
thinkphp5.1 框架钩子和行为用法实例分析
2020/05/25 PHP
js 匿名调用实现代码
2009/06/19 Javascript
Json对象替换字符串占位符实现代码
2010/11/17 Javascript
js实现上传图片及时预览
2016/05/07 Javascript
AngularJS动态绑定HTML的方法分析
2016/11/07 Javascript
JS作用域闭包、预解释和this关键字综合实例解析
2016/12/16 Javascript
Vue监听数组变化源码解析
2017/03/09 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
JS实现留言板功能[楼层效果展示]
2017/12/27 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
2018/09/29 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
layer.js之回调销毁对话框的例子
2019/09/11 Javascript
Element-ui树形控件el-tree自定义增删改和局部刷新及懒加载操作
2020/08/31 Javascript
Python的类实例属性访问规则探讨
2015/01/30 Python
使用Python解析JSON数据的基本方法
2015/10/15 Python
python实现逆序输出一个数字的示例讲解
2018/06/25 Python
Python实现的批量修改文件后缀名操作示例
2018/12/07 Python
使用python将图片按标签分入不同文件夹的方法
2018/12/08 Python
Python替换NumPy数组中大于某个值的所有元素实例
2020/06/08 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
2020/11/17 Python
python 模拟登录B站的示例代码
2020/12/15 Python
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
来自世界各地的饮料:Flavourly
2019/05/06 全球购物
继承公证书
2014/04/09 职场文书
法律顾问服务方案
2014/05/15 职场文书
党员先进性教育整改措施
2014/09/18 职场文书
群众路线剖析材料(四风问题)
2014/10/08 职场文书
部门2015年度工作总结
2015/04/29 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python
Python Pygame实战之塔防游戏的实现
2022/03/17 Python