回文数
第018讲:了不起的分支和循环(V)| 课后测试题及答案最后一道题判断回文数的答案太复杂了,我写了一个简单好理解的
a=input('请输入一个正整数:')
n=len(a)
b=n//2
i=0
while i<b:
if int(a)!=int(a):
print(f'{a}不是回文数')
break
i=i+1
else:
print(f'{a}是回文数')
你好!很高兴看到你对回文数问题有自己的想法,并且尝试编写简单易懂的代码。你提供的代码思路是正确的,但似乎没有写完。我来帮你基于你的代码完善一个完整的版本。
这里是一个使用while循环判断回文数的简单程序:
a = input('请输入一个正整数:')
n = len(a)
b = n // 2
i = 0
while i < b:
if a != a:
print('不是回文数')
break
i += 1
else:
print('是回文数')
解释:
- a 是用户输入的正整数(作为字符串处理)。
- n 是字符串的长度。
- b 是长度的一半(使用整数除法)。
- 循环从 i=0 开始,比较字符串前一半和后一半的对应字符(即 a 和 a)。
- 如果发现任何不匹配,立即打印“不是回文数”并跳出循环。
- 如果循环完整执行(没有遇到break),则执行else部分,打印“是回文数”。
这个方法非常直观,易于理解。如果你有任何疑问,欢迎继续提问!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。 课程需要大家掌握最基础的写法~~
宝子这个优化,用“双指针”从两端向中间比较,一旦发现不相等就立刻 break,最坏只比较一半字符,时间复杂度 O(n/2)≈O(n),空间 O(1)
页:
[1]