📅  最后修改于: 2023-12-03 14:46:14.805000             🧑  作者: Mango
在Python中,可以使用内置函数int()
将字符串转换为整数。这个功能十分有用,因为很多时候我们会需要从用户处获取数字输入,而这些输入通常是以字符串的形式提供的。
让我们先看一下如何将简单的字符串转换为整数。假设我们有一个字符串变量num_str
:
num_str = "123"
我们可以使用int()
函数来将这个字符串转换为整数,方法如下:
num_int = int(num_str)
在这种情况下,num_int
的值将会是整数123
。
在真实的程序中,用户输入并不总是完全正确的。举个例子,用户可能会输入带有非数字字符的字符串。在这种情况下,我们需要处理错误的输入。
一个简单的方法是使用try
和except
块来捕获ValueError
异常。下面是一个带有输入验证的例子:
while True:
num_str = input("请输入一个整数:")
try:
num_int = int(num_str)
break
except ValueError:
print("输入有误,请重新输入!")
在这个例子中,我们使用input()
函数获取用户输入。然后我们在一个while
循环中,不断尝试将用户输入转换为整数。如果输入格式不正确,就在except
块中捕获ValueError
异常并提示用户重新输入。
还有一个非常有用的功能是,int()
函数可以在转换时指定进制。例如,我们可以将一个二进制字符串转换为十进制整数:
bin_str = "1101"
num_int = int(bin_str, 2)
在这个例子中,int()
函数的第二个参数为2
,表示将这个字符串解析为二进制数字。num_int
的值将为十进制数13
。
同样的,我们也可以将一个八进制或十六进制字符串转换为整数:
oct_str = "17"
num_int = int(oct_str, 8)
hex_str = "FF"
num_int = int(hex_str, 16)
在这两个例子中,int()
函数的第二个参数分别为8
和16
,表示将字符串解析为八进制或十六进制数字。
int()
函数是将字符串转换为整数的一个重要工具,它不仅可以简单地将十进制数字字符串转换为整数,还可以处理错误的输入和不同进制的数字字符串。在写Python程序时,使用int()
函数来处理输入和数值计算是一个十分重要的技能。