Python 代码非零返回问题解决:用正则表达式精准计算单词出现次数与位置
使用 Python 编写的代码在处理输入样例时出现非零返回的问题,可能是在计算单词首次出现位置时逻辑有误,对单词和空格的处理不准确,从而导致计算出的位置出错。Python 代码可能没有考虑到文章首尾存在连续空格的情况,这也会影响位置的计算准确性。 解决方案 以下是优化后的 Python 代码,综合考虑各种边界情况,借助正则表达式和字符串的处理方法来准确计算单词出现次数和首次出现位置,确保计算的准确性。 ```python import re # 读取输入的目标单词,并转换为小写 target_word = input().lower() # 读取文章内容,并转换为小写 article = input().lower() # 构建正则表达式模式,用于匹配独立的目标单词 pattern = r'\b' + re.escape(target_word) + r'\b' # 使用 finditer 函数查找所有匹配的单词 matches = list(re.finditer(pattern, article)) # 计算匹配的数量 count = len(matches) # 如果有匹配结果 if count: # 获取第一个匹配结果的起始位置 first_position = matches[0].start() print(f"{count} {first_position}") else: print(-1) ``` 代码解释 1. 正则表达式的使用:代码中使用 `r'\b' + re.escape(target_word) + r'\b'` 来构建正则表达式模式,其中 `\b` 是单词边界的元字符,`re.escape(target_word)` 会对目标单词中的特殊字符进行转义,确保正则表达式能够正确匹配目标单词。 2. 查找所有匹配:使用 `re.finditer(pattern, article)` 函数来查找文章中所有匹配目标单词的位置,结果存储在 `matches` 列表中。 3. 计算匹配数量和首次出现位置:通过 `len(matches)` 计算匹配的数量 `count`,若 `count` 大于 0,则通过 `matches[0].start()` 获取第一个匹配结果的起始位置 `first_position`。 这个代码逻辑简单明了,避免了之前位置计算时的复杂逻辑,同时保证了在各种情况下都能准确计算目标单词的出现次数和首次出现位置。 ######[AI问答 | 506点数解答 | 2025-12-15 17:34:18]
- Python 运行报错:urllib3 网络连接创建失败,原因及排查建议(字节豆包 | 161点数解答 | 2024-10-31 00:39:36)445
- 数轴旅行:从原点出发,能否到达目标位置?(字节豆包 | 225点数解答 | 2026-01-23 19:51:03)34
- 巧用正则表达式:精准匹配字符串中第二个重复字符(DeepSeek | 229点数解答 | 2025-06-12 15:27:32)112
- Python Tkinter 代码剖析:GUI 程序搭建与窗口居中函数解析(字节豆包 | 314点数解答 | 2024-08-02 14:49:22)326
- Python 实战:学生信息列表转字典、遍历、深拷贝及数据修改全流程(GPT | 422点数解答 | 2024-10-29 15:43:54)403
- Python实战:学生成绩列表转字典,深拷贝与数据修改操作全解析(字节豆包 | 254点数解答 | 2024-10-29 16:01:39)392
- 数字化制图综合平台:助力企业转型,推动烟草物流图纸智能化设计 (字节豆包 | 490点数解答 | 2024-10-30 20:30:29)131
- 数字化制图综合平台:引领烟草物流及多领域设计革新 在企业数字化转型的时代浪潮中,数字化制图技术创新应用成为产业升级与提升竞争力的关键。企业对高效、精准、智能化设计解决方案需求迫切,构建集二维到三维正逆向工程快捷化、干涉检测可视化、设备明细数据提取自动化以及设备模块模型库于一体的综合平台意义重大。 此平台集成先进数字化制图工具与智能算法,可实现二维设计到三维建模的无缝转换,大大缩短设计周期。正逆向工程能快速切换,满足不同场景设计需求。内置干涉检测功能可实时监测设计潜在冲突,保障设计方案可行与安全。设备明细数据自动提取提高设计准确性与效率。设备模块模型库为设计师提供丰富资源,支持设计标准化与模块化,加速项目推进。 整体来看,该综合平台的应用极大促进了烟草物流行业及更广泛领域的技术创新与效率提升。在烟草物流方案图纸智能化设计中,它提升了图纸设计效率与质量,使设计工作更加高效、精准。对于企业而言,这一平台带来显著竞争优势,能帮助企业在数字化转型中脱颖而出,在激烈的市场竞争中占据有利地位,推动整个行业向更高效、更智能的方向发展。 (阿里通义 | 216点数解答 | 2024-10-30 20:30:51)136
- Python 与 C 语言:一行字符串中单词个数统计的实现与解析(字节豆包 | 658点数解答 | 2025-12-07 17:39:44)29
- Python 实现输入字符串统计单词个数,轻松解决连续空格难题!(DeepSeek | 141点数解答 | 2025-12-14 20:12:06)41
- C 语言实现内存块分配:优化算法、边界检查与错误处理(字节豆包 | 303点数解答 | 2024-12-06 18:12:20)216
- Python 破解回文整数判断难题:代码、逻辑与优化全解析(百度文心 | 257点数解答 | 2024-12-17 15:06:30)288