python回文数问题

defpld(k)要求输入k使return出来的结果是k位的随机回文数例如pld(3)>>121pld(10)>>2316226132请尽快急!... def pld(k)

要求输入k 使return出来的结果是k位的随机回文数
例如
pld(3)
>> 121
pld(10)
>>2316226132

请尽快 急!
展开
 我来答
lejoylejoy
推荐于2016-01-30 · TA获得超过1003个赞
知道小有建树答主
回答量:513
采纳率:75%
帮助的人:449万
展开全部
import random

def pld(k):
return random.randint(10**(k-1),10**k-1)

if __name__=='__main__':

k = int(raw_input('Enter number:'))
print pld(k)
追问
  1. 好像不能运行啊。。。是不是缩进有点问题

  2. 能否用string的方法做,我们上课教了string 没教这么深的,而且考试也是围绕string来考的

追答
哦   我错了   我以为是返回一个指定长度的随机数呢,没有看到“回文”这个要求。
那你就先把 k 除以2,通过random得到一个k/2长度的整数。把这个整数转成string,得到part1,再逆序,得到part2。
判断k是否能被2整除,如果能整除,直接把上面两个连接起来就可以了。
如果不能整除,再随机产生一个1--9的数 放到part1和part2之间 就可以了。
至于string逆序:
a = '123'
a[::-1] 得到的就是 321了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式