Python Kata 7系列中最大的5位数

Python Kata 7系列中最大的5位数,python,python-3.x,Python,Python 3.x,Python IDLE正确返回答案,但codewars告诉“digits=math.log10(number)+1 TypeError:必须是实数,而不是str“ 该错误表示number是一个字符串。您应该将其转换为整数 digits = int(math.log10(int(number))) + 1 这也意味着你可以删除这一行 number = str(number) 因为number已经是str错误意味着number是一个字符串。您应该将其转换为整数 digits = int(math

Python IDLE正确返回答案,但codewars告诉“digits=math.log10(number)+1 TypeError:必须是实数,而不是str“


该错误表示
number
是一个字符串。您应该将其转换为整数

digits = int(math.log10(int(number))) + 1
这也意味着你可以删除这一行

number = str(number)

因为
number
已经是
str

错误意味着
number
是一个字符串。您应该将其转换为整数

digits = int(math.log10(int(number))) + 1
这也意味着你可以删除这一行

number = str(number)

因为
number
已经是
str

这样做不是更容易些吗

def solution(numberstr):
    values = [numberstr[i:i+5] for i in range(len(numberstr)-4)]
    values.sort()
    return values[-1]

这样做不是更容易吗

def solution(numberstr):
    values = [numberstr[i:i+5] for i in range(len(numberstr)-4)]
    values.sort()
    return values[-1]

您如何称呼您的
解决方案
功能?似乎是给了它一个字符串,而不是一个数字。@ex4 OP没有提到它,但“Kata”表示该代码是由某个竞争性编程网站上的在线评委执行的。OP无法控制函数的调用方式和参数。如何调用
解决方案
函数?似乎是给了它一个字符串,而不是一个数字。@ex4 OP没有提到它,但“Kata”表示该代码是由某个竞争性编程网站上的在线评委执行的。OP无法控制函数的调用方式以及给出的参数。