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
Python采用Django开发自己的博客系统
Sep 29 Python
Python中格式化format()方法详解
Apr 01 Python
python 实现在Excel末尾增加新行
May 02 Python
Python 文件操作之读取文件(read),文件指针与写入文件(write),文件打开方式示例
Sep 29 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
Mar 06 Python
Django-rest-framework中过滤器的定制实例
Apr 01 Python
python3 logging日志封装实例
Apr 08 Python
Python基于QQ邮箱实现SSL发送
Apr 26 Python
在django中实现choices字段获取对应字段值
Jul 12 Python
Django:使用filter的pk进行多值查询操作
Jul 15 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
Aug 22 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
虹吸式咖啡壶操作
2021/03/03 冲泡冲煮
配置支持SSI
2006/11/25 PHP
推荐一篇入门级的Class文章
2007/03/19 PHP
关于session在PHP5的配置文件中的详细设置参数说明
2011/04/20 PHP
php object转数组示例
2014/01/15 PHP
C#使用PHP服务端的Web Service通信实例
2014/04/08 PHP
ThinkPHP令牌验证实例
2014/06/18 PHP
php根据一个给定范围和步进生成数组的方法
2015/06/19 PHP
CodeIgniter开发实现支付宝接口调用的方法示例
2016/11/14 PHP
CMSPRESS 10行代码搞定 PHP无限级分类2
2018/03/30 PHP
侧栏跟随滚动的简单实现代码
2013/03/18 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
关于input全选反选恶心的异常情况
2016/07/24 Javascript
jQuery 选择符详细介绍及整理
2016/12/02 Javascript
bootstrap多种样式进度条展示
2016/12/20 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
2017/02/14 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
Vue实现侧边菜单栏手风琴效果实例代码
2018/05/31 Javascript
使用VueCli3+TypeScript+Vuex一步步构建todoList的方法
2019/07/25 Javascript
python统计文本字符串里单词出现频率的方法
2015/05/26 Python
python数据预处理之数据标准化的几种处理方式
2019/07/17 Python
python 遍历pd.Series的index和value
2019/11/26 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
Python如何使用27行代码绘制星星图
2020/07/20 Python
在HTML5 canvas里用卷积核进行图像处理的方法
2018/05/02 HTML / CSS
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
计算机软件专业求职信
2014/06/10 职场文书
暑期培训班策划方案
2014/08/26 职场文书
群众路线表态发言材料
2014/10/17 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
护士求职简历自我评价
2015/03/10 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
实习报告范文之电话客服岗位
2019/07/26 职场文书
简单总结SpringMVC拦截器的使用方法
2021/06/28 Java/Android
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers