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之间的预设整数让用户键盘输入所猜的数。的更多相关文章

  1. 从list中取N个随机生成一个集合

    在工作中发现有很多有序算法,较少见到一些可用的无序随机算法.无序随机算法的目的是让客户感觉每次都不一样,因为一直看一样的会审美疲劳哈. 在jdk自带一种CollectionUtils.shuffle& ...

  2. python练习题(持续更新中。。。。。)

    1.检验注册用户是否合法:需要输入用户名,校验用户名是否被注册,如已注册,提示已经注册过,没注册就可以注册:用户名不能为空:用户名长度必须在6-13位之间:最多只能输入三次. users = ['aa ...

  3. 【c语言】二维数组中的查找,杨氏矩阵在一个二维数组中,每行都依照从左到右的递增的顺序排序,输入这种一个数组和一个数,推断数组中是否包括这个数

    // 二维数组中的查找,杨氏矩阵在一个二维数组中.每行都依照从左到右的递增的顺序排序. // 每列都依照从上到下递增的顺序排序.请完毕一个函数,输入这种一个数组和一个数.推断数组中是否包括这个数 #i ...

  4. python接口自动化中,注册接口随机生成手机号码

    如大家所知在注册接口中,手机号参数需要的是未注册的手机号,而在测试用例中,你写入的手机号不一定是未注册的.所以这时需要对注册接口中传入的手机号做处理.下面我就分享一个课程里面学到的一个处理手机号的py ...

  5. 九十二、SAP中ALV事件之六,复制一个标准工具栏到自己的程序

    一.我们来到SE41,点击复制状态按钮 二.点击复制状态后,弹出一个框框,上面是模板内容,下面是我们自己的程序 三.我们根据上一篇的标准模板内容,填好相应的模板和我们的程序的内容 三.点击复制按钮 五 ...

  6. 利用Python完成一个小游戏:随机挑选一个单词,并对其进行乱序,玩家要猜出原始单词

    一 Python的概述以及游戏的内容 Python是一种功能强大且易于使用的编程语言,更接近人类语言,以至于人们都说它是“以思考的速度编程”:Python具备现代编程语言所应具备的一切功能:Pytho ...

  7. 随机获取一个集合(List, Set)中的元素,随机获取一个Map中的key或value

    利用Java提供的Random类.从List或Set中随机取出一个元素,从Map中随机获取一个key或value. 因为Set没有提供get(int index)方法,仅仅能先获取一个随机数后.利用一 ...

  8. while ((ch = getchar()) != EOF)中ch定义为char还是int型?cin、scanf等如何结束键盘输入

    2013-07-09 18:55:42 EOF是文件的结束符,具体可以作为文本文件的结束符,也可以作为键盘输入char类型数据时的结束符.对于不同的系统,EOF的定义可能不同,一般定义为-1.因为ch ...

  9. js随机生成一个数组中的随机字符串以及更新验证码

    随机生成m,n范围的值得公式: Math.random()*(n-m)+m: 改正公式:Math.random()*(n+1-m)+m // 生成随机字符串function randomMixed(n ...

随机推荐

  1. bootmgr解压缩

    主要参考以下两个文章: 1.  http://bbs.wuyou.com/forum.php?mod=viewthread&tid=211314 2.  http://reboot.pro/f ...

  2. ORACLE收集统计信息

    1.     理解什么是统计信息 优化器统计信息就是一个更加详细描述数据库和数据库对象的集合,这些统计信息被用于查询优化器,让其为每条SQL语句选择最佳的执行计划.优化器统计信息包括: ·       ...

  3. android ndk编译项目(android-ndk-16r1)

    由于采用android-ndk-16r1版本的ndk来编译 编译的环境之类在这里省略,注意是最后编译的命令如下 Administrator@WIN-AF6P80LVIJ0 ~ $ cd $ANDROI ...

  4. AngularJS进阶(二十四)AngularJS与单选框及多选框的双向动态绑定

    AngularJS与单选框及多选框的双向动态绑定      赠人玫瑰,手留余香.若您感觉此篇博文对您有用,请花费2秒时间点个赞,您的鼓励是我不断前进的动力,共勉! AngularJS 在 <in ...

  5. android Timer与TimerTask的相关操作

    项目上面的部分操作需要使用到定时器进行周期性的控制.网络上面对于定时器的操作通常有三种实现方法. 我是通过Timer与TimerTask相结合实现的定时器功能.具体实现过程如下: 第一步,得到Time ...

  6. java的参数传递与内存分配问题

    本文可作为北京尚学堂java课程的学习笔记. 看下面这段代码. class BirthDate { private int day; private int month; private int ye ...

  7. LIRe 源代码分析 2:基本接口(DocumentBuilder)

    ===================================================== LIRe源代码分析系列文章列表: LIRe 源代码分析 1:整体结构 LIRe 源代码分析 ...

  8. Sping--ApplicationEvent

    //让其他的应用事件继承它 public abstract class ApplicationEvent extends EventObject { /** use serialVersionUID ...

  9. Linux磁盘 - fdisk,partprobe, mkfs, mke2fs, fsck, badblocks, mount, mknod

    磁盘分区: fdisk [root@www ~]# fdisk [-l] 装置名称 选项与参数: -l :输出后面接的装置所有的 partition 内容.若仅有 fdisk -l 时, 则系统将会把 ...

  10. PS 图像调整算法——自动色阶 (Auto Levels)

    PS 给出的定义: Enhance Per Channel Contrast:Maximizes the tonal range in each channel to produce a more d ...