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程序与C程序的结合使用
Apr 07 Python
Python实现简单登录验证
Apr 13 Python
TensorFLow用Saver保存和恢复变量
Mar 10 Python
利用python如何处理百万条数据(适用java新手)
Jun 06 Python
Python字典循环添加一键多值的用法实例
Jan 20 Python
python ChainMap的使用和说明详解
Jun 11 Python
python简单实现矩阵的乘,加,转置和逆运算示例
Jul 10 Python
python动态视频下载器的实现方法
Sep 16 Python
python网络爬虫 CrawlSpider使用详解
Sep 27 Python
简单了解Pandas缺失值处理方法
Nov 16 Python
python plt可视化——打印特殊符号和制作图例代码
Apr 17 Python
selenium如何定位span元素的实现
Jan 13 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 处理TXT文件(打开/关闭/检查/读取)
2013/05/13 PHP
关于PHP堆栈与列队的学习
2013/06/21 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
2015/09/29 PHP
golang与php实现计算两个经纬度之间距离的方法
2016/07/22 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
JavaScript Event学习第七章 事件属性
2010/02/07 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
基于jQuery实现的当离开页面时出现提示的实现代码
2011/06/27 Javascript
当鼠标移动到图片上时跟随鼠标显示放大的图片效果
2013/06/06 Javascript
jquery和js实现对div的隐藏和显示方法
2014/09/26 Javascript
JavaScript整除运算函数ceil和floor的区别分析
2015/04/14 Javascript
jQuery实现在列表的首行添加数据
2015/05/19 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
小程序实现列表倒计时功能
2021/01/29 Javascript
python实现得到一个给定类的虚函数
2014/09/28 Python
设计模式中的原型模式在Python程序中的应用示例
2016/03/02 Python
Python实现将不规范的英文名字首字母大写
2016/11/15 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python3实现简单可学习的手写体识别(实例讲解)
2017/10/21 Python
Python使用re模块实现信息筛选的方法
2018/04/29 Python
matplotlib subplots 调整子图间矩的实例
2018/05/25 Python
Python实现基于PIL和tesseract的验证码识别功能示例
2018/07/11 Python
使用Python监视指定目录下文件变更的方法
2018/10/15 Python
python+selenium实现简历自动刷新的示例代码
2019/05/20 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
Python如何将将模块分割成多个文件
2020/08/04 Python
python爬取天气数据的实例详解
2020/11/20 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
2021/02/19 Python
CSS3中的Transition过度与Animation动画属性使用要点
2016/05/20 HTML / CSS
html5之Canvas路径绘图、坐标变换应用实例
2012/12/26 HTML / CSS
给老师的检讨书
2014/02/11 职场文书
小学生校园广播稿
2014/09/28 职场文书
工作检讨书500字
2014/10/19 职场文书
小学五年级语文上册教学计划
2015/01/22 职场文书
学校财务管理制度
2015/08/04 职场文书