Python IDLE返回正确答案,但codewars告诉“TypeError=math.log10(数字)+1数字:必须是实数,而不是字符串”
import math
def solution(number):
ind = 0
numbers = []
digits = int(math.log10(number))+1
number=str(number)
for i in range(digits-4):
num = number[ind:ind+5]
ind+=1
numbers.append(num)
return max(numbers)发布于 2020-04-27 20:21:36
该错误意味着number是一个字符串。您应该将其转换为整数。
digits = int(math.log10(int(number))) + 1这也意味着您可以删除此行
number = str(number)因为number已经是str了。
发布于 2020-04-27 20:36:23
这样做不是更容易吗?
def solution(numberstr):
values = [numberstr[i:i+5] for i in range(len(numberstr)-4)]
values.sort()
return values[-1]https://stackoverflow.com/questions/61458756
复制相似问题