蓝桥杯练习题 —— 高精度加法(python)

python优势

# encoding = utf-8
# 开发者:xxx
# 开发时间: 16:48 
# "Stay hungry,stay foolish."

a = int(input())
b = int(input())

print(a + b)

正常

# encoding = utf-8
# 开发者:xxx
# 开发时间: 16:48 
# "Stay hungry,stay foolish."

def add_large_numbers(a, b):
    # 获取两数据的长度
    len_a, len_b = len(a), len(b)

    # 补齐长度,使两个数组长度相等
    if len_a < len_b:
        a = [0] * (len_b - len_a) + a
    else:
        b = [0] * (len_a - len_b) + b

    result = []
    carry = 0  # 进位

    # 逐位相加
    for i in range(len(a) - 1, -1, -1):
        digit_sum = a[i] + b[i] + carry
        carry = digit_sum // 10
        result.insert(0, digit_sum % 10)
        # insert(0, ...) 操作可以在 result 的最前面插入新的数字

    # 处理最高位的进位
    if carry:
        result.insert(0, carry)

    return result

# 输入两个大整数的数组表示
a = list(map(int, input().strip()))
b = list(map(int, input().strip()))

# 计算两个大整数的和
result = add_large_numbers(a, b)

# 输出结果
print(''.join(map(str, result)))

所用方法

list(map(int, input().strip()))

这段代码实现了从用户输入获取一个字符串,然后将该字符串中的每个字符转换为整数,并将结果存储在一个列表中。让我逐步解释:

  1. input(): 这个函数用于从用户获取输入。程序会暂停运行,直到用户输入内容并按下回车键。用户输入的内容被作为字符串返回。

  2. input().strip(): strip() 方法用于去除字符串两端的空白字符(空格、制表符、换行符等)。这是为了确保用户输入的内容不包含任何额外的空白。

  3. map(int, input().strip()): 这一部分利用了 map() 函数,将 int() 函数应用于输入的字符串中的每个字符。这样做的效果是将字符串中的每个字符转换为整数。

  4. list(...): 将 map() 函数返回的结果转换为列表。这样做的目的是将整数转换后的结果存储在列表中,以便后续使用。

综合起来,这段代码的作用是获取用户输入的字符串,然后将该字符串中的每个字符转换为整数,并将结果存储在一个列表中。

print(''.join(map(str, result)))

这段代码的作用是将一个列表(或其他可迭代对象)中的元素转换为字符串,并以空字符串连接起来,然后将结果打印出来。让我逐步解释:

  1. map(str, result): 这一部分利用了 map() 函数,将 str 函数应用于列表 result 中的每个元素,将其转换为字符串。

  2. ''.join(...): 这是字符串对象的 join() 方法,它接受一个可迭代对象作为参数,并将其元素连接成一个字符串。在这里,空字符串 '' 被用作连接符,这意味着列表中的元素将直接连接在一起,没有任何额外的字符。

  3. print(...): 最后,print() 函数用于将连接后的字符串打印到控制台。

综合起来,这段代码的作用是将列表 result 中的元素转换为字符串,并将它们连接成一个字符串,然后打印出来。

相关推荐

  1. 练习题 —— 精度加法python

    2024-04-13 00:56:01       37 阅读
  2. 练习题 —— Fibonacci数列(python

    2024-04-13 00:56:01       34 阅读
  3. 练习题

    2024-04-13 00:56:01       58 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-13 00:56:01       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-13 00:56:01       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-13 00:56:01       87 阅读
  4. Python语言-面向对象

    2024-04-13 00:56:01       96 阅读

热门阅读

  1. Rust - 函数

    2024-04-13 00:56:01       44 阅读
  2. C++提升17:C++快速回顾

    2024-04-13 00:56:01       22 阅读
  3. 10种保护dns的方法

    2024-04-13 00:56:01       33 阅读
  4. vue3 vuex 4.x 持久化

    2024-04-13 00:56:01       32 阅读
  5. 富格林:注重虚假阻挠受骗亏损

    2024-04-13 00:56:01       36 阅读
  6. vue3组件TS类型声明实例代码

    2024-04-13 00:56:01       42 阅读