|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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() #运行一次游戏
|
|