毫无头绪,Python题

img


怎么做?233333333333333333333333333333333333

这个需求看过了,可以使用学号m和初始值n作为种子,并结合一定的数学运算来产生随机数。

可以将学号m和初始值n作为种子,通过SHA256哈希算法计算种子的哈希值。然后,我们取哈希值的前5位作为随机数的小数部分,再将小数部分与初始值n相加,得到最终的随机数。这样,对于相同的初始值n和相同的学号m,将生成相同的随机数,而对于不同的初始值或学号,生成的随机数也会不同。

import hashlib

def generate_random_number(n, m):
    # 将学号m和初始值n组合成字符串作为种子
    seed = str(n) + str(m)
    
    # 使用SHA256哈希算法计算种子的哈希值
    hash_value = hashlib.sha256(seed.encode()).hexdigest()
    
    # 取哈希值的前5位作为随机数的小数部分
    decimal_part = int(hash_value[:5], 16) / 0xFFFFF
    
    # 将随机数的小数部分与初始值n相加,得到最终的随机数
    random_number = decimal_part + n
    
    return random_number

# 输入初始值n和学号m
n = int(input("请输入初始值n: "))
m = input("请输入学号m: ")

# 调用函数生成随机数
random_number = generate_random_number(n, m)

print("生成的随机数为:", random_number)

输入学号即可:

img