|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
思路:拿数字的首尾位,正数第二位和倒数第二位,正数第三位和倒数第三位,......依此类推判断是否相等,如果对,则为回文数
问题是:都不是回文数
代码如下,恳请大佬看下问题出在何处,
1,是否最里面嵌套的循环或者break和continue语句有问题么?
2,为什么变量temp的值总是False
- m = int(input('请输入次数:'))#程序运行次数
- while m:
- print('请输入一共正整数:',end='')
- a = input() #输入的数字为字符串形式
- n = len(a) #输入数字的位数
- temp = False
- for i in a: #逐个拿出输入字符串数字的每一个位数上的值
- for x in range(1,n+1):#逐个拿出输入字符串数字长度的数的值
- if i != a[-x]: #将输入的字符串的第一个数和最后一个数对比是否相等
- break #条件成立立马退出循环
- if i == a[-x]: #将输入的字符串的第一个数和最后一个数对比是否相等
- continue #条件成立继续从头开始执行循环
-
- temp = True
- if temp == True:
- print('是回文数')
-
- else:
- print('不是回文数')
- m -= 1
复制代码
- def ck(x):
- return str(x) == str(x)[::-1]
- def main():
- m = input('请输入测试次数:')
- while m:
- a = input('请输入待判断的回文数:')
- if ck(a):
- print('是回文')
- else:
- print('不是回文')
- m -= 1
- if __name__ == '__main__':
- main()
复制代码
|
|