欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 文化 > 洛谷题单3-P1307 [NOIP 2011 普及组] 数字反转-python-流程图重构

洛谷题单3-P1307 [NOIP 2011 普及组] 数字反转-python-流程图重构

2025/4/18 11:50:40 来源:https://blog.csdn.net/BECOMEviolet/article/details/146996649  浏览:    关键词:洛谷题单3-P1307 [NOIP 2011 普及组] 数字反转-python-流程图重构

题目描述

给定一个整数 N N N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。

输入格式

一个整数 N N N

输出格式

一个整数,表示反转后的新数。

输入输出样例

输入

123

输出

321

说明/提示

【数据范围】

$-1,000,000,000\leq N\leq 1,000,000,000 $。

方式

代码

class Solution:@staticmethoddef oi_input():"""从标准输入读取数据"""num = input().strip()return num@staticmethoddef oi_test():"""提供测试数据"""return "123"@staticmethoddef solution(num):if num == '0':print(0)else:sign = '-' if num.startswith('-') else ''  # 符号num_str = num[1:] if sign else num  # 数值reversed_str = num_str[::-1].lstrip('0')  # 反转加除去左边的零print(sign + reversed_str)oi_input = Solution.oi_input
oi_test = Solution.oi_test
solution = Solution.solutionif __name__ == '__main__':num = oi_test()# num = oi_input()solution(num)

流程图

开始
输入数字字符串num
num == '0'?
输出0
提取符号sign
sign = '-' if num以'-'开头 else ''
提取数值部分num_str
num_str = num[1:] if sign存在 else num
反转并去除前导零
reversed_str = num_str[::-1].lstrip('0')
reversed_str为空?
reversed_str = '0'
保持reversed_str不变
组合结果: sign + reversed_str
输出最终结果
结束

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词