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. c# 单元测试工程如何取得当前项目路径

    前言: C#工程项目中有些配置文件,数据文件等不是C#工程文件,但是程序中需要访问,如果写成绝对路径不利于程序的迁移,所以必须写成相对路径.取得相对路径的方法很多,网上的例子也很多,基本上是七种吧,这 ...

  2. ROS_Kinetic_09 ROS基础内容(四)

    ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...

  3. UICollectionView请求网络数据显示(Text)

    TEXT: AppDelegate.m self.window.rootViewController = [[[UINavigationController alloc]initWithRootVie ...

  4. C++ Primer 有感(标准库vector及迭代器)

    vector是同一种对象的集合,每个对象都有一个对应的整数索引值.和string对象一样,标准库将负责管理与存储元素相关的类存.引入头文件 #include<vector> 1.vecto ...

  5. 总账:日记账导入流程(文档 ID 1591640.1)

    文档内容   概要   历史记录   详细信息   GL_INTERFACE_CONTROL   GL_INTERFACE_HISTORY   GL_IMPORT_REFERENCES   摘要   ...

  6. oracle ebs应用产品安全性-安全性规则

    定义: 通过为段指定包括下限值与上限值的值范围,可以定义安全性规则要素.安全性规则要素适用于包括在指定值范围内的所有段值. 可以将每个安全性规则要素标识为"包括"或"排除 ...

  7. H5学习之旅-H5的新特性(1)

    随着H5的发展,网页开发呈现了跨平台的特性,目前H5是兼容各大平台的,这也为一些其他的技术的跨平台开发提供了基础,所以我预测后H5会成为很重要的开发语言 新特性介绍 1.用于回话的canvas标签 2 ...

  8. EBS 可拓展的外部信用风险导入

    DECLARE l_msg_count NUMBER; l_msg_data VARCHAR2(2000); l_return_status VARCHAR2(30); l_cc_hold_comme ...

  9. 新手自定义view练习实例之(二) 波浪view

    本系列是为新手准备的自定义view练习项目(大牛请无视),相信在学习过程中,想学自定义view又无从下手,不知道做什么.本系列为新手提供了一系列自定义view的简单实例.看过理解之后,自己实现,相信会 ...

  10. 优雅的App完全退出方案(没有任何内存泄漏隐患)

    在Android开发过程中,特别是界面比较多的情况下,用平常的退出方式往往是不能完全退出这个应用,网络上也好多各种退出方案.其中一种应该是被广大开发者采纳使用,也非常的清晰方便,就是在Applicat ...