n = int(input(""))
for i in range(n):
a,b = input("").split()
if a%b!=0:
r = a%b
x = b-r
print(x)
else:
print("0")
错误是:
TypeError:在字符串格式化期间并非所有参数都已转换
如何将a
和b
设为整数?谁能帮我
答案 0 :(得分:1)
错误是因为如果您执行input.split()
,则结果将是此['3', '5']
(假设输入为3 5),并且a
,b
都是字符串
如果对字符串执行%
,则会得到'3' % '5'
,这不是您期望的。这意味着在Python中使用字符串格式会出现错误。
您将得到与此相同的错误:
a = '3'
b = '5'
print(a % b) # this cause the error. you will not get 3 % 5
每次出现int()
和a
时,您都可以执行b
,但这太难了。
相反,请尝试以下操作:
n = int(input())
for i in range(n):
a, b = map(int, input().split())
if a % b != 0:
r = a % b
x = b - r
print(x)
else:
print("0")
您可以在Python中使用内置的map()
函数,而且,如果没有任何输入提示,只需将其保留为空白-input()
。