随机生成一组数字,要求返回1-50范围内15个数量的不重复数字。

编写程序完成:随机生成一组数字,要求返回1-50范围内15个数量的不重复数字。python


import random

# 生成1-50的所有数字
numbers = list(range(1, 51))
# 随机选择其中15个数字作为结果
result = random.sample(numbers, 15)

# 输出结果
print(result)

首先生成1-50范围内的所有数字,使用range函数和list函数实现。然后,使用random模块中的sample函数从中随机选择15个数字,生成不重复的结果。

最后,输出结果,使用print函数将结果打印到控制台。

  • 这个问题的回答你可以参考下: https://ask.csdn.net/questions/7553909
  • 我还给你找了一篇非常好的博客,你可以看看是否有帮助,链接:Python中,数字1-5可以组成的互不相同且无重复数字的三位数。
  • 你还可以看下python参考手册中的 python- 定义扩展类型:已分类主题- 属性管理
  • 除此之外, 这篇博客: Python每日一练(15)-爬取网页中动态加载的数据中的 3. 如果数据为动态加载,那么我们如何捕获到动态加载的数据? 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • 在实现爬取动态加载的数据信息时,首先需要在浏览器的网络监视器中根据动态加载的技术选择网络请求的类型,然后通过逐个筛选的方式查询预览信息中的关键数据,并获取对应的请求地址,最后进行信息的解析工作即可。具体步骤如下:

    1. 在浏览器中快捷键F12打开开发者工具,然后选择Network(网络监视器)并在网络类型中选择JS,再按快捷键F5刷新,如下图所示。
      在这里插入图片描述
    2. 在请求信息的列表中,依次单击每个请求信息,然后在对应的Preview(请求结果预览)中核对是否为需要获取的动态加载数据,如下图所示。
      在这里插入图片描述
    3. 动态加载的数据信息核对完成后,单击Headers获取当前的网络请求地址以及所需参数,如下图所示。
      在这里插入图片描述
    4. 根据以上步骤获取到的请求地址,发送网络请求并从返回的信息中提取商品价格信息。笔者在代码中使用到了反序列化,关于json序列化和反序列化可以点击 此处 进行学习,代码如下:
      import requests
      import json
      
      # 获取商品价格的请求地址
      url = "https://c0.3.cn/stock?skuId=12464037&cat=1713,3259,3333&venderId=1000077923&area" \
            "=4_113_9786_0&buyNum=1&choseSuitSkuIds=&extraParam={%22originid%22:%221%22}&ch=1&fqsp=0&" \
            "pduid=1573698619147398205303&pdpin=jd_635f3b795bb1c&coord=&detailedAdd=&callback=jQuery6495921"
      jQuery_id = url.split("=")[-1] + "("
      # 头部信息
      headers = {
          "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) "
                        "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36"
      }
      # 发送网络请求
      response = requests.get(url, headers=headers)
      if response.status_code == 200:
          goods_dict = json.loads(response.text.replace(jQuery_id, "")[:-1])  # 反序列化
          print(f"当前售价为: {goods_dict['stock']['jdPrice']['op']}")
          print(f"定价为: {goods_dict['stock']['jdPrice']['m']}")
          print(f"会员价为: {goods_dict['stock']['jdPrice']['tpp']}")
      else:
          print("请求失败!")   	
      
      笔者在写博文的时候,价格发生了变化,运行结果如下图所示:
      在这里插入图片描述
      注意:爬取动态加载数据信息时,需要根据不同的网页使用不同的方式进行数据的提取。如果在运行源码时出现了错误,请根据操作步骤获取新的请求地址即可。
  • 您还可以看一下 董付国老师的Python可以这样学(第八季:课堂教学管理系统设计与开发实战)课程中的 补充功能:学生端通过鼠标拖放实现作业上传小节, 巩固相关知识点
  • 以下回答由chatgpt基于相关博客总结生成:

    使用Python可以通过以下步骤随机生成一组数字,保证返回的数字都在1-50范围内且不重复,数量为15个:

    1. 导入random库,使用random.sample()函数生成不重复的随机数序列,参数中设置范围为1-50,生成的数量为15个。

    2. 将随机数序列排序,采用sort()函数。

    3. 将随机数序列转为列表,可以使用list()函数或直接用中括号[ ]。

    以下是具体的代码实现:

    import random
    
    random_list = random.sample(range(1, 51), 15)  # 生成15个1-50内不重复的随机数序列
    random_list.sort()  # 排序
    print(random_list)  # 输出结果
    # 或者直接将随机数序列转为列表
    # random_list = list(random.sample(range(1, 51), 15))
    # 或
    # random_list = [random.randint(1, 50) for i in range(15)]