亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python 的 Checksum 為什么結果是一長串數字而不是如下效果?

Python 的 Checksum 為什么結果是一長串數字而不是如下效果?

波斯汪 2019-04-12 11:07:09
Python 的 Checksum 為什么結果是一長串數字而不是如下效果
查看完整描述

3 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

在寫一個檢驗儀器的串口指令發送,需要對發送數據 Checksum ,儀器發給電腦的接收數據,儀器已經 Checksum 了。如下原始數據
5C|1|I|In Check Range|I
FD (上一行的 Checksum 值)
7C|1|I|In Check Range|I
FF (上一行的 Checksum 值)
0R|4|^^^HBs^^^1^RLU|8982|||H|N|R||||20161229094052|IRL55791525
E1 (上一行的 Checksum 值)
1C|1|I|In Check Range|I
F9 (上一行的 Checksum 值)
2L|1|N
05 (上一行的 Checksum 值)

使用
0x04+0x00+0x38+0x00+0x01=0x3d= - 0x3C; // - 0x3d=3C;

也無法算對,有明白的沒法給指點下。 另外對于串口的應答方式有什么靈活辦法處理嗎? 我現在是 n=serial.inWaiting(),如果 n=1 ,判斷是 ACK 還是 ENQ 等,并做相應的應答寫死在程序里面。但是如果一段數據結尾有 ENQ 我該怎么處理,每次收到不為空數據 data[-1:]判斷并進行應答?
0x04+0x00+0x38+0x00+0x01
我算出結果是 61

 


查看完整回答
反對 回復 2019-04-16
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

python輸入的內容在內部全部為字符串,所以要判斷這個字符串是否為一個數字。大多法內部函數并不能對各種形式的數據做出正確判斷,例如isdigit()函數只能判斷字符串是否為純數據組成對于負數則無效了。所以可以使用float()來檢測,對各種數字的表示方法都有效果。

方法代碼:
#定義函數

def isnub(s):
try:
nb = float(s) #將字符串轉換成數字成功則返回True
return True
except ValueError as e:
return False #如果出現異常則返回False
#測試
print(isnub('123'))
print(isnub('abc'))
print(isnub('123.123'))
print(isnub('-123.123'))

print(isnub('-1.609E-19'))
測試結果如下:
True
False
True
True
True



查看完整回答
反對 回復 2019-04-16
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

1234567891011121314151617181920212223import redef findit(matchstr,searchstr):    Li=[]  #找到的匹配字串置于Li列表中    rs=re.search(matchstr,searchstr)    while rs!=None:        Li=Li+list(rs.groups())        searchstr=searchstr[rs.span()[1]:]        rs=re.search(matchstr,searchstr)    return Li      def main():    matchstr=r'(\d{16})'    #正則表達式 匹配16個數字     #以下是要查找字串的例子     searchstr='2018060512345678hekoedfk2018070612345678fifjr1234567890123456dfsdf'    #在字串searchstr中找到的匹配數字都在rs這個list中    rs=findit(matchstr,searchstr)    for in rs:        print(x)    #mystri='/'.join(rs)  #生成以/分隔的數字串    #print(mystri)        #輸出以/分隔的數字串 main()


查看完整回答
反對 回復 2019-04-16
  • 3 回答
  • 0 關注
  • 1256 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號