网站首页 > 技术文章 正文
1、编程试题:
回文数是指从前往后读和从后往前读都是一样的数字,比如 121。
最近的回文数指的是离给定数字最近的回文数,比如给定数字 125,最近的回文数是121。
编写一个程序,查找离给定整数最近的回文数。
定义函数find_closest_palindrome(),参数为num。
在函数内部,返回最近的回文数。如果有两个回文数的绝对距离相同,返回较小的数。
如果给定数字本身就是回文数,则返回该数字。
示例输入
245
示例输出
242
解释:
测试输入 245 的最近回文数是 242。
2、代码实现:
可编辑代码如下:
#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time : 2024/2/11 7:46
# @Author : fangel
# @FileName : 108. 查找最近的回文数.py
# @Software : PyCharm
def is_palindrome(n):
return str(n) == str(n)[::-1]
# 定义函数
def find_closest_palindrome(num):
#步骤1:num是回文数就直接返回
if is_palindrome(num):
return num
#步骤2:将num赋值给i和j,i循环计数不断增加,j循环计数不断减少,目的是找出高于和低于num的两个数
i = num
j = num
while(True):
if not is_palindrome(i):
i += 1
else:
break
while (True):
if not is_palindrome(j):
j -= 1
else:
break
#步骤3:找到这两个数后,再来判断和num之间的距离,找出离num最近的数
if i - num >= num - j:
return j
else:
return i
# 从用户处获取输入
num = int(input())
# 调用函数
print(find_closest_palindrome(num))
3、代码分析:
本例先设计一个函数用于判断是否是回文数;然后在左右查找回文数后判断与当前数字的距离,以便找到最近的数字;
4、运行结果:
输入:
24
输出:
22
猜你喜欢
- 2025-05-05 【C++/Python语言插班试听|9月15-17日】爱思创秋季班开课啦!
- 2025-05-05 从清华退学,被微软封杀,牛人王垠:没有一家公司值得我为他工作
- 2025-05-05 Python第11题:盛最多水的容器【leetcode】
- 2025-05-05 Python编程基础:课程导读(python编程入门课 视频)
- 2025-05-05 数据管理与应用试题库(数据管理考试题库)
- 2025-05-05 墙裂推荐,5个学习Python编程最佳的开源库
- 2025-05-05 Python第123题:计算直角三角形底边斜边【PythonTip题库300题】
- 2025-05-05 Python第17题:三数之和【leetcode】
- 2025-05-05 【PythonTip题库精编300题】第34题:数字字符串相加
- 2025-05-05 Python第18题:最接近的三数之和【leetcode】
- 263℃Python短文,Python中的嵌套条件语句(六)
- 262℃python笔记:for循环嵌套。end=""的作用,图形打印
- 261℃PythonNet:实现Python与.Net代码相互调用!
- 256℃Python实现字符串小写转大写并写入文件
- 255℃Python操作Sqlserver数据库(多库同时异步执行:增删改查)
- 113℃原来2025是完美的平方年,一起探索六种平方的算吧
- 96℃Python 和 JavaScript 终于联姻了!PythonMonkey 要火?
- 87℃Ollama v0.4.5-v0.4.7 更新集合:Ollama Python 库改进、新模型支持
- 最近发表
- 标签列表
-
- python中类 (31)
- python 迭代 (34)
- python 小写 (35)
- python怎么输出 (33)
- python 日志 (35)
- python语音 (31)
- python 工程师 (34)
- python3 安装 (31)
- python音乐 (31)
- 安卓 python (32)
- python 小游戏 (32)
- python 安卓 (31)
- python聚类 (34)
- python向量 (31)
- python大全 (31)
- python次方 (33)
- python桌面 (32)
- python总结 (34)
- python浏览器 (32)
- python 请求 (32)
- python 前端 (32)
- python验证码 (33)
- python 题目 (32)
- python 文件写 (33)
- python中的用法 (32)