輸入一個以#結束的字符串,本題要求濾去所有的非十六進制字符(不分大小寫),組成一個新的表示十六進制數字的字符串,然后將其轉換為十進制數后輸出。如果在第一個十六進制字符之前存在字符“-”,則代表該數是負數。
輸入格式:
輸入在一行中給出一個以#結束的非空字符串。
輸出格式:
在一行中輸出轉換后的十進制數。題目保證輸出在長整型范圍內。
輸入樣例:
+-P-xf4+-1!#
輸出樣例:
-3905
代碼如下:
#!/usr/bin/python # -*- coding: utf-8 -*- s = input() re = '1234567890abcdefABCDEF' list = "" for i in s: if i in re: list =list + i if list == '': print('0') elif s.find('-')< s.find(list[0]): print(-int(list,16)) else: print(int(list,16))
這個程序不是很難,我之前測試時沒有加那個if list == ’’ ,提交測試,一個測試點顯示非零返回。
折騰了好久。題目說非空字符串就忘了判斷。o(︶︿︶)o 唉
讀書和健身總有一個在路上