兄弟们答案是22,62,82吗

来源:5-8 Python二维list

慕的地5056956

2022-03-09 00:46

a=[1,2,3]

b=[5,3,2]

c=[7,3,2]

all=[a,b,c]

s1=(all[0][0]*all[0][1]+all[0][0]*all[0][2]+all[0][1]*all[0][2])*2

s2=(all[1][0]*all[1][1]+all[1][0]*all[1][2]+all[1][1]*all[1][2])*2

s3=(all[2][0]*all[2][1]+all[2][0]*all[2][2]+all[2][1]*all[2][2])*2

print(s1,s2,s3)


写回答 关注

5回答

  • AlvinCN
    2023-04-23 03:16:29

    # Enter a code

    L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]

    area = map(lambda x: x[0]*x[1]*2+x[0]*x[2]*2+x[1]*x[2]*2,L)

    print(area)

    # second way

    def get_area(x): return x[0]*x[1]*2+x[0]*x[2]*2+x[1]*x[2]*2

    print(map(get_area,L))


               
  • 慕勒3289230
    2022-05-04 07:09:41

    答案一样,但还是喜欢用函数,这样写太多了😂

  • weixin_慕圣3493772
    2022-04-02 19:57:09

    是的。

    L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]

    for cube in L:#对每个一维数组,计算其三个边的成绩之和的两倍就是表面积

        area=(cube[0]*cube[1]+cube[1]*cube[2]+cube[0]*cube[2])*2

        print(area)


  • 送东野
    2022-03-10 20:45:21

    # coding=utf8


    L = [[1, 2, 3], [5, 3, 2], [7, 3, 2]]

    x = 0

    for a in L : 

        p = 0

        y = 0

        for b in L :

            z = y + 1

                for c in L :

                    if z<3:

                        s = L[x][y] * L[x][z] * 2

                        p = p + s

                        z+=1

                    else:

                        break

                y+=1

        x+=1

        print (p)

    使用循环和条件判断语句,让程序自行计算

  • 慕虎0202572
    2022-03-09 10:00:08

    (1*2+1*3+2*3)*2=22;(5*3+5*2+3*2)*2=62;(7*3+7*2+2*3)*2=82,但是需要注意的是“,”起的是空格的作用,最终输出结果是22 62 82而不是22,62,82

Python3 入门教程(新版)

python3入门教程,让你快速入门并能编写简单的Python程序

156751 学习 · 1092 问题

查看课程

相似问题