码迷,mamicode.com
首页 > 其他好文 > 详细

打印回文数字&字母

时间:2018-11-04 14:02:28      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:src   指定   个数   .com   end   格式   color   int()   http   

1、指定位数的数字型回文,第一种方法是通过判断每一位数来确定是否是回文,

这种方法不够灵活,如果位数变了,代码就要修改,如下:

"""
打印100到999之间的回文数ABA
"""

#从100开始循环,循环内判断是否符合要求,符合即输出
num1 = 100
i = 1
while num1 <= 999:
#获得百位数值
b = num1 // 100
#获得个位数值
g = num1 % 10
#判断百位和个位是否相同
if b == g:
print("%d\t" % num1,end="")
if i % 10 == 0:#每10位换行输出
print("\n")
i += 1
num1 += 1

输出(部分截图):

技术分享图片

 

2、第二种方法是将数字转为字符串,对单个字符比较是否相同,少了一些算法,多了一点灵活性,代码如下:

"""打印回文数通用增强版"""


def num_aba(n):
count1 = 0#控制输出格式,不参与算法
for num0 in range(1,n):
i = 0#定义循环变量
flag = True#定义逻辑运算变量
while i < len(str(num0))//2:#对每一个数字判断是否符合要求
if str(num0)[i] == str(num0)[-i-1]:
flag = flag and True#符合返回True
else:
flag = False#不符合返回False
break
i += 1
if flag == True:#判断结果如果是True,则是回文数,打印
print(num0,end="\t")
count1 += 1#控制变量+1
if count1 % 10 == 0:#控制格式输出,每10个数字一行
print("\n")


num_aba(100000)

输出(部分截图):

技术分享图片

 

3、打印字母回文

我用的方法是把字符转换为ASCII码进行运算输出

 

def alp_ABA(N):
for i in range(ord("A"),ord("%s" % N)+1):
for j in range(ord("A"),i + 1):
print(chr(j),end="")
for k in range(j-1,ord("A")-1,-1):
print(chr(k),end="")
print()

alp_ABA("U")

输出:

技术分享图片

 

打印回文数字&字母

标签:src   指定   个数   .com   end   格式   color   int()   http   

原文地址:https://www.cnblogs.com/sunmingduo/p/9903461.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!