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 19 Python
Django自定义分页效果
Jun 27 Python
基于Python中单例模式的几种实现方式及优化详解
Jan 09 Python
python实现按长宽比缩放图片
Jun 07 Python
Selenium定时刷新网页的实现代码
Oct 31 Python
Python基于WordCloud制作词云图
Nov 29 Python
Pytorch 实现权重初始化
Dec 31 Python
Python统计学一数据的概括性度量详解
Mar 03 Python
python对execl 处理操作代码
Jun 22 Python
keras在构建LSTM模型时对变长序列的处理操作
Jun 29 Python
Python 实现 T00ls 自动签到脚本代码(邮件+钉钉通知)
Jul 06 Python
python flask开发的简单基金查询工具
Jun 02 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实例
2013/12/24 PHP
访问编码后的中文URL返回404错误的解决方法
2014/08/20 PHP
给PHP开发者的编程指南 第一部分降低复杂程度
2016/01/18 PHP
php使用file函数、fseek函数读取大文件效率对比分析
2016/11/04 PHP
php mysql PDO 查询操作的实例详解
2017/09/23 PHP
关于laravel模板中生成URL的几种模式总结
2019/10/18 PHP
jQuery右键菜单contextMenu使用实例
2011/09/28 Javascript
js获取GridView中行数据的两种方法 分享
2013/07/13 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
jquery中实现时间戳与日期相互转换
2016/04/12 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
深入浅析var,let,const的异同点
2018/08/07 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
微信小程序实现文件、图片上传功能
2020/08/18 Javascript
express框架下使用session的方法
2019/07/31 Javascript
jsonp格式前端发送和后台接受写法的代码详解
2019/11/07 Javascript
解决三元运算符 报错“SyntaxError: can''t assign to conditional expression”
2020/02/12 Javascript
Vue如何基于vue-i18n实现多国语言兼容
2020/07/17 Javascript
python实现带验证码网站的自动登陆实现代码
2015/01/12 Python
python中验证码连通域分割的方法详解
2018/06/04 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
python3爬虫怎样构建请求header
2018/12/23 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
Django框架反向解析操作详解
2019/11/28 Python
python getopt模块使用实例解析
2019/12/18 Python
Pytorch Tensor 输出为txt和mat格式方式
2020/01/03 Python
CSS3 实现雷达扫描图的示例代码
2020/09/21 HTML / CSS
帕克纽约:PARKER NY
2018/12/09 全球购物
同步和异步有何异同,在什么情况下分别使用他们
2013/04/09 面试题
服务中心夜班服务员岗位职责
2013/11/27 职场文书
测试工程师岗位职责
2013/11/28 职场文书
复活读书笔记
2015/06/29 职场文书
教务处干事工作总结
2015/08/14 职场文书