Pro158-泡面Python[Py#058]——5min-EasyCase 数值转换

Python

3分钟练习

数列计算和转换

 今天我们来学习一下,如何将下列的数值转换成为16进制发送方式。

参数表

 在这里我不能说明这是什么参数,但是可以说这类型的参数可以用在现在非常非常多互联网、制造业的程序上。
【吉米:我想问下为什么课程突然的跳脱?】
 是这样的,我写这些教程的时候,会切换电脑,例如在公司写,在宿舍写,在家写,在M记写,每个地点都会换电脑。所以有时候看到是 Idle ,有时候看到是 Anaconda 的 Spyder 或者 Jupyter 甚至是文本文件。
 至于内容上的跳脱,一般我的内容是有一个脉络的,当时会临时根据当天遇到的实际状况改为别的实用内容。做完这些特别篇又会转回之前的设定的方向。就类似玩游戏会有主线和支线这样的结构一样。


代码构建和效果展示

转换要求

 要将这些数值转换成分钟数值,以便于发送给终端设备。
 因此我们会遇到一种问题,就是转换成分钟后,这些数值会非常大,而传输的时候只能有 4位 16进制数,也就是 FFFF (65535)为界限,这样会需要高低位传输。

def cut(num):
    h = 0
    l = 0
    if num < 65536:
        l = num
    else:
        h = num // 65536
        l = num % 65536
    return h,l

useri = 65537
print(cut(useri))

useri = int(input())
print(cut(useri))

 正如我们所知,十六进制的 FFFF 对应 十进制的 65535,当满足 65536 的时候,就会往高位进一位,这么就可以通过 // 整除 和 &=% 求余两种特殊除法来完成这一步。

分割高低位

 我们可以结合以前的 while 循环,做成一个查询式的死循环。

嘛最好不要这样做,会显得很萌

数列计算

 我们可以通过观察得出结论,这些时间是在500到3000之间,公差为250小时,3000到5000之间,公差为500小时,最后一个公差是1000小时。
 这里我们可以用一个简单的限制结尾的循环体,内嵌 if-else 判断,来完成一个自动生成数列。不过鉴于篇幅关系,已经快超过5分钟了,所以这个内容我们明天再学习。·

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,748评论 0 13
  • 女儿,尽管你现在还是一个小婴儿,但妈妈每次想到自己的经历,再看看你可爱的小脸蛋时,疼爱、心疼各种好的坏的情感交融,...
    尘埃的花阅读 3,101评论 0 3
  • 你知道自己不是不愿努力在一件事上,而是因为你对他始终没有热情;他让你想发挥的成就不了,于是你得不到成就感,也换不回...
    Rivoun阅读 3,051评论 0 0
  • 遗世隐兮云相隔, 彼君子兮山之阿。 卅春秋兮音尘绝, 月伤影兮花伤落。 闻君讯兮心雀跃, 搴裳拔足兮涉江河。 明瓦...
    北京眠石阅读 4,911评论 64 85
  • 坐在教室的最后一排,老师平淡地念着ppt上的内容,右下角的2012年暴露了课件的年龄,它就这样一年年的出现在同一...
    零食达人阅读 1,045评论 0 0

友情链接更多精彩内容