当前位置: 首页 > news >正文

①python基础课-解决未知输入行数的A + B 问题

这是一段经典的 Python 代码,通常在算法竞赛(Competitive Programming)或在线评测系统(OJ)中用于解决未知输入行数的 "A + B" 问题。

以下是这段代码的运行原理,以及一些能让它变得更好的优化建议。

代码原理解析

  • while True::开启一个无限循环,让程序可以持续不断地读取输入。
  • data = input().split():读取标准输入的一行,并默认以空格为分隔符,将其拆分成一个字符串列表。
  • result = int(data[0]) + int(data[1]):提取列表中的前两个元素,将它们从字符串转换为整数(int)后进行相加计算。
  • try...except::这充当了程序的退出机制。当评测系统的数据输入完毕时,再调用 input() 会抛出 EOFError(End Of File,文件结束异常)。except 块会捕获这个错误,执行 break 跳出循环,从而让程序干净地结束。

改进建议

虽然您的代码完全可以应付简单的算法题,但它使用了一个**裸的 except:**(即没有指定异常类型的 except)。在 Python 中,这通常被认为是不好的编程习惯,因为它会捕获所有异常——甚至包括像 KeyboardInterrupt 这样的系统级异常。这意味着,如果您在本地终端运行测试时按下 Ctrl + C 想强制停止,程序会捕获这个中断信号并当做正常退出处理,而不是像预期那样抛出中断异常。

以下是两种更规范的写法:

方法一:捕获特定的异常(推荐用于简单脚本)

如果您想保持现有的结构,建议明确指定您想要捕获的异常(例如 EOFError)。

while True:try:data = input().split()result = int(data[0]) + int(data[1])print(result)except EOFError:break  # 只有在遇到输入文件结尾时才跳出循环except (IndexError, ValueError):continue  # 如果遇到空行或非数字字符,可以选择忽略并继续

方法二:使用 sys.stdin(推荐用于算法竞赛,速度更快)

在处理大量输入数据时,使用 sys.stdin 迭代器比使用 while Trueinput() 效率更高,并且它会自动处理文件结束的情况,无需使用 try...except

import sysfor line in sys.stdin:data = line.split()if len(data) >= 2:  # 确保这行至少有两个元素result = int(data[0]) + int(data[1])print(result)
http://www.jsqmd.com/news/424408/

相关文章:

  • 2026年口碑好的渗碳多用炉/密封箱式多用炉长期合作厂家推荐 - 行业平台推荐
  • 2026年深圳差示扫描量热仪好用的品牌盘点,哪家值得买 - 工业设备
  • 2026年热门的TikTok海外短视频培训,河北鱼本咨询性价比高 - myqiye
  • 2026年上海口碑好的婚恋机构盘点,专业婚恋机构哪家比较靠谱 - myqiye
  • 点读笔公司选购要点,好用的品牌大概多少钱 - 工业品牌热点
  • 2026年文旅标识牌文化元素植入,价格实惠又靠谱的品牌有哪些 - 工业推荐榜
  • 2026年国内老牌品牌检测企业哪家好,科检检测全国服务 - mypinpai
  • KBSGZY矿用隔爆型移动变电站价格多少,贵州地区行情如何? - 工业品网
  • 抚州上饶地区新能源汽车学校推荐,江西万通职业学院靠谱吗? - 工业品网
  • 热重分析仪根据预算选购,有什么好的建议? - 工业设备
  • 2026年重庆口碑好的房产服务公司推荐,深度解析知房置业靠谱吗 - 工业品牌热点
  • 湖北开放大学全省四级体系办学,对考建造师有帮助吗? - 工业推荐榜
  • 2026年比较好的滑冰场/滑冰场管道厂家口碑推荐汇总 - 行业平台推荐
  • 直接上结论:专科生必备的降AI神器 —— 千笔AI
  • 2026年口碑好的实验室反应釜来图定制企业,上海釜鼎有优势 - 工业推荐榜
  • 2026年评价高的无添加花椒油/四川花椒油出口高口碑厂家推荐(评价高) - 行业平台推荐
  • 2026年口碑好的建筑变形缝/外墙变形缝厂家信誉综合参考 - 行业平台推荐
  • 导师又让重写?8个降AI率平台深度测评,本科生必看!
  • 2026年知名的卡丁船电动喷泵/船用电动喷泵优质供应商推荐参考 - 行业平台推荐
  • 少走弯路:千笔AI,人气爆表的AI论文平台
  • 260301回来了,到学校了
  • 2026年知名的化工厂气动物流传输系统/新能源工厂气动物流传输系统热门品牌厂家推荐 - 行业平台推荐
  • 拖延症福音 8个AI论文工具:研究生毕业论文写作全测评
  • P9691 [GDCPC 2023] Base Station Construction题解
  • 实战指南:使用 kubeadm 构建高可用 Kubernetes 1.32 集群
  • redis (四) 达人探店
  • 无线充电是什么原理?会损耗电池吗?
  • 移动话费充值卡回收,聪明人的变现秘籍 - 京顺回收
  • GEO优化选购,火杉互联在深圳价格多少,好用不? - myqiye
  • FileLocatorPro_9.3.3544.1 x64 记录