Python 练习
标签: Python Python练习题 Python知识点
二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数,如果大于预设的数,屏幕显示“太大了,请重新输入”如果小于预设的数,屏幕显示“太小了,请重新输入”如此循环,直到猜中,显示“恭喜你,猜中了!共猜了N次”N为用户猜测次数.
答案:
import random
def guess_number():
true_num = random.randint(1, 100)
user_num = int(input("请输入一个整数:"))
count = 1
while true_num != user_num:
if true_num > user_num:
print("太小了,请重新输入!")
elif true_num < user_num:
print("太大了,请重新输入!")
count += 1
user_num = int(input("请输入一个整数:"))
print("恭喜您,您猜对了!您一共猜了%d次" % count)
guess_number()
知识点
1.Python中的random模块
1.1 random 模块简介
Python标准库中的random函数,可以生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱一组数据等。
1.2 random 模块方法说明
- random.random(): 函数会生成一个随机的浮点数,范围是在0.0~1.0之间
In [2]: import random
In [3]: random.random()
Out[3]: 0.6935051182120364
- random.uniform(a, b): 函数随机生成一个处于范围[a,b]的浮点数
In [26]: random.uniform(0, 100)
Out[26]: 26.977426505683276
- random.randint(a, b): 随机生成一个范围[a, b]内的整数(int类型)
In [28]: random.randint(1,2)
Out[28]: 2
In [29]: random.randint(1,2)
Out[29]: 1
- random.choice(): 可以从任何序列,比如list列表中,选取一个随机的元素返回,可以用于字符串、列表、元组等。
参数为列表时:
In [31]: random.choice([1,2,3])
Out[31]: 3
In [32]: random.choice([1,2,3])
Out[32]: 1
参数为字符串时:
In [38]: random.choice("i am a bad boy")
Out[38]: 'y'
In [39]: random.choice("i am a bad boy")
Out[39]: 'b'
参数为元祖时:
In [41]: random.choice((1,3,7,4))
Out[41]: 1
In [42]: random.choice((1,3,7,4))
Out[42]: 7
- random.shuffle: 如果你想将一个序列(不包括元祖和字符串)中的元素,随机打乱的话可以用这个函数方法
In [49]: list = [1,2,3,4]
In [50]: random.shuffle(list)
In [51]: list
Out[51]: [4, 2, 1, 3]
- random.sample(a, b): 从序列a中随机且独立的截取指定长度b的片段。
In [58]: b = (9,9,9,1,2)
In [59]: random.sample(b, 2)
Out[59]: [9, 1]
In [60]: random.sample(b, 2)
Out[60]: [1, 9]
In [61]: random.sample(b, 2)
Out[61]: [1, 9]
In [62]: random.sample(b, 2)
Out[62]: [1, 9]
In [63]: random.sample(b, 2)
Out[63]: [2, 9]
In [64]: list = [1,2,3,5,7,94,2]
In [65]: random.sample(list, 3)
Out[65]: [1, 5, 7]
In [66]: random.sample(list, 3)
Out[66]: [2, 2, 5]
In [67]: random.sample("i am a bad boy", 3)
Out[67]: [' ', 'a', 'b']
In [68]: random.sample("i am a bad boy", 3)
Out[68]: ['a', 'y', 'b']
2. python中random模块的randint与numpy.random模块的randint的区别
random.randint(a, b) # 随机返回闭区间 [a, b] 范围内的整数值
numpy.random.randint(a, b) # 随机返回开区间 [a, b) 范围内的整数值
In [69]: random.randint(0,1)
Out[69]: 0
In [70]: random.randint(0,1)
Out[70]: 1
In [71]: numpy.random.randint(0,1)
Out[71]: 0
In [72]: np.random.randint(0,1)
Out[72]: 0
PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。的更多相关文章
-
从list中取N个随机生成一个集合
在工作中发现有很多有序算法,较少见到一些可用的无序随机算法.无序随机算法的目的是让客户感觉每次都不一样,因为一直看一样的会审美疲劳哈. 在jdk自带一种CollectionUtils.shuffle& ...
-
python练习题(持续更新中。。。。。)
1.检验注册用户是否合法:需要输入用户名,校验用户名是否被注册,如已注册,提示已经注册过,没注册就可以注册:用户名不能为空:用户名长度必须在6-13位之间:最多只能输入三次. users = ['aa ...
-
【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数
// 二维数组中的查找,杨氏矩阵在一个二维数组中.每行都依照从左到右的递增的顺序排序. // 每列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个数组和一个数.推断数组中是否包括这个数 #i ...
-
python接口自动化中,注册接口随机生成手机号码
如大家所知在注册接口中,手机号参数需要的是未注册的手机号,而在测试用例中,你写入的手机号不一定是未注册的.所以这时需要对注册接口中传入的手机号做处理.下面我就分享一个课程里面学到的一个处理手机号的py ...
-
九十二、SAP中ALV事件之六,复制一个标准工具栏到自己的程序
一.我们来到SE41,点击复制状态按钮 二.点击复制状态后,弹出一个框框,上面是模板内容,下面是我们自己的程序 三.我们根据上一篇的标准模板内容,填好相应的模板和我们的程序的内容 三.点击复制按钮 五 ...
-
利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词
一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...
-
随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value
利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...
-
while ((ch = getchar()) != EOF)中ch定义为char还是int型?cin、scanf等如何结束键盘输入
2013-07-09 18:55:42 EOF是文件的结束符,具体可以作为文本文件的结束符,也可以作为键盘输入char类型数据时的结束符.对于不同的系统,EOF的定义可能不同,一般定义为-1.因为ch ...
-
js随机生成一个数组中的随机字符串以及更新验证码
随机生成m,n范围的值得公式: Math.random()*(n-m)+m: 改正公式:Math.random()*(n+1-m)+m // 生成随机字符串function randomMixed(n ...
随机推荐
- java 的public private protected作用域
-
HTML中网页超链接设计
一.超链接的概念: 1>用<a>标签实现.href属性设置了要链接的网址. 链接路径URL:Uniform Resource Locator的缩写.统一资源定位符. 4部分组成:协议 ...
-
hdu 1728 bfs **
简单bfs,记录好状态即可 #include<cstdio> #include<iostream> #include<algorithm> #include< ...
-
Markdown 使用说明
使用说明 ========= @[手册|帮助|Markdown] - **马克飞象**是一款专为印象笔记打造的Markdown编辑器. - 特别需要说明的一点是增加了`@(笔记本)[标签]`语法,以此 ...
-
2014-08-01 ASP.NET中对SQLite数据库的操作——ADO.NET
今天是在吾索实习的第18天.我主要学习了如何在ASP.NET中对SQLite数据库的操作,其基本操作如下: 添加引用System.Data.SQLite.dll(PS:在网页里面任意找到适合的.NET ...
-
svg动画学习
首先我们定义一块画布,然后在上面画一个圆形. 他看起来应该是这个样子的:(每一个实例我都会附加图片以及demo链接,方便直观的理解与源代码的查看,查看的时候请使用标准浏览器) 点击查看Demo 现在我 ...
-
【NOIP2016提高组】蚯蚓
https://www.luogu.org/problem/show?pid=2827 首先考虑暴力:每次都是拿最长的蚯蚓,容易想到用堆.每次除拿出来的以外所有的蚯蚓都增长,容易想到用一个懒惰标记来记 ...
-
C# winForm资源文件实现多语言切换
这是我目前看到过最简单的多语言切换了 操作步驟 介面上的多語 Step1.將表單的Localizable屬性設為True Step2.切換表單的Language屬性為欲使用的語系 設完後會在分頁標籤上 ...
-
Vim8.0在Debian下,normal模式的O命令出现延时
Update 2018/4/26 问题是什么 在Debian的Vim8.0中,normal模式下,使用O创建新行,常常出现延迟情况:按下O后,可以看见O首先在当前光标位置出现,过了大约0.5-1秒,接 ...
-
独立使用Asp.net Core 的razor模板 (一):Razor引擎的一些细节
由于最近需要写一些界面稍微好看点的Winform程序,如果用原生控件,,想要达到好看的程度,需要花费比较大的功夫,因为之前使用过CefSharp,因此发觉如果是使用CEF+Html的方式,界面可以相对 ...