python小白之猜单词小游戏

#!/usr/bin/env python
#!-*- coding: utf-8 -*-
#!author  :Youyo 
#!@time   : 2019/9/29 14:02
#!@File   : guessWord.py
"这是一个脚本范式"

import random

wordlist = ['english','chinese','house','monkey','ants',\
            'milk','love','enviromental','science']        #内部单词列表
#打乱单词字母算法
def guessWord():
    i = random.randint(0,len(wordlist)-1)                  #随机产生一个序号i,len()获取list长度
    word = wordlist[i]                                     #将随机产生的单词赋值给word
    strlist=[]                                             #创建一个空列表,来存放word字符
    for s in range (0,len(word)):                          #以一个字符一个字符的方式存放word单词
        strlist.append(word[s])

    length = len(strlist)-1
    snum = random.randint(20,30)                            #循环次数规定在20次到30次之间

    for rnum in range(1,snum):
        position = random.randint(0,length)                 #随机定位一个strlist列表中的某个字符
        strlist.append(strlist[position])                   #在列表末尾增加上面定位到的字符
        strlist.pop(position)                               #删除定位到的字符
    print(strlist)

    return word

#判断两个列表是否相等
def isListEqualed(a,b):
    for i in a:
        if i not in b:
            return False
    else:
        return True

#游戏交互显示
def game():
    word = guessWord()
    flag = 0
    num = 3
    print("游戏开始!")
    while flag == 0:
        if num > 0:
            gword = input("请输入你猜的单词:")
            if isListEqualed(word,gword):                                 #判断用户输入的字符串是否和内部随机的相等
                print("恭喜你猜对了!")
                flag = 1
            else:
                print("很可惜你猜错了,请继续输入:")
                num -= 1                                                  #每输入一次次数减一
                print("你还有"+str(num)+"次机会!")
        else:
            cin = input("请输入1继续游戏,其他字符结束游戏:")
            if cin == '1':
                game()                                                    #递归调用函数
            else:
                print("游戏结束!")
                flag = 1

#程序主体
if __name__=="__main__":
    game()                                                                #运行一次游戏


  • python小白youyo,每日python一游,看看,学学,多多积累*
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值