鱼C论坛

 找回密码
 立即注册
查看: 2106|回复: 1

[学习笔记] python小白之猜单词游戏

[复制链接]
发表于 2019-9-29 20:37:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 18780518304 于 2019-9-29 20:55 编辑

#!/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()                                                                #运行一次游戏
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-9-29 20:59:23 | 显示全部楼层
不错!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 22:00

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表