Python随机数random模块

随机数是指平均散布在某区间的数字,随机数其实用途很广,最常见的应用是设计游戏时可以控制输出结果。本篇实列将介绍几个random模块中最有用的几个方法。

randint()

这个方法可以随机产生指定区间的整数,它的语法如下。

randint(min, max)        #-可以产生min与max-之间的整数值

建立一个程序分别产生各三组在1~100、500~1000、2000~3000之间的数字。

import random

n = 3
for i in range(n):
    print("1-100 :", random.randint(1, 100))
for i in range(n):
    print("500-1000 :", random.randint(500, 1000))
for i in range(n):
    print("2000-3000 :", random.randint(2000, 3000))

执行结果:

Python随机数random模块

猜数字游戏。这个程序首先会用randint()方法产生一个1~10之间的数字,然后如果猜的数值太小会要求猜大一些,如果猜的数值太大会要求猜小一些,最后列出猜了几次才答对。

import random     # 导入模块random

min, max = 1, 10
ans = random.randint(min, max)
while True:
    num = int(input("请猜1-10之间数字: "))
    if num == ans:
        print("恭喜你答对了!!")
        break
    elif num < ans:
        print("请猜大一些")
    else:
        print("请猜小一些")

执行结果:

请猜1-10之间数字: 9
请猜小一些
请猜1-10之间数字: 1
请猜大一些
请猜1-10之间数字: 5
请猜小一些
请猜1-10之间数字: 3
请猜小一些
请猜1-10之间数字: 2
恭喜你答对了!!

choice()

这个方法可以让我们在一个列表中随机返回一个元素。

有一个水果列表,使用choice()方法随机选取一个水果。

import random     # 导入模块random

fruits = ['苹果', '香蕉', '西瓜', '水蜜桃', '百香果']
print(random.choice(fruits))

执行结果 下面是程序执行两次的执行结果。

水蜜桃

shuffle()

这个方法可以将列表元素重新排列,如果想要设计扑克牌游戏,在发牌前可以使用这个方法将牌打乱重新排列。

将列表内的扑克牌次序打乱,然后重新排列。

import random     # 导入模块random

porker = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']
random.shuffle(porker) # 将次序打乱重新排列
print(porker)

执行结果

['K', '10', '6', '4', '8', 'J', '2', '9', '5', 'Q', '7', 'A', '3']

将列表元素打乱,很适合老师出防止作弊的考题,例如,如果有50位学生,为了避免学生偷窥邻座的考卷,建议将出好的题目处理成列表,然后使用for循环执行50次shuffle(),这样就可以得到50份考题相同但是次序不同的考卷。

sample()

sample()方法与choice()方法类似,不过此方法可以产生n个随机数,数据类型是列表。它的语法如下。

lst=random.sample(列表或其他可迭代对象,数量)

大乐透开奖号码产生器。大乐透是由6个一般奖号与1个特别号所组成的,奖号数字是在1~49之间。

import random     # 导入模块random

nums = [n for n in range(1, 50)]
lottery = random.sample(nums, 7)
print("原始数据:", end="")
for n in lottery:
    print(n, end='\t')
print("")
specialN = lottery.pop()
lottery.sort()
print("酷客大乐透特别号 : %2d" % specialN)
print("酷客大乐透普通号 :", end="")
for n in lottery:
    print(n, end='\t')

执行结果:

Python随机数random模块

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!