PYTHON练习题 二. 使用random中的randint函数随机生成一个1~100之间的预设整数让用户键盘输入所猜的数。

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
文章来自:https://www.cnblogs.com/halooyan/p/9011839.html
© 2021 jiaocheng.bubufx.com  联系我们
ICP备案:鲁ICP备09046678号-3