nbwubo 发表于 2023-3-13 14:24:41

数列编程

请教高手指教下这道数列编程题,十分感谢!

jhq999 发表于 2023-3-13 16:50:35

初学者互谅互让
a=[[],[],[],]
for i in range(3):
    a=
alen=),len(a),len(a)]
i=0
sum=0
while i<alen or i<alen or i<alen:
    if i<alen:
      a=a
    else:
      a=0
    if i<alen:
      a=a
    else:
      a=0
    if i<alen:
      a=a
    else:
      a=0
    sum+=max(max(a,a),a)
    i+=1
print(sum)
6 8 1 5 2 3 5 3 7 9
7 6 2 9
9 3 4 6 1 8 6 4 2 8 4
70

君无泪 发表于 2023-3-13 19:33:07

def arraysum(nums):
        max_list = []
        nums =
        for i, value in enumerate(nums):
                whilelen(value) < max():
                        nums.append(0)
       
        for i in range(0, len(nums), 3):
                num = nums
               
                for j in range(len(num)):
                                max_list.append(max() for i in num]))
                               
        return sum(max_list)
       


nums = "1 3 5\n2 4 6 8\n7 2 9"

print(arraysum(nums))

nbwubo 发表于 2023-3-14 08:58:14

jhq999 发表于 2023-3-13 16:50
初学者互谅互让

麻烦能够解释下每行代码的作用吗?

nbwubo 发表于 2023-3-14 08:58:58

君无泪 发表于 2023-3-13 19:33
def arraysum(nums):
        max_list = []
        nums =


麻烦解释下每行代码的作用!

jhq999 发表于 2023-3-14 09:41:28

nbwubo 发表于 2023-3-14 08:58
麻烦能够解释下每行代码的作用吗?

哪里看不明白

nbwubo 发表于 2023-3-14 11:45:34

jhq999 发表于 2023-3-14 09:41
哪里看不明白

a=[[],[],[],] 第一条是创建三个空数组吗?

jhq999 发表于 2023-3-14 12:23:40

nbwubo 发表于 2023-3-14 11:45
a=[[],[],[],] 第一条是创建三个空数组吗?

nbwubo 发表于 2023-3-14 14:07:38

jhq999 发表于 2023-3-14 12:23


for 循环是接受用户输入三组列表,并存储下来?

jhq999 发表于 2023-3-14 16:38:35

本帖最后由 jhq999 于 2023-3-14 16:45 编辑

nbwubo 发表于 2023-3-14 14:07
for 循环是接受用户输入三组列表,并存储下来?

没错,是把字符串按空格切片后以整数形式保存下来a=[[],[],[],]
for i in range(3):
    a=
alen=),len(a),len(a)]#三个子列表的长度
i=0
sum=0
while i<alen or i<alen or i<alen:#为了以最长列表循环
    if i<alen:#i小于子列表长度让列表元素a赋值给a,i大于等于列表长度a赋值为0,下面同理
      a=a
    else:
      a=0
    if i<alen:
      a=a
    else:
      a=0
    if i<alen:
      a=a
    else:
      a=0
    sum+=max(max(a,a),a)//在a,a,a中找最大的和sum相加再赋值给sum
    i+=1
print(sum)

君无泪 发表于 2023-3-14 19:32:31

nbwubo 发表于 2023-3-14 08:58
麻烦解释下每行代码的作用!

def arraysum():
        nums = []
        maxsum = 0
        # 获取用户输入并转为字符串数组
        while len(nums) <3:
                strarray =
                nums.append(strarray)

        # 遍历字符串数组 nums,对子列表长度小于子列表最大长度的列表进行补0
        for index, value in enumerate(nums):
                whilelen(value) < max():
                        nums.append(0)
       
        # 按列获取列表中的元素并转为int类型找出每一列的最大值进行求和
        for j in range(len(nums)):
                maxsum += max() for i in nums])
                               
        return maxsum

print(arraysum())

nbwubo 发表于 2023-3-15 14:35:21

jhq999 发表于 2023-3-14 16:38
没错,是把字符串按空格切片后以整数形式保存下来

数字之间的空格怎么判断的?

jhq999 发表于 2023-3-15 14:42:05

nbwubo 发表于 2023-3-15 14:35
数字之间的空格怎么判断的?

split函数根据你给的参数判断

nbwubo 发表于 2023-3-16 13:28:53

君无泪 发表于 2023-3-14 19:32
def arraysum():
        nums = []
        maxsum = 0


# 遍历字符串数组 nums,对子列表长度小于子列表最大长度的列表进行补0
补0 的作用是来比较这一列的最大数吗?

nbwubo 发表于 2023-3-16 13:34:00

jhq999 发表于 2023-3-14 16:38
没错,是把字符串按空格切片后以整数形式保存下来

while 循环的作用是遍历3行数组,来比对每一列的最大数?
变量i 和 变量 sum 主要存储那些数字?

jhq999 发表于 2023-3-16 16:16:17

本帖最后由 jhq999 于 2023-3-16 16:18 编辑

nbwubo 发表于 2023-3-16 13:34
while 循环的作用是遍历3行数组,来比对每一列的最大数?
变量i 和 变量 sum 主要存储那些数字?
对,对比选出三个列表每列最大的数
i数列的下标,sum每列最大数的和

君无泪 发表于 2023-3-16 18:10:49

nbwubo 发表于 2023-3-16 13:28
# 遍历字符串数组 nums,对子列表长度小于子列表最大长度的列表进行补0
补0 的作用是来比较这一列的最 ...

嗯,把所以子列表的长度对齐。这边方便按索引来取值进行对比。

nbwubo 发表于 2023-3-23 09:13:23

jhq999 发表于 2023-3-14 16:38
没错,是把字符串按空格切片后以整数形式保存下来

a, a,a 作用是啥?切片用法吗?

jhq999 发表于 2023-3-23 12:38:42

本帖最后由 jhq999 于 2023-3-23 12:40 编辑

nbwubo 发表于 2023-3-23 09:13
a, a,a 作用是啥?切片用法吗?

储存三个列表每个列的值,超过列表长度赋值为零,为了后面同列取最大

nbwubo 发表于 2023-3-23 13:01:33

jhq999 发表于 2023-3-23 12:38
储存三个列表每个列的值,超过列表长度赋值为零,为了后面同列取最大

,, 分别表示第一,第二,第三个列表?
页: [1] 2
查看完整版本: 数列编程