PAT甲级1024 Palindromic Number (Python)
2022/2/3 14:13:00
本文主要是介绍PAT甲级1024 Palindromic Number (Python),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本题翻译:
题目给出两个数字,一个是N,一个是K,判断N是否为回文数字,如果不是,将N转换成回文数字后加N,再判断是否为回文数字,循环K次,直到看见回文数字为止,如果在K次循环之内没有看见回文数字,则输出循环了K次的数字,其中个位数默认是回文数字。
本题思路:
写两个函数,一个是判断回文函数,一个是将数字转换成回文数字。
注意事项:
本题一直不能通过,有好几个细节问题,最开始一测,只过了几个测试点,后来发现细节很多。
1.个位数是否判断为回文数字。
2.循环次数为0是否能输出。
3.是否确保循环次数和回文次数相等时,能输出。
4.无法凑数成功时,能否输出。
这些细节都注意到之后,测试才能通过。
代码样例:
#判断回文序列 def Palindromic(num): num = str(num) k = len(num) for i in num: if i == num[k-1]: k -= 1 else: return False return True #给出回文序列 def Pali(num): a = "" num = str(num) for i in range(len(num)-1,-1,-1): a+=num[i] return int(a) m,n = map(int,input().split()) store = -1#是否参与循环 store1 = -1#是否在最后参与了循环 for i in range(n): if Palindromic(m): print(m) store = i if len(str(m))==1: print(i) else: print(i) break else: m = m+Pali(m) store = i store1 = i #无法凑 直接输出 if Palindromic(m)==False and store!=-1: print(m) print(n) #确保最后一个数恰好等于循环不到的那个数 输出 if len(str(m))!=1 and Palindromic(m)==True and store1+1 == n: print(m) print(n) #确保 循环次数为0能输出 if len(str(m))!=1 and store == -1: print(m) print(n) #确保 循环次数为0 且 个位数能输出 if len(str(m))==1 and store == -1: print(m) print(n)
如果以上案例没有看懂,测试始终无法通过,可以测试以下几个测试点: 67 3 0 0 0 1 69 3 69 5
如果都能成功,基本测试不会太大的问题,如果还有问题,欢迎私聊哇~
这篇关于PAT甲级1024 Palindromic Number (Python)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型