Python 错误:在字符串格式化过程中未转换所有参数
错误是: TypeError:在字符串格式化过程中并非所有参数都已转换Python 错误:在字符串格式化过程中未转换所有参数,python,python-3.x,Python,Python 3.x,错误是: TypeError:在字符串格式化过程中并非所有参数都已转换 如何将a和b设为整数?有谁能帮我解决这个问题吗 错误是因为如果执行input.split(),则结果将是['3','5'](假设输入为35)和a,b都是字符串 如果您使用字符串执行%,您将得到'3''%5',而这并不是您所期望的。这意味着Python中的字符串格式设置会出错 您将得到与此相同的错误: n = int(input("")) for i in range(n): a,b = input(&
如何将
a
和b
设为整数?有谁能帮我解决这个问题吗
错误是因为如果执行input.split()
,则结果将是['3','5']
(假设输入为35)和a
,b
都是字符串
如果您使用字符串执行%
,您将得到'3''%5'
,而这并不是您所期望的。这意味着Python中的字符串格式设置会出错
您将得到与此相同的错误:
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")
解决方案
您可以在每次出现
a
和b
时执行int()
,但这太难了。
相反,请尝试以下方法:
a = '3'
b = '5'
print(a % b) # this cause the error. you will not get 3 % 5
您可以使用Python中的内置函数,顺便说一句,如果没有任何输入提示,那么只需将其保留为空-
input()
a
和b
是字符串a%b
是试图将b
格式化为a
的字符串格式运算符。如果你想让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")