首页 >后端开发 >Python教程 >如何在 Python 3 中安全读取用户输入的数字?

如何在 Python 3 中安全读取用户输入的数字?

Patricia Arquette
Patricia Arquette原创
2024-12-29 20:23:17218浏览

How Can I Safely Read Numerical Input from Users in Python 3?

将用户输入读取为数字的问题

在 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:

    • input() 函数评估用户输入并将结果作为整数返回。
    • raw_input() 函数类似于 input() Python 3 并返回一个字符串而不评估it.
  • Python 3.x:

    • input() 函数将用户输入返回为字符串,即使在目的是输入数字数据。
    • Python 中没有 raw_input() 函数3.

通过理解这些差异并使用适当的类型转换方法,您可以有效地读取 Python 3 中的数字输入。

以上是如何在 Python 3 中安全读取用户输入的数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn