python - 字符串与 int 错误和响应不一致

标签 python

我制作了一个简单的程序,用户可以添加任意数量的数字,然后输入“exit”来停止它并打印总数,但有时它说将字符串转换为 int 失败,有时它确实转换但随后它的输出错误,例如我输入 1 + 1 但它打印 1

def addition():
    x = 0
    y = 1
    total = 0

    while x < y:
        total += int(input())

        if input() == "exit":
            x += 1

    print(total)

addition()

我尝试将其转换为 float ,然后转换为整数,但仍然不一致,我今天开始学习 python,发现 c++/c#/Java 的语法很难,所以请注意错误

最佳答案

也许这就是您正在寻找的:

def addition():
    total = 0

    while True:
        value = input()

        if value == "exit":
            break
        else:
            try:
                total += int(value)
            except:
                print('Please enter in a valid integer')

    print(total)

编辑

<小时/>

代码无法正常工作有两个原因:

首先,它失败的原因是因为您试图将单词“exit”转换为整数。

其次,正如 user2357112 指出的,有两个输入调用。第二个输入调用无意中跳过了输入的所有其他数字。您所需要做的就是一次输入调用并将输入的值设置为变量。

关于python - 字符串与 int 错误和响应不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25576469/

相关文章:

python - 如何使用一个命令行运行 Python 包

python - 使用 Python 下载网页的完整 HTML 时出现问题

python - Python Django 的虚拟环境

python - beautifulsoup : ImportError: No module named html. 个实体

Python 和 Matplotlib 的交互式缩放图

python - 天真的问题 : Receiving same data from all four different links

python - 用于捕获语音以供 Julius 识别的 adintool 或 psychopy?

python - np.nan 和 isnull() 对比的区别

python - 为什么 `key in dict` 和 `key in dict.keys()` 有相同的输出?

python - __builtin__ 和 __builtins__ 有什么区别?