天天看点

预先封装数据的思路.md预先封装数据的思路.md

预先封装数据的思路.md

python3

最近有两位同学开发开发了用程序在线竞猜数字的小游戏,可以通过以下两个网址去玩:

bbaa的游戏 http://bbaass.tk/math/

codetiger的游戏 http://www.codetiger.win/extra/index.php

以bbaa的游戏为例,是猜1-10000之间的一个数字,第一猜5000,和之后的每一次猜5000,

你需要发送的数据总是一样的,所以可以预先把数据封装起来备用,直觉上觉得可以节约极其少量的时间。

比如你第一猜5000,你需要发送的数据格式下:

{"Send": "Aaswer", "useranme": "codegay", "math": "5000"}

后来你第二次猜5000,你还是需要发送如下数据:

{"Send": "Aaswer", "useranme": "codegay", "math": "5000"}

依此类推第三次猜5000,只要数字相同,需要发送的数据都是相同的:

{"Send": "Aaswer", "useranme": "codegay", "math": "5000"}

那干脆就先把所有可能需要发送的数据先封装起来备用咯,python3代码如下:

  1. apiurl = "http://bbaass.tk/math/" 
  2. name = "codegay" 
  3. cmin =  
  4. cmax =  
  5. data = {r: {'send': 'Answer', 'username': name, 'math': str(r)} for r in range(cmin, cmax)} 

用法:

猜5000 == 调用

data[5000]

猜2003 == 调用

data[2003]

同样的思路继续往底层发散:

底层HTTP库需要处理和拼接的数据都是一样的,硬件网卡需要发送的数据都是一样的,

所以可以考虑在更底层的方面封装好数据。甚至定制专门用于发送数据的硬件。

我自己做不到,脑补一下还是感觉很嗨,虽然即使能做得到也没有什么卵用。

转载于:https://www.cnblogs.com/gayhub/p/7253349.html