python判断字符串是二进制还是十六进制并将其转换为整数
可以使用以下代码来判断字符串是二进制还是十六进制,并将其转换为整数:
def convert_to_int(string):
if string.startswith('0b') or string.startswith('0B'):
return int(string, 2) # 二进制转换为整数
elif string.startswith('0x') or string.startswith('0X'):
return int(string, 16) # 十六进制转换为整数
else:
raise ValueError("Invalid input")
string = input("请输入一个字符串:")
try:
result = convert_to_int(string)
print("转换结果为:", result)
except ValueError as e:
print(e)
这段代码首先定义了一个convert_to_int
函数,它接受一个字符串作为输入,并根据字符串的开头判断是二进制还是十六进制。如果是二进制则使用int(string, 2)
将其转换为整数,如果是十六进制则使用int(string, 16)
将其转换为整数。如果字符串既不是二进制也不是十六进制,则抛出ValueError
异常。
然后,通过input
函数获取用户输入的字符串,并调用convert_to_int
函数将其转换为整数。如果转换成功,则打印转换结果;如果转换失败,则打印异常信息
原文地址: https://cveoy.top/t/topic/hLBL 著作权归作者所有。请勿转载和采集!