首页 > 后端开发 > Python教程 > 如何正确读取和使用Python中的数字输入?

如何正确读取和使用Python中的数字输入?

Susan Sarandon
发布: 2024-12-24 14:29:10
原创
756 人浏览过

How Do I Properly Read and Use Numerical Input in Python?

在 Python 中将输入读取为数字

Python 的输入函数以字符串形式返回数据,这与其他自动将用户输入解释为字符串的编程语言不同。数字。对用户输入执行数学运算时,这可能会导致错误。下面是演示该问题的示例:

play = True

while play:

    x = input("Enter a number: ")  # Input is taken as a string
    y = input("Enter a number: ")

    print(x + y)  # Concatenates the strings instead of adding them
    print(x - y)  # Raises a TypeError due to string subtraction
    print(x * y)  # Multiplies the string representations as integers
    print(x / y)  # Raises a ZeroDivisionError if y is an empty string
    print(x % y)  # Raises a TypeError due to string modulus

    if input("Play again? ") == "no":  # Again, input is taken as a string
        play = False
登录后复制

解决方案:

要解决此问题,您可以使用 int() 将输入字符串显式转换为整数function:

x = int(input("Enter a number: "))
y = int(input("Enter a number: "))
登录后复制

这确保输入数据被视为数值,并执行数学运算

可选:灵活的输入转换

Python 允许您指定输入数字的基数。如果您需要读取非十进制系统中的数字,这可能很有用。 int() 函数的第二个参数表示基数:

x = int(input("Enter a number (base 8): "), 8)  # Reads input as an octal number
y = int(input("Enter a number (base 16): "), 16)  # Reads input as a hexadecimal number
登录后复制

如果输入数据对于指定基数无效,则 int() 函数将引发 ValueError。

注意:

在Python 2.x中,有两个输入函数:raw_input()和input()。 raw_input() 的行为类似于 Python 3.x 中的 input(),以字符串形式返回输入。为了保持一致性,建议在 Python 2.x 和 Python 3.x 中都使用 input()。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板