python实现猜单词小游戏


Posted in Python onMay 22, 2020

Python初学者小游戏:猜单词,供大家参考,具体内容如下

游戏逻辑:就像我们曾经英语学习机上的小游戏一样,电脑会从事先预置的词库中抽取单词,然后给出单词的字母数量,给定猜解次数,然后让玩家进行猜测,并给出每次猜测的正确字母与错误字母。

涉及知识点:random.randint(),print(),input()(raw_input())

参考实现代码:

#!/usr/bin/python 
# -*- coding: utf-8 -*- 
 
from __future__ import print_function 
import os 
import sys 
import random 
import time 
 
#单词库 
Words = ['apple','pear','banana'] 
 
#单词随机选择函数 
def getRandomWord(): 
 global Words 
 return Words[random.randint(0,len(Words)-1)] 
  
#猜测流程 
def getGuess(): 
 while True: 
  guess = raw_input("Guess the Word: ") 
  for letter in guess: 
   if letter in wrongLetters: 
    print("The char: " + letter + " you have already guessed") 
    continue 
   
  break 
 return guess 
  
#判别显示流程 
def displayGame(secretLetters,wrongLetters,secretWord): 
 global guess 
 global count 
 print("Info: ") 
 for letter in guess: 
  if letter in secretWord: 
   secretLetters += letter 
  else: 
   wrongLetters += letter 
  
 print("SecretLetters: ",end = '') 
 for letter in secretLetters: 
  print(letter,end = ' ') 
 print() 
  
 print("WrongLetters: ",end = '') 
 for letter in wrongLetters: 
  print(letter,end = ' ') 
 print() 
 print("Count: "+str(count)) 
 blanks = '_'*len(secretWord) 
 for i in range(len(guess)): 
  if i >=len(secretWord): 
   break 
  if secretWord[i]==guess[i]: 
   blanks = blanks[:i] + secretWord[i] + blanks[i+1:] 
 print("Word: ",end = '') 
 for i in blanks: 
  print(i,end=" ") 
 print() 
 print() 
  
  
#主流程  
  
secretLetters = '' 
wrongLetters = '' 
secretWord = '' 
guess = "" 
count = 6 
 
os.system('cls') 
secretWord = getRandomWord() 
while True: 
 displayGame(secretLetters,wrongLetters,secretWord) 
 guess = getGuess() 
 if guess == secretWord: 
  print ("You win !") 
  break 
 else: 
  if count <= 0: 
   print("You lose !") 
   break 
  else: 
   count -= 1 
   continue

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python 容器总结整理
Apr 04 Python
Python数据可视化正态分布简单分析及实现代码
Dec 04 Python
简单的python协同过滤程序实例代码
Jan 31 Python
python3+PyQt5图形项的自定义和交互 python3实现page Designer应用程序
Jul 20 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
python 读取竖线分隔符的文本方法
Dec 20 Python
Python实现网站表单提交和模板
Jan 15 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
全面介绍python中很常用的单元测试框架unitest
Dec 14 Python
Python利用capstone实现反汇编
Apr 06 Python
Python进程池与进程锁之语法学习
Apr 11 Python
Python捕获、播放和保存摄像头视频并提高视频清晰度和对比度
Apr 14 Python
python2.x实现人民币转大写人民币
Jun 20 #Python
python实现猜数字小游戏
Mar 24 #Python
python实现人民币大写转换
Jun 20 #Python
python人民币小写转大写辅助工具
Jun 20 #Python
python简易远程控制单线程版
Jun 20 #Python
python通过Windows下远程控制Linux系统
Jun 20 #Python
Python实现求解一元二次方程的方法示例
Jun 20 #Python
You might like
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
CodeIgniter中实现泛域名解析
2014/07/19 PHP
Laravel 5框架学习之环境与配置
2015/04/08 PHP
php中的常用魔术方法汇总
2016/02/14 PHP
Yii安装与使用Excel扩展的方法
2016/07/13 PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
2017/04/27 PHP
PHP进阶学习之垃圾回收机制详解
2019/06/18 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
Jqyery中同等与js中windows.onload的应用
2011/05/10 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
JavaScript中使用Object.create()创建对象介绍
2014/12/30 Javascript
jQuery的position()方法详解
2015/07/19 Javascript
jQuery悬停文字提示框插件jquery.tooltipster.js用法示例【附demo源码下载】
2016/07/19 Javascript
js内置对象处理_打印学生成绩单的简单实现
2016/09/24 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
用JS实现简单的登录验证功能
2017/07/28 Javascript
vue-cli中的webpack配置详解
2017/09/25 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
微信小程序实现倒计时补零功能
2018/07/09 Javascript
jQuery Raty星级评分插件使用方法实例分析
2019/11/25 jQuery
JS原型对象操作实例分析
2020/06/06 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
[01:05:30]VP vs TNC 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python中的包和模块实例
2014/11/22 Python
Django基础之Model操作步骤(介绍)
2017/05/27 Python
python使用pycharm环境调用opencv库
2018/02/11 Python
Python实现批量读取图片并存入mongodb数据库的方法示例
2018/04/02 Python
python 读取DICOM头文件的实例
2018/05/07 Python
Python进程间通信Queue消息队列用法分析
2019/05/22 Python
将python文件打包exe独立运行程序方法详解
2020/02/12 Python
Python远程方法调用实现过程解析
2020/07/28 Python
水产养殖学应届生求职信
2013/09/29 职场文书
计算机应用应届生求职信
2014/07/12 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
springboot利用redis、Redisson处理并发问题的操作
2021/06/18 Java/Android
Kubernetes中Deployment的升级与回滚
2022/04/01 Servers