首页 > 编程语言 >两个纯数字字符串相加Python实现版

两个纯数字字符串相加Python实现版

时间:2024-04-11 09:22:24浏览次数:29  
标签:__ num1 num2 Python 相加 len carry 字符串

"""
两个字符串相加
模拟两个大整数相加,但是不能直接相加,采用每一位相加的方式
"""


def add_large_numbers(num1, num2):
    # 反转字符串,方便从低位开始相加
    num1 = num1[::-1]
    num2 = num2[::-1]

    # 初始化结果列表和进位
    result = []
    carry = 0

    # 逐位相加
    i, j = 0, 0
    while i < len(num1) or j < len(num2) or carry:
        digit1 = int(num1[i]) if i < len(num1) else 0
        digit2 = int(num2[j]) if j < len(num2) else 0
        total = digit1 + digit2 + carry
        carry = total // 10
        digit = total % 10
        result.append(str(digit))
        i += 1
        j += 1

        # 反转结果列表并拼接成字符串
    return ''.join(result[::-1])


if __name__ == '__main__':
    num1 = "123456789012345678901234567890"
    num2 = "987654321098765432109876543210"
    print(add_large_numbers(num1, num2))

  

 

借鉴自B站视频

标签:__,num1,num2,Python,相加,len,carry,字符串
From: https://www.cnblogs.com/zhzhang/p/18128022

相关文章

  • Lumos学习python第九课:VSCode+Anaconda
    注意Anaconda版本和Python版本的对应关系,同一个Anaconda可以支持多个Python版本,注:现在vscode已原生支持jupyternotebook(要求Python版本>=3.6)Anaconda在Python解析器的基础上封装了很多Python包,尤其是涉及科学计算的,不用一个个下载,非常方便,且自带的conda包管理工具比较好用。......
  • Python 模块化设计
             模块化设计是一种软件设计方法,它将程序分解成小的、独立的部分,这些部分称为模块。每个模块都有它的功能,并且设计成可以被其他模块重用。在Python中,模块化设计不仅有助于代码的组织和维护,还能提升代码复用性和开发效率。        1.定义模块在Pyth......
  • 【测试开发学习历程】python迭代、可迭代对象、迭代器、生成器
    1迭代Iteration迭代Iteration:所谓迭代就是重复运行一段代码语句块的能力,就好比在一个容器中进行一层一层遍历数据,在应用过程中for循环最为突出。迭代就是从某个容器对象中逐个地读取元素,直到容器中没有元素为止。迭代迭代,更新换代,在上一次基础上更新成新的东西。#使用for循......
  • 【测试开发学习历程】python高阶函数
    目录1map()函数2reduce()函数3filter()函数4sorted()函数1map()函数map()函数语法:map(function,iterable)参数:function:函数iterable:一个或多个序列返回值:迭代器对象作用:map()是Python内置的高阶函数,它接收一个函数function和一个iterable,并通过把......
  • 2024年3月电子学会青少年软件编程 中小学生Python编程等级考试一级真题解析(判断题)
    2024年3月Python编程等级考试一级真题解析判断题(共10题,每题2分,共20分)26、turtle画布的坐标系原点是在画布的左上角答案:错考点分析:考查turtle相关知识,turtle画布坐标系是在画布的中点,答案错误27、Python变量名区分大小写,book和BOOK不是同一个变量答案:对考点分析:考查......
  • 【华为笔试题汇总】2024-04-10-华为春招笔试题-三语言题解(Python/Java/Cpp)
    ......
  • Python中关于finally的使用场景
    finally关键字在Python中用于定义一个代码块,该代码块在try-except结构中无论是否发生异常,或者在try块中执行了return、break、continue等控制流语句,都会被执行。finally子句提供了确保某些清理操作(如释放资源、关闭文件、断开连接等)始终执行的一种机制,即使程序在处理过程中遭遇异......
  • C语言: 字符串函数(下)
    片头在上一篇中,我们介绍了字符串函数。在这一篇章中,我们将继续学习字符串函数,准备好了吗?开始咯!1.strncpy函数1.1strncpy函数的用法strncpy是C语言中的一个字符串处理函数,它用于将一个字符串的一部分内容复制到另一个字符串中。其函数原型为:char*strncpy(char*dest......
  • leedcode-反转字符串中的元音字母
    自己写的,双指针,一次通过classSolution:defreverseVowels(self,s:str)->str:#将输入的字符串转换为列表s_list=list(s)#定义元音字母列表vowels=['a','e','i','o','u','A&......
  • python八大数据类型及方法
    【1】学习变量的目的学习变量有助于我们在程序中存储和操作数据,提高代码的灵活性和可维护性。通过使用变量,我们可以方便地引用和修改数据,使得程序能够动态地响应不同的输入和条件。【2】学习基本数据类型的目的学习基本数据类型有助于我们理解不同类型的数据在计算机中的表......