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实现无证书加密解密实例
Oct 27 Python
Python中一些自然语言工具的使用的入门教程
Apr 13 Python
Python中的匿名函数使用简介
Apr 27 Python
Python中运算符&quot;==&quot;和&quot;is&quot;的详解
Oct 08 Python
Python实现感知机(PLA)算法
Dec 20 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
Oct 29 Python
Python异常处理知识点总结
Feb 18 Python
python实现各种插值法(数值分析)
Jul 30 Python
python适合做数据挖掘吗
Jun 16 Python
Python结合Window计划任务监测邮件的示例代码
Aug 05 Python
详解使用Python写一个向数据库填充数据的小工具(推荐)
Sep 11 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
CI(CodeIgniter)模型用法实例分析
2016/01/20 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
JavaScript实现横向滑出的多级菜单效果
2015/10/09 Javascript
jQuery获取cookie值及删除cookie用法实例
2016/04/15 Javascript
AngularJS中的过滤器filter用法完全解析
2016/04/22 Javascript
一次$.getJSON不执行的简单记录
2016/07/19 Javascript
JS中传递参数的几种不同方法比较
2017/01/20 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
2017/03/01 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
详解ES6之用let声明变量以及let loop机制
2017/07/15 Javascript
聊聊Vue中provide/inject的应用详解
2019/11/10 Javascript
vue 百度地图(vue-baidu-map)绘制方向箭头折线实例代码详解
2020/04/28 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
vue-quill-editor的使用及个性化定制操作
2020/08/04 Javascript
js实现表格数据搜索
2020/08/09 Javascript
python批量下载图片的三种方法
2013/04/22 Python
跟老齐学Python之用Python计算
2014/09/12 Python
详解Python中的循环语句的用法
2015/04/09 Python
Python的shutil模块中文件的复制操作函数详解
2016/07/05 Python
Python采用Django制作简易的知乎日报API
2016/08/03 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
2018/07/11 Python
Python3爬虫学习之将爬取的信息保存到本地的方法详解
2018/12/12 Python
python3.8 微信发送服务器监控报警消息代码实现
2019/11/05 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
Python 操作SQLite数据库的示例
2020/10/16 Python
美国知名运动产品零售商:Foot Locker
2016/07/23 全球购物
GOOD AMERICAN官网:为曲线性感而设计
2017/12/28 全球购物
Kathmandu美国网站:新西兰户外运动品牌
2019/03/23 全球购物
双十佳事迹材料
2014/01/29 职场文书
幼儿园元旦活动感言
2014/03/02 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
2014年办公室文秘工作总结
2014/12/09 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
golang switch语句的灵活写法介绍
2021/05/06 Golang
Golang Gob编码(gob包的使用详解)
2021/05/07 Golang
TS 类型兼容教程示例详解
2022/09/23 Javascript