random标准库

前言:random库是python的标准库之一,在程序设计时用于生成随机数。random库在使用时,也需要用import保留字对其进行引用(import random),若没有则会报错。Random库的引用方式与turtle库的引用方式一样。random库包含两大类函数,基础随机函数和扩展随机函数,接下来就一一介绍这两函数的使用方式。

一.基础随机函数

 函数说明
random()生成[0.0,1.0]之前的小数
seed()初始化随机种子,默认值为当前系统时间

random()函数代码如下:

>>>import random
>>>random.random()
>>>0.9412784270409345
>>>random.random()
>>>0.040522180747599834

seed()函数:对后续产生的随机数设置种子a,使用随机数的种子的优点是可以复现有技术的程序。当seed()函数的参数a等于

None时,每次生成的随机数是不一样的;seed()函数的参数a不为None时,每次生成的随机数是一样的,并且选择不同的参数a时,所生成的随机数序列也不一样。代码如下:

>>>from random import *
>>>#设置随机数种子
>>>seed(10)
>>>random()
0.5714025946899135
>>>random()
0.4288890546751146
>>>#再次设置相同的种子,则后续产生的随机数相同
>>>seed(10)
>>>random()
0.5714025946899135
>>>random()
0.4288890546751146
>>>#再次设置不同的种子,则后续产生的随机数不同
>>>seed(7)
>>>random()
0.32383276483316237
>>>random()
0.15084917392450192

注意:在引用random库的时候,from random import * 和 import random 是不一样的,前一种方式可以直接使用模块中的函数和对象,无需在前面加上模块前缀,例如:

>>>from random import *
>>>random()
0.5714025946899135

在使用后在引用时则需要加上模块前缀,例如:

>>>import random
>>>random.random()
0.06294078293936611

二.扩展随机函数

在random库中,最基本的random()和seed()函数功能比较单一,所以在基本函数基础上产生了扩展随机函数。

函数说明
randint(a,b)生成一个[a,b]之前的整数
getrandbits(k)生成一个k比特长度的随机整数

randrange(start,stop[,step])

生成一个[start,step]之前以step为步数的随机整数
uniform(a,b)生成一个[a,b]之前的随机小数
choice(seq)以序列类型(例如:列表)中随机返回一个元素
shuffle(seq)将序列类型中元素随机排序,返回打乱后的序列
sample(seq,k )从序列类型中随机选取k个元素,以列表类型返回

randint(a,b):生成一个[a,b]之前的整数

>>>import random
>>>random.randint(1,10)#随机生成[1,10]之间的整数
1

genrandbits(k):生成一个k比特长度的随机整数

>>>import random
>>>random.getrandbits(4)
1
>>>random.getrandbits(4)
13
>>>random.getrandbits(7)
46
>>>random.getrandbits(16)
59618
>>>random.getrandbits(32)
2179419893
>>>random.getrandbits(42)
255906125917

randrange(start,stop[,step]):生成一个[start,step]之前以step为步数的随机整数

>>>import random
>>>random.randrange(1,11)#随机生成[1,10]之间的整数
9
>>>random.randrange(1,10,2)#随机生成[1,10]之间的奇数
5

uniform(a,b):生成一个[a,b]之前的随机小数

>>>import random
>>>random.uniform(1,10)#随机生成[1,10]之间的小数
4.103746344594901

choice(seq):以序列类型(例如:列表)中随机返回一个元素

>>>import random
>>>random.choice('hello world')
'r'
>>>random.choice(['我','想','上','班'])
'上'

shuffle(seq):将序列类型中元素随机排序,返回打乱后的序列

>>>import random
>>>a=['我','想','上','班']
>>>random.shuffle(a)#将列表里的元素随机排序
>>>a
['我', '上', '想', '班']

sample(seq,k ):从序列类型中随机选取k个元素,以列表类型返回

>>>import random
>>>random.sample(['我','想','上','班'],2)
['班', '我']
>>>random.sample('hello world',3)
['r', 'd', 'e']

总结:

random库分两大类,基本随机函数和扩展随机函数,扩展随机函数是建立在基本随机函数上的,可以掌握并熟练运用,同时需要注意在库的引用方式不同的时候,使用方式不同(模块前缀加不加),最后,希望大家生活愉快。

Python中,你可以利用`random`来模拟随机选择石头、剪刀或布的手势。这里是一个简单的例子,展示如何编写一个三局两胜的人机石头剪刀布游戏: ```python import random # 定义游戏选项 options = ['rock', 'paper', 'scissors'] def game_round(player_choice): computer_choice = random.choice(options) print(f"Player chose: {player_choice}") print(f"Computer chose: {computer_choice}") if player_choice == computer_choice: result = "It's a tie!" elif (player_choice == 'rock' and computer_choice == 'scissors') or \ (player_choice == 'paper' and computer_choice == 'rock') or \ (player_choice == 'scissors' and computer_choice == 'paper'): result = "You win!" else: result = "Computer wins!" return result def play_game(): for round_num in range(1, 4): print(f"Round {round_num}:") player_input = input("Enter your choice (rock/paper/scissors): ") while player_input not in options: print("Invalid choice! Please try again.") player_input = input() outcome = game_round(player_input) print(outcome) if round_num == 2: # 如果已经打完两局,判断胜负 if outcome == "You win!" * 2: print("Congratulations! You've won the game!") break elif outcome == "Computer wins!" * 2: print("Sorry, you lost. Better luck next time!") break else: print("Let's continue to the final round!") play_game() ``` 在这个程序中,玩家输入他们的选择,电脑随机选择,然后根据规则判断胜负。如果到了第二局结束,会直接宣布结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值