python进阶练习题:数字回文#4【难度:2级】:

回文是单词,短语,数字或字符的其它序列,其读取相同的向后向前.数值回文的实例是:

2332
点击110011
结果54322345

对于给定数目NUM

 

,返回其最接近的数值回文其可以是比

 NUM 

更小或更大.如果有2个可能的值,该值越大,应返回.如果

 NUM 

是数字回文本身,将其返回.

对于此习题,单个数字编号将不是被视为数值回文.

另外,你知道该怎么做 - 一定要返回"无效",如果输入的是不是一个整数或小于0.


回文(8)=> 11
回文(281)=> 282
回文(1029)=> 1001
回文(1221)=> 1221
回文( "1221")=> "无效"


在Haskell的函数返回一个也许诠释什么也没有的情况下参数小于零.

其他习题在此系列:
数字回文#1
点击数值回文#1.5
点击数值回文#2
点击数值回文#3
点击数值回文#3.5
结果,数值回文#4
点击数值回文#5

编程目标:

def palindrome(num):
    # Code here


测试样例:

Test.it("'8' should return '11'")
Test.assert_equals(palindrome(8),11)
Test.it("'281' should return '282'")
Test.assert_equals(palindrome(281),282)
Test.it("'1029' should return '1001'")
Test.assert_equals(palindrome(1029),1001)
Test.it("'BGHHGB' should return 'Not valid'")
Test.assert_equals(palindrome("BGHHGB"),"Not valid")
Test.it("'\"11029\"' should return 'Not valid'")
Test.assert_equals(palindrome("11029"),"Not valid")
18


最佳答案(多种解法):

点击查看答案

更多关联题目:

交流讨论:

景越Python基础训练营QQ群

欢迎各位同学加群讨论,一起学习,共同成长!

免责申明:

本博客所有编程题目及答案均收集自互联网,主要用于供网友学习参考,如有侵犯你的权益请联系管理员及时删除,谢谢
题目收集至https://www.codewars/
https://www.codewars/kata/numerical-palindrome-number-4

更多推荐

python进阶练习题:数字回文#4【难度:2级】--景越Python编程实例训练营,不同难度Python习题,适合自学Python的新手进阶