Python 大数字相加(整数)

问题:Python 中,进行求和操作时,当整数超过20位时,会产生科学计数法,不能显示完整的数字。

思路:从右向左,相同位上数字相加,有进位的保留进位,加入下轮的数字相加,最后的出结果字符串。

# num1, num2 两个字符串
def long_int_sum(num1,num2):
    # 参数准备
    carry = 0 # 默认进位为0
    res = ""  # 最后结果

    # 1.倒序字符串,方便处理
    num1 , num2 = num1[::-1], num2[::-1]
    #2 长短交换
    if len(num1) > len(num2): 
        num1, num2 = num2, num1
    #3 存储长度
    size1 = len(num1)
    size2 = len(num2)
    #4 循环计算
    #4.1 二者重合区域
    for n in range(size2):
        # a 求和
        temp = int(num1[n]) + int(num2[n]) + carry
        # b 求模
        carry = temp // 10
        # c 求余 并赋值
        res = str(temp % 10) + res
    #4.2 较长数字多出来的区域
    for n in range(size2,size1): 
        temp = int(num1[n]) + carry
        carry = temp // 10
        res = str(temp % 10) + res
    if carry > 0:
        res = str(carry) + res
    return res

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python 支持字符串和整数之间的相加运算,但是不支持字符串和其他类型的数据(例如浮点数、布尔值等)进行相加操作。如果您需要将字符串和其他类型的数据相加,您需要将其他类型的数据转换为字符串类型,然后再与字符串相加。例如: ``` string = 'Hello' integer = 42 result = string + str(integer) print(result) # 输出:Hello42 ``` 同样地,如果您需要将字符串中的数字和其他数字相加,您需要先将字符串中的数字转换为整数或浮点数,然后再进行相加操作。例如: ``` string = '42' integer = 10 result = int(string) + integer print(result) # 输出:52 ``` 需要注意的是,如果您的字符串中包含非数字的字符,将无法将其转换为数字类型,这时会抛出 TypeError 异常。 ### 回答2: Python是一种灵活的编程语言,支持将字符与整数相加Python使用强大的动态类型系统,允许我们在不同类型之间进行操作。当将字符与整数相加时,Python会将整数转换为字符,并将字符连接在一起,而不是执行数学运算。比如,如果我们将字符"1"和整数2相加Python会得到字符串"12"作为结果。这种特性允许我们在字符串中插入变量或数字,并且非常方便。 下面是一个简单的示例代码,展示了Python中字符与整数相加的实际应用: ```python num = 10 message = "我有" + str(num) + "个苹果。" print(message) ``` 输出结果是:"我有10个苹果。"。 在上面的代码中,我们将整数变量`num`转换为字符串类型,并将其与其他字符一起连接。无论整数是什么值,Python都会对其进行适当的转换,并将结果作为字符串输出。 总结来说,Python支持字符与整数相加,并在操作时进行类型转换。这样的功能使得Python在处理字符串和数字的结合时非常方便。 ### 回答3: Python支持字符与整数相加。 在Python中,可以通过使用加号(+)运算符将字符与整数相加。当字符与整数相加时,Python会将整数作为ASCII码值进行处理,然后将其与对应的字符进行连接。 例如,可以执行以下操作: ```python char = 'A' num = 65 result = char + str(num) print(result) # 输出:A65 ``` 在上述代码中,字符'A'与整数65相加后得到了'A65',这是由于整数65代表了ASCII码表中的字符'A'。相同的基本原理也适用于其他的字符与整数相加的情况。 需要注意的是,对于非数字类型的字符,例如字母、符号等,与整数相加时需要先将整数转换为字符串类型。这可以使用内置的str()函数来完成,将整数转换为字符串以便实现正确的连接。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值