标签: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