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 相关文章推荐
python3.3使用tkinter开发猜数字游戏示例
Mar 14 Python
Python入门篇之面向对象
Oct 20 Python
Python中类型关系和继承关系实例详解
May 25 Python
如何使用python爬取csdn博客访问量
Feb 14 Python
Python将文本去空格并保存到txt文件中的实例
Jul 24 Python
Python基于mysql实现学生管理系统
Feb 21 Python
使用PyQtGraph绘制精美的股票行情K线图的示例代码
Mar 14 Python
对PyQt5中树结构的实现方法详解
Jun 17 Python
python 实现识别图片上的数字
Jul 30 Python
python+Django实现防止SQL注入的办法
Oct 31 Python
pytorch实现mnist数据集的图像可视化及保存
Jan 14 Python
如何用Python搭建gRPC服务
Jun 30 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文章内容分页并生成相应的htm静态页面代码
2010/06/07 PHP
php生成百度sitemap站点地图类函数实例
2014/10/17 PHP
php递归创建目录的方法
2015/02/02 PHP
PHP查询大量数据内存耗尽问题的解决方法
2016/10/28 PHP
php curl发送请求实例方法
2019/08/01 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JavaScript创建对象的写法
2013/08/29 Javascript
jQuery插件Tmpl的简单使用方法
2015/04/27 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
json的结构与遍历方法实例分析
2017/04/25 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
Bootstrap Table 搜索框和查询功能
2017/11/30 Javascript
React中常见的动画实现的几种方式
2018/01/10 Javascript
Vue2.0 实现单选互斥的方法
2018/04/13 Javascript
bootstrap中的导航条实例代码详解
2019/05/20 Javascript
Ant design vue table 单击行选中 勾选checkbox教程
2020/10/24 Javascript
解析Python中的生成器及其与迭代器的差异
2016/06/20 Python
tensorflow更改变量的值实例
2018/07/30 Python
Python双向循环链表实现方法分析
2018/07/30 Python
python对常见数据类型的遍历解析
2019/08/27 Python
win7下 python3.6 安装opencv 和 opencv-contrib-python解决 cv2.xfeatures2d.SIFT_create() 的问题
2019/10/24 Python
TensorFlow打印输出tensor的值
2020/04/19 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
Pycharm配置lua编译环境过程图解
2020/11/28 Python
css3实现的多级渐变下拉菜单导航效果代码
2015/08/31 HTML / CSS
小学毕业感言150字
2014/02/05 职场文书
幼儿园的门卫岗位职责
2014/04/10 职场文书
大学优秀班主任事迹材料
2014/05/02 职场文书
党性心得体会
2014/09/03 职场文书
党员个人整改方案及措施
2014/10/25 职场文书
跳高加油稿
2015/07/21 职场文书
服装店员工管理制度
2015/08/07 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
集英社今正式宣布 成立游戏公司“集英社Games”
2022/03/31 其他游戏