欢迎访问宙启技术站
智能推送

通过Python随机生成的20种_Outcome()结果

发布时间:2023-12-11 09:40:58

在Python中,我们可以使用random模块来生成伪随机数。随机数生成的结果可以用来模拟各种情景,例如模拟掷骰子、抽奖、随机生成密码等。下面是通过Python随机生成的20种_Outcome()结果,并附上相应的使用例子。

1. 随机生成布尔值(True或False):

import random

def Outcome():
    return random.choice([True, False])

result = Outcome()
print(result)  # 输出随机的布尔值,例如True

2. 随机生成整数:

import random

def Outcome():
    return random.randint(1, 100)

result = Outcome()
print(result)  # 输出1到100之间的随机整数,例如42

3. 随机生成浮点数:

import random

def Outcome():
    return random.random()

result = Outcome()
print(result)  # 输出0到1之间的随机浮点数,例如0.7835909151504424

4. 随机生成从给定序列中选择的元素:

import random

def Outcome():
    return random.choice(['apple', 'banana', 'orange'])

result = Outcome()
print(result)  # 输出给定序列中的一个元素,例如'banana'

5. 随机生成包含特定元素的字符串:

import random
import string

def Outcome():
    return ''.join(random.choice(string.ascii_letters) for _ in range(10))

result = Outcome()
print(result)  # 输出包含10个随机字母的字符串,例如'LqdJxzswaY'

6. 随机生成在指定范围内具有特定步长的整数:

import random

def Outcome():
    return random.randrange(0, 100, 5)

result = Outcome()
print(result)  # 输出0到100之间以5为步长的随机整数,例如90

7. 随机打乱列表的顺序:

import random

def Outcome():
    my_list = [1, 2, 3, 4, 5]
    random.shuffle(my_list)
    return my_list

result = Outcome()
print(result)  # 输出随机顺序的列表,例如[3, 4, 2, 5, 1]

8. 随机选择列表中的多个元素:

import random

def Outcome():
    my_list = [1, 2, 3, 4, 5]
    return random.sample(my_list, 2)  # 从列表中随机选择2个元素

result = Outcome()
print(result)  # 输出随机选择的2个元素,例如[4, 2]

9. 随机生成在指定范围内满足指定条件的整数:

import random

def Outcome():
    return random.randrange(1, 101, 2)  # 随机生成1到100之间的奇数

result = Outcome()
print(result)  # 输出1到100之间的随机奇数,例如53

10. 随机生成具有特定位数的二进制数:

import random

def Outcome():
    return bin(random.randint(0, pow(2, 8)))[2:].zfill(8)

result = Outcome()
print(result)  # 输出8位长度的随机二进制数,例如'01111101'

11. 随机生成具有特定位数的八进制数:

import random

def Outcome():
    return oct(random.randint(0, pow(8, 3)))[2:].zfill(3)

result = Outcome()
print(result)  # 输出3位长度的随机八进制数,例如'051'

12. 随机生成具有特定位数的十六进制数:

import random

def Outcome():
    return hex(random.randint(0, pow(16, 2)))[2:].zfill(2)

result = Outcome()
print(result)  # 输出2位长度的随机十六进制数,例如'1b'

13. 从指定序列中随机选择指定数量的元素并返回排列组合:

import random
import itertools

def Outcome():
    my_list = ['red', 'green', 'blue']
    return list(itertools.permutations(random.sample(my_list, 2)))

result = Outcome()
print(result)  # 输出随机选择的2个元素的全排列组合,例如[('blue', 'green'), ('blue', 'red'), ('green', 'blue'), ('green', 'red'), ('red', 'blue'), ('red', 'green')]

14. 从指定序列中随机选择指定数量的元素并返回组合:

import random
import itertools

def Outcome():
    my_list = ['red', 'green', 'blue']
    return list(itertools.combinations(random.sample(my_list, 2), 2))

result = Outcome()
print(result)  # 输出随机选择的2个元素的组合,例如[('blue', 'green'), ('blue', 'red'), ('green', 'red')]

15. 随机生成日期:

import random
from datetime import date, timedelta

def Outcome():
    start_date = date(2000, 1, 1)
    end_date = date(2022, 12, 31)
    random_date = start_date + timedelta(days=random.randint(0, (end_date - start_date).days))
    return random_date

result = Outcome()
print(result)  # 输出2000年1月1日到2022年12月31日之间的随机日期,例如2019-11-05

16. 随机生成时间:

import random
from datetime import datetime, timedelta

def Outcome():
    start_time = datetime.strptime('00:00:00', '%H:%M:%S').time()
    end_time = datetime.strptime('23:59:59', '%H:%M:%S').time()
    random_time = (datetime.combine(date.today(), start_time) + timedelta(seconds=random.randint(0, int((datetime.combine(date.today(), end_time) - datetime.combine(date.today(), start_time)).total_seconds()))))).time()
    return random_time

result = Outcome()
print(result)  # 输出00:00:00到23:59:59之间的随机时间,例如14:35:42

17. 从指定序列中随机选择一个元素并返回特定长度的重复序列:

import random
import itertools

def Outcome():
    my_list = ['A', 'B', 'C']
    return list(itertools.product(random.choices(my_list), repeat=3))

result = Outcome()
print(result)  # 输出随机选择的一个元素重复3次的所有组合,例如[('B', 'B', 'A'), ('B', 'B', 'B'), ('B', 'B', 'C'), ('B', 'A', 'A'), ('B', 'A', 'B'), ('B', 'A', 'C'), ('B', 'C', 'A'), ('B', 'C', 'B'), ('B', 'C', 'C'), ('A', 'B', 'A'), ('A', 'B', 'B'), ('A', 'B', 'C'), ('A', 'A', 'A'), ('A', 'A', 'B'), ('A', 'A', 'C'), ('A', 'C', 'A'), ('A', 'C', 'B'), ('A', 'C', 'C'), ('C', 'B', 'A'), ('C', 'B', 'B'), ('C', 'B', 'C'), ('C', 'A', 'A'), ('C', 'A', 'B'), ('C', 'A', 'C'), ('C', 'C', 'A'), ('C', 'C', 'B'), ('C', 'C', 'C')]

18. 随机生成具有特定长度和特定字符的密码:

import random
import string

def Outcome():
    password_length = 8
    characters = string.ascii_letters + string.digits + string.punctuation
    return ''.join(random.choice(characters) for _ in range(password_length))

result = Outcome()
print(result)  # 输出具有8个字符的随机密码,例如'u#GfEkn8'

19. 随机生成具有特定位数的十