序列应用——猜单词游戏

开发工具:Visual Studio Codepython

1.游戏介绍web

猜单词游戏就是计筧机随机产生一个单词,打乱字母顺序,供玩家去猜想。此游戏采用控制字符界面.windows

2.程序设计思路数据结构

游戏中,可以使用序列中的元组存储全部待猜想的单词。由于猜单词游戏须要随机产生某个待猜想单词以及随机数字,因此引入random模块随机数函数。其中,random.choice()能够从序列中随机选取元素。app

在游戏中,随机挑出一个单词word后,把单词word的字母顺序打乱的方法是随机单词字符串中选择一个位置position,把position位置的字母加入乱序后的单词jumble,同时将原单词word中position位置的那个字母删去(经过链接position位置前字符串和其后字符串实现)。经过屡次循环就能够产生乱序后的新单词jumble。dom

3.random模块函数

random模块能够产生一个随机数或者从序列中获取一个随机元素。它的经常使用方法和用例子以下。工具

random.random开发工具

random.random()用于生成一个范围在0-1的随机小数n,(0≤n<1.0)。.net

random.uniform

random.uniform(a,b)用于生成一个指定范围内的随机小数,在两个参数中,一个是上限,一个是下限。若是a<b,则生成的随机数J2知足条件a≤n≤b;若是a>b,则b≤n≤a。

random.randint

random.randint(a,b)用于随机生成一个指定范围内的整数。其中,参数a是下限,参数b是上限,则生成的随机数n知足条件:a≤n≤b。

random.randrange

random.randrange([start),stop[,step])可从指定范围内,按指定基数递增的集合中获取一个随机数。如: random.randrange(10,100,2),结果至关于从10, 12,14,16,…,96,981序列中获取一个随机数。random.randrange(10,100,2)在结果上与random.choice(range(10,100,2)等效。

random.choice

random.choice可从序列中获取一个随机元素。其函数原型为:random(sequence)参数sequence表示一个有序类型,不是一种特定类型,而是泛指序列数据结构。列表( list)、元组(tuple)字符串都属于sequence。

random.shuffle

random.shuffle(x[,random])用于将一个列表中的元素的顺序打乱。

** random.sample**

random.sample(sequence,k)都可从指定序列中随机获取指定长度的片段。sample()函数不会修改原有序列。

4.程序设计步骤

1.在猜单词游戏程序中导入相关模块。

2.建立全部待猜想的单词序列元组WORDS。

3.显示游戏欢迎界面。

4.实现游戏的逻辑。

首先,从序列中随机挑出一个单词,如“easy”;而后打乱这个单词的字母顺序;接着,经过屡次循环就能够产生新的乱序后的单词jumble;最后,将乱序后的单词显示给玩家。

5.玩家输入猜想单词,程序判断对错。若玩家猜错,则能够继续猜。

5.参考代码

6.遇到的问题 (1)在调试的过程当中报了这样一个错误:SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 166-167: truncated。这个错误,其实引发这个错误的缘由就是转义的问题。 缘由分析:在windows系统当中读取文件路径能够使用\,可是在python字符串中\有转义的含义,如\t可表明TAB,\n表明换行,因此咱们须要采起一些方式使得\不被解读为转义字符。

解决方案:

一、在路径前面加r,即保持字符原始值的意思。 sys.path.append(r'c:\Users\mshacxiang\VScode_project\web_ddt')

二、替换为双反斜杠 sys.path.append('c:\Users\mshacxiang\VScode_project\web_ddt')

三、替换为正斜杠 sys.path.append('c:/Users/mshacxiang/VScode_project/web_ddt')

参考连接: http://www.javashuo.com/article/p-ramsxfmk-hp.html

7.运行结果

相关文章
相关标签/搜索