首页 > 代码库 > 预先封装数据的思路.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 = 0 
  4. cmax = 10001 
  5.  
  6. data = http://www.mamicode.com/{r: {‘send‘: ‘Answer‘, ‘username‘: name, ‘math‘: str(r)} for r in range(cmin, cmax)} 

用法:
猜5000 == 调用 data[5000]
猜2003 == 调用 data[2003]

同样的思路继续往底层发散:
底层HTTP库需要处理和拼接的数据都是一样的,硬件网卡需要发送的数据都是一样的,
所以可以考虑在更底层的方面封装好数据。甚至定制专门用于发送数据的硬件。
我自己做不到,脑补一下还是感觉很嗨,虽然即使能做得到也没有什么卵用。

预先封装数据的思路.md