我正在编写一个计算两个输入数字之和的程序。
但是'set = int(input())',这句话导致ValueError: invalid literal for int() with base 10: ''
我不知道如何解决它。
我英语说得不好。 如果你不能理解我的话,请告诉我。我会改写这个问题。
这是我的代码:
_btnPreviousQuestionTapped
答案 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)
这应该有效。