打印回文数字&字母
Posted sunmingduo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打印回文数字&字母相关的知识,希望对你有一定的参考价值。
1、指定位数的数字型回文,第一种方法是通过判断每一位数来确定是否是回文,
这种方法不够灵活,如果位数变了,代码就要修改,如下:
"""
打印100到999之间的回文数ABA
"""
#从100开始循环,循环内判断是否符合要求,符合即输出
num1 = 100
i = 1
while num1 <= 999:
#获得百位数值
b = num1 // 100
#获得个位数值
g = num1 % 10
#判断百位和个位是否相同
if b == g:
print("%d " % num1,end="")
if i % 10 == 0:#每10位换行输出
print(" ")
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=" ")
count1 += 1#控制变量+1
if count1 % 10 == 0:#控制格式输出,每10个数字一行
print(" ")
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")
输出:
以上是关于打印回文数字&字母的主要内容,如果未能解决你的问题,请参考以下文章
输入一个字符串,判断其是不是是C的合法标识符。用c语言编写程序。