vad342 2024-04-20 10:05 采纳率: 62.5%
浏览 3
已结题

python随机数生成

python的种子是怎么用

从字符串 '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&\()*+,-.' 中每次随机抽取 1 个字符,重复 n 次,用取得的字符构成的一个新字符串用做密码,密码长度 n 和随机数种子 s 由用户输入。

本题必须使用random.choice()函数进行随机抽取

输入格式
在一行内输入2个正整数 n 和 s,分别表示密码长度和随机数种子,数字间用半角逗号分隔。

输出格式
一个长度为 n 字符串

示例
输入:

10,5

输出:

wJ&3Xv6keL

  • 写回答

3条回答 默认 最新

  • Kwan的解忧杂货铺 Java领域优质创作者 2024-04-20 10:05
    关注

    上午好☀️☀️☀️️
    本答案参考ChatGPT-3.5

    问题分析:

    本题需要生成一个 n 长度的密码,其中每个字符从指定的字符集中随机抽取。而且要求每次生成的密码相同,需要通过设置随机数种子实现。因此解决问题的关键点为:

    1. 如何从指定字符集中随机抽取一个字符?

    2. 如何生成固定的随机数?

    3. 如何将多个字符组合成字符串?

    解决方案:

    1. random.choice()函数可以从指定序列中随机选择一个元素。因此,从字符集中随机抽取一个字符可以通过以下代码实现:
    import random
    
    chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&()*+,-.'
    random_char = random.choice(chars)
    
    1. random.seed()函数可以设置随机数种子。每次调用随机函数时,如果传入相同的种子,就会生成相同的随机数序列。可以通过用户输入的种子来设置随机数种子:
    seed = int(input()) # 用户输入的随机数种子
    random.seed(seed) # 设置随机数种子
    
    1. 通过循环调用 random.choice() 函数并将返回的字符添加到一个列表中,最后通过 ''.join(list) 把列表中的所有字符拼接成字符串。

    完整代码如下:

    import random
    
    # 用户输入密码长度和随机数种子
    n, s = map(int, input().split(','))
    
    # 随机生成密码
    random.seed(s) # 设置随机数种子
    chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&()*+,-.'
    password = []
    for i in range(n):
        password.append(random.choice(chars))
    password = ''.join(password)
    
    print(password)
    

    注意:

    1. 代码第3行使用了 map() 函数将输入的字符串 '10,5' 转换成了包含两个整数的元组,返回结果为 (10, 5)。

    2. 代码第8行将随机生成的字符添加到 password 列表中。

    3. 代码第9行通过 ''.join(password) 将 password 中的所有字符拼接成字符串。

    4. 在使用 random.choice() 函数前需要导入 random 模块。

    参考文献:

    Python 官方文档:https://docs.python.org/3/library/random.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月28日
  • 已采纳回答 4月20日
  • 创建了问题 4月20日

悬赏问题

  • ¥20 测距传感器数据手册i2c
  • ¥15 RPA正常跑,cmd输入cookies跑不出来
  • ¥15 求帮我调试一下freefem代码
  • ¥15 matlab代码解决,怎么运行
  • ¥15 R语言Rstudio突然无法启动
  • ¥15 关于#matlab#的问题:提取2个图像的变量作为另外一个图像像元的移动量,计算新的位置创建新的图像并提取第二个图像的变量到新的图像
  • ¥15 改算法,照着压缩包里边,参考其他代码封装的格式 写到main函数里
  • ¥15 用windows做服务的同志有吗
  • ¥60 求一个简单的网页(标签-安全|关键词-上传)
  • ¥35 lstm时间序列共享单车预测,loss值优化,参数优化算法