马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
这是一个加法问题,需要将条件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 函数,以及字符串的一些操作。
|