如何修复我的代码:ValueError: invalid literal for int() with base 10: ''

时间:2021-03-03 13:18:14

标签: python valueerror

我正在编写一个计算两个输入数字之和的程序。

但是'set = int(input())',这句话导致ValueError: invalid literal for int() with base 10: ''

我不知道如何解决它。

我英语说得不好。 如果你不能理解我的话,请告诉我。我会改写这个问题。

这是我的代码:

_btnPreviousQuestionTapped

4 个答案:

答案 0 :(得分:0)

从代码看来,您正在将两个以空格分隔的数字输入到 set 变量中。 如果是这种情况,并且您将 int(input()) 更改为仅 input(),它应该可以工作。

答案 1 :(得分:0)

您不能以这种方式拆分 int,即您不能在 set 中传递两个 int,而 split 对 int 不起作用。 1)要么从集合中删除int

T = int(input())
for i in range(T):
    set = input()
    A = int(set.split()[0])
    B = int(set.split()[1])
print(A+B)

2) 使用一个衬垫

 A, B = list(map(int,input().split()))

答案 2 :(得分:0)

由于 split 对您需要稍后转换的字符串进行操作。你可以试试这个

T = int(input())
for i in range(T):
    x = list(map(int, input().split()))
    A = x[0]
    B = x[1]
    print(A + B)

这会拆分输入字符串,然后将其映射到函数 int 上,即通过将 int() 应用于所有项目来创建新列表。您可以添加一些错误处理,因为如果仅提供一个值或什至没有提供值,则此代码将失败。如果输入无法转换为整数,它也会失败。

答案 3 :(得分:0)

根据你的代码猜测set = int(input())这里你应该输入一个类似“1 2”的字符串,“1 2”不能转换为int所以报错。

T = int(input())

for i in range(T):
    set = input()
    A = int(set.split()[0])
    B = int(set.split()[1])
    print(A+B)

这应该有效。