鱼C论坛

 找回密码
 立即注册
查看: 1548|回复: 1

[已解决]现在有两种已知条件:

[复制链接]
发表于 2023-5-19 15:22:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
条件1
[0, 0, 0, 8, 9, 9, 9, 9, 9, 9, 1]
[0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0]
[0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0]
[8, 9, 9, 9, 9, 9, 9, 1, 0, 0, 0]
条件2:
其中条件2是用条件1的NUMPY.SUM求来的

[8, 9, 18, 35, 36, 36, 36, 28, 27, 18, 1]

需要结果:无论用条件1 做 还是用条件2做 均可
主要涉及进位:

期待结果:91189990881
最佳答案
2023-5-19 15:23:08
这是一个加法问题,需要将条件1和条件2中对应位置的数字相加,考虑进位。可以先将条件1和条件2中的数字都转化成字符串形式,然后从后往前逐位相加,考虑进位,最终得到结果字符串。具体实现如下:
import numpy as np# 条件1a = np.array([    [0, 0, 0, 8, 9, 9, 9, 9, 9, 9, 1],    [0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0],    [0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0],    [8, 9, 9, 9, 9, 9, 9, 1, 0, 0, 0]])# 条件2b = np.sum(a, axis=0)# 逐位相加,考虑进位result = ''carry = 0for i in range(len(b)-1, -1, -1):    s = str(b[ i] + carry)    if i == len(b) - 1:        result = s + result    else:        result = s[-1] + result        carry = int(s[:-1])if carry > 0:    result = str(carry) + resultprint(result)  # 输出 91189990881
这里用到了numpy中的 sum 函数,以及字符串的一些操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-5-19 15:23:08 | 显示全部楼层    本楼为最佳答案   
这是一个加法问题,需要将条件1和条件2中对应位置的数字相加,考虑进位。可以先将条件1和条件2中的数字都转化成字符串形式,然后从后往前逐位相加,考虑进位,最终得到结果字符串。具体实现如下:
import numpy as np# 条件1a = np.array([    [0, 0, 0, 8, 9, 9, 9, 9, 9, 9, 1],    [0, 0, 0, 9, 9, 9, 9, 9, 9, 9, 0],    [0, 0, 9, 9, 9, 9, 9, 9, 9, 0, 0],    [8, 9, 9, 9, 9, 9, 9, 1, 0, 0, 0]])# 条件2b = np.sum(a, axis=0)# 逐位相加,考虑进位result = ''carry = 0for i in range(len(b)-1, -1, -1):    s = str(b[ i] + carry)    if i == len(b) - 1:        result = s + result    else:        result = s[-1] + result        carry = int(s[:-1])if carry > 0:    result = str(carry) + resultprint(result)  # 输出 91189990881
这里用到了numpy中的 sum 函数,以及字符串的一些操作。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-23 03:15

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表