如何在 Python 中读取整数输入?
在 Python 中,有两种方法可以向程序提供输入信息。一种是我们将输入对象直接分配给对象引用/变量;另一种是程序动态地(在运行时)获取用户输入。
Python 2.x 版本使用raw_input()函数动态获取用户输入;而 Python 3.x 版本使用input()函数。默认情况下,input() 函数只以字符串形式获取输入值。
在本文中,我们将学习如何在 Python 3.x 中使用 input() 函数将输入读取为“数字”。
将输入读取为数字
Python 与任何其他编程语言一样,接受两种类型的数字:整数类型 (int) 和小数类型 (float)。由于 input() 函数只将输入视为字符串,因此将它们读取为任何其他类型数据的唯一方法是采用类型转换技术。
让我们看看一些演示应用于 input() 函数的类型转换技术的示例。
示例
在这个示例中,我们接受输入作为整数。因此,输入必须使用 int 数据类型进行类型转换。
integer = int(input("Enter an integer as input: ")) print(integer*10) print(type(integer))
输出
让我们编译并运行给定的程序,以产生以下结果:
Enter an integer as input: 12 120 <class 'int'>
示例
与前面的示例相反,现在让我们尝试将输入作为小数接受。因此,输入必须使用 float 数据类型进行类型转换。
num = float(input("Enter an number as input: ")) sq = num*num print(sq) print(type(num))
输出
让我们编译并运行给定的程序,以产生以下结果:
Enter an integer as input: 45.63 2082.0969000000005 <class 'float'>
示例
如果输入被类型转换为浮点数,则也可以接受整数。让我们看下面的例子。
num = float(input("Enter an number as input: ")) sq = num*num print(sq) print(type(num))
输出
让我们编译并运行给定的程序,以产生以下结果:
Enter an integer as input: 10 100.0 <class 'float'>
示例:使用异常
由于输入是动态输入的,因此用户可能不会输入数字。如果发生这种情况,我们可以将其视为异常。为了处理此异常,我们在 while 循环中使用 try/except 块,如下面的示例所示,该示例一直执行直到接受一个数字作为输入。
user = 0 while True: try: user = int(input("Please enter a number: ")) except ValueError: print("Integer not found. Please enter again..") continue else: print("Integer found. Thank you.") break
输出
上面给定程序的输出如下所示:
Please enter a number: a Integer not found. Please enter again.. Please enter a number: 12 Integer found. Thank you.
结论
将用户输入读取为数字是使代码具有交互性和用户友好的关键部分。虽然有多种方法可以解决这个问题,但最重要的是确保您的程序接收您希望它接收的值。这就是我们介绍了多种可用于将输入读取为数字的方法的原因。