将用户输入读取为数字的问题
在 Python 3 中,使用 input() 函数读取用户输入会引发有关类型的问题收到的数据。默认情况下,input() 会以字符串形式返回值,即使用户打算输入数字数据也是如此。此行为与 Python 2.7 不同,其中 input() 将用户输入视为整数。
在代码片段中:
x = input("Enter a number: ") y = input("Enter a number: ")
变量 x 和 y 将是字符串而不是整数。当对 x 和 y 执行算术运算时,这一点变得很明显。
解决方案
要将输入读取为数字,您需要使用 int() 或 float 显式转换它们() 函数。例如:
x = int(input("Enter a number: ")) y = int(input("Enter a number: "))
int() 函数将输入转换为整数,float() 函数将其转换为浮点数。
处理不同的值数字输入的基数
您还可以处理以不同基数输入的数字输入。 Python 3 提供了一种使用 int() 或 float() 函数的第二个参数指定基数的便捷方法。例如:
data = int(input("Enter a number: "), 8) # Binary base data = int(input("Enter a number: "), 16) # Hexadecimal base data = int(input("Enter a number: "), 2) # Octal base
Python 2 和 3 之间的差异
Python 2 和 3 在读取用户输入时具有不同的行为。
Python 2.x:
Python 3.x:
通过理解这些差异并使用适当的类型转换方法,您可以有效地读取 Python 3 中的数字输入。
以上是如何在 Python 3 中安全读取用户输入的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!