Python 2.7 如何在十六进制加法中省略进位

Python 2.7 如何在十六进制加法中省略进位,python-2.7,Python 2.7,我从用户那里得到的输入是字符串,字符串被转换成十六进制,并且值被打印出来。。代码如下 STX = input("enter STX Value") Deviceid = input("enter device id") subid = input("enter address of the Device and load details") Comnd = "41" Data = "01" load = inp

我从用户那里得到的输入是字符串,字符串被转换成十六进制,并且值被打印出来。。代码如下

STX        =   input("enter STX Value")
Deviceid   =   input("enter device id")
subid      =   input("enter address of the Device and load details")
Comnd      =   "41"
Data       =   "01"
load       =   input("enter the load should be on or OFF,if on type 01 other wise type 00")
Eor        =   hex(int(STX, 16) ^ int(Deviceid, 16) ^ int(subid, 16) ^ int(Comnd, 16) ^ int(Data, 16) ^ int(load, 16))
Addsum     =   int(STX, 16)+int(Deviceid, 16)+int(subid, 16)+int(Comnd, 16)+int(Data, 16)+int(load, 16)+int(Eor, 16)
程序的输出如下所示

enter STX Value"F7"
enter device id"03"
enter address of the Device and load details"83"
enter the load should be on or OFF,if on type 01 other wise type 00"01"
0x36
the add sum is
0x1f6

在最后一行0x1f6中,我想省略“1”。我该怎么做。。感谢您的帮助…

您可以使用模运算符
%
获取最后两位数字,然后使用
hex
函数或格式字符串将该数字转换回十六进制格式

>>> m = 0x106 % 16**2
>>> print("0x%02x" % m)
0x06

你试过模吗<代码>0x1f6%16**2然后将其转换回
0x
格式非常感谢@tobias_k它工作正常。。。