You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

判断两数是否含相同数字的Python程序大数字无输出问题求助

数字公共字符检测程序的修复

需求与问题

需求:给定两个任意长度、允许数字重复的数字,若二者包含相同数字,打印Numerele sunt prietene;否则打印Numerele nu sunt prietene。
问题:输入大数字时程序无任何输出。

原代码问题分析

原代码核心逻辑存在严重漏洞:

  • 仅当nr1的最后一位与nr2的某一位匹配时才触发输出,若匹配数字不在nr1末尾,程序不会执行输出操作
  • 嵌套循环中val的重置和判断逻辑混乱,部分场景下会直接跳出循环却不输出结果

修复方案

简化逻辑,利用集合交集操作快速判断两个数字字符串是否存在公共字符,代码如下:

# 直接读取输入为字符串,无需转整数,处理大数字更高效
a = input("a → ")
b = input("b → ")

# 集合交集判断是否存在公共数字
if set(a) & set(b):
    print("Numerele sunt prietene")
else:
    print("Numerele nu sunt prietene")

方案说明

  • 以字符串形式读取输入,避免大整数转换的冗余操作
  • 集合交集set(a) & set(b)会返回两个字符串的公共字符集合,集合非空则说明存在相同数字
  • 逻辑简洁清晰,彻底规避原代码的嵌套循环逻辑错误,无论数字长度多大都能正确输出结果

内容的提问来源于stack exchange,提问作者Mihai Creciun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 05:31:32