Python案例: 采集糖豆网站的数据内容

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

素材、教程、代码、插件安装教程我都准备好了,直接点击此处跳转文末名片领取

环境:

  • python 3.8

  • pycharm 2022.3专业版

模块:

  • requests

第三方模块安装:

requests 是导入数据请求模块,属于第三方模块,

需要在cmd里面或者pycharm终端里面进行安装 pip install requests 安装。

代码实现步骤:

  1. 发送请求

  2. 获取数据

  3. 解析数据

  4. 保存数据

采集网站:

代码展示:

(这里网址我就屏蔽啦~你们自行添加或文末名片获取完整代码)

导入数据请求模块

import requests

请求链接

url = 'https:// ******** /mtangdou/home/feed?page=2&num
这是一个经典的动态规划问题,可以使用递归和记忆化搜索来解决。定义一个函数`win_probability(w, b)`,表示在有w个超甜糖豆和b个普通糖豆的情况下,小Q获胜的概率。 根据题目要求,如果超甜糖豆数量为0,小Q必输,概率为0。如果超甜糖豆数量大于0,小Q有两种选择: 1. 小Q吃一个超甜糖豆,变成有w-1个超甜糖豆和b个普通糖豆的情况。此时轮到小K先吃,小Q的获胜概率为`win_probability(w-1, b)`。 2. 小Q吃一个普通糖豆,变成有w个超甜糖豆和b-1个普通糖豆的情况。此时轮到小K先吃,小Q的获胜概率为`win_probability(w, b-1)`。 综上所述,可以得到递归的表达式:`win_probability(w, b) = w / (w + b) + (b / (w + b)) * win_probability(w, b-1)`。 为了避免重复计算,可以使用一个字典来保存中间结果。具体代码实现如下: ```python def win_probability(w, b, memo={}): if w == 0: return 0.0 if b == 0: return 1.0 if (w, b) in memo: return memo[(w, b)] total = w + b probability = w / total + (b / total) * win_probability(w, b-1) memo[(w, b)] = probability return probability w, b = map(int, input().split()) result = win_probability(w, b) print("{:.9f}".format(result)) ``` 注意,在递归函数中,首先检查是否已经计算过当前情况的结果,如果是则直接返回,避免重复计算。同时,为了保证输出精度,使用`"{:.9f}".format(result)`将结果保留9位小数。 希望对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值