擅长:python、mysql、java
<p>注意,你的例子是错误的。99和11都是回文,因此函数(根据具体情况)应该分别返回99和11</p>
<pre class="lang-py prettyprint-override"><code>def is_palindrome(number: int):
return str(number) == str(number)[::-1]
def findprevpalindrom(number: int):
assert number > 0, "Cannot find non-positive palindrome!"
if is_palindrome(number):
return number
else:
return findprevpalindrom(number - 1)
</code></pre>
<p>这些断言传递时不会引发异常:</p>
<pre class="lang-py prettyprint-override"><code>assert findprevpalindrom(100) == 99
assert findprevpalindrom(99) == 99
assert findprevpalindrom(98) == 88
assert findprevpalindrom(11) == 11
assert findprevpalindrom(10) == 9
</code></pre>