python实现猜单词小游戏

yipeiwu_com5年前Python基础

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设计】。

相关文章

python3使用smtplib实现发送邮件功能

python3使用smtplib实现发送邮件功能

在之前的工作中,业务方做了一些调整,提出了对一部分核心指标做更细致的拆分并定期产出的需求。出于某些原因,这部分数据不太方便在报表上呈现,因此就考虑通过邮件的方式定期给业务方发送数据。 当...

解决tensorflow训练时内存持续增加并占满的问题

记录一次小白的tensorflow学习过程,也为有同样困扰的小白留下点经验。 先说我出错和解决的过程。在做风格迁移实验时,使用预加载权重的VGG19网络正向提取中间层结果,结果因为代码不...

python实现决策树、随机森林的简单原理

python实现决策树、随机森林的简单原理

本文申明:此文为学习记录过程,中间多处引用大师讲义和内容。 一、概念 决策树(Decision Tree)是一种简单但是广泛使用的分类器。通过训练数据构建决策树,可以高效的对未知的数据进...

详解Pandas之容易让人混淆的行选择和列选择

详解Pandas之容易让人混淆的行选择和列选择

在刚学Pandas时,行选择和列选择非常容易混淆,在这里进行一下讨论和归纳 本文的数据来源:https://github.com/fivethirtyeight/data/tree/ma...

python完成FizzBuzzWhizz问题(拉勾网面试题)示例

拉勾网面试题1. 你首先说出三个不同的特殊数,要求必须是个位数,比如3、5、7。2. 让所有学生拍成一队,然后按顺序报数。3. 学生报数时,如果所报数字是第一个特殊数(3)的倍数,那么不...