📜  python 将字符串映射到 int - Python (1)

📅  最后修改于: 2023-12-03 14:46:14.805000             🧑  作者: Mango

Python 将字符串映射到 int

在Python中,可以使用内置函数int()将字符串转换为整数。这个功能十分有用,因为很多时候我们会需要从用户处获取数字输入,而这些输入通常是以字符串的形式提供的。

简单的字符串转换

让我们先看一下如何将简单的字符串转换为整数。假设我们有一个字符串变量num_str

num_str = "123"

我们可以使用int()函数来将这个字符串转换为整数,方法如下:

num_int = int(num_str)

在这种情况下,num_int的值将会是整数123

处理错误的输入

在真实的程序中,用户输入并不总是完全正确的。举个例子,用户可能会输入带有非数字字符的字符串。在这种情况下,我们需要处理错误的输入。

一个简单的方法是使用tryexcept块来捕获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()函数的第二个参数分别为816,表示将字符串解析为八进制或十六进制数字。

结论

int()函数是将字符串转换为整数的一个重要工具,它不仅可以简单地将十进制数字字符串转换为整数,还可以处理错误的输入和不同进制的数字字符串。在写Python程序时,使用int()函数来处理输入和数值计算是一个十分重要的技能。