加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

python回文数字编程方法

(2014-01-11 21:47:24)
标签:

python

it

分类: 编程
题目是叫编写一个三位数乘于三位数的回文数字列表,其中最大的一个。回文,即从左到右,和从右到左看,数字都是一样,比如1234321。
我的代码如下:
#!/usr/lib/python2.7
#coding:utf8

def is_doc(x):  #判断回文的函数
    list1 = []
    list2 = []
    for i in str(x):
list1.append(i)
list2.append(i)
    list2.reverse() #翻转
    if list1 == list2:
return x

def list_once(y):#去掉列表中重复的元素
    list_new = []
    for i in xrange(len(y)):
        if y[i] in list_new: #是否在新建列表中
   continue
else:
   list_new.append(y[i]) #不在则取进新列表
    return list_new

my_list = []
for i in xrange(100,1000):
    for j in xrange(100,1000):
n = i * j
        x = is_doc(n)
if x != None: #如果不是回文,回返回None,所以这里要用到if语句
   my_list.append(n)

my_list.sort() #先排个序
my_list = list_once(my_list) #消除重复
print my_list   #打印出来这个列表
print len(my_list) #看看有多少个回文
print max(my_list)#打印最大的那个

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有