卡卡布布 发表于 2020-3-28 20:03:28

求教

用户输入a、b两个列表,计算两个列表对应元素的乘积的累加和。如果列表长度不一致,则以较短的列表为主,忽略较长列表的其他元素。如列表a=,列表b=,则对应元素乘积的累加和为1*4+2*5+3*6=32。

永远的渣滓 发表于 2020-3-28 20:06:01

所以呢?

冬雪雪冬 发表于 2020-3-28 20:06:46

>>> a=
>>> b=
>>> c = 0
>>> for i, j in zip(a, b):
        c += i * j

       
>>> print(c)
32

卡卡布布 发表于 2020-3-28 20:11:15

a = list(input("输入一个列表:"))
b = list(input("输入第二个列表" ))
c=0
for i, j in zip(a, b):
      c += i * j
      print(c)

我这个哪里错了呢?

BngThea 发表于 2020-3-28 20:13:32

卡卡布布 发表于 2020-3-28 20:11
a = list(input("输入一个列表:"))
b = list(input("输入第二个列表" ))
c=0


input返回的是字符串,需要转换为数值才能做数学运算

卡卡布布 发表于 2020-3-28 20:13:49

冬雪雪冬 发表于 2020-3-28 20:06


a = list(input("输入一个列表:"))
b = list(input("输入第二个列表" ))
c=0
for i, j in zip(a, b):
      c += i * j
      print(c)

我这个哪里错了呢?

冬雪雪冬 发表于 2020-3-28 20:15:33

卡卡布布 发表于 2020-3-28 20:13
a = list(input("输入一个列表:"))
b = list(input("输入第二个列表" ))
c=0


>>> a =
输入一个列表:1,2,3
>>> a

冬雪雪冬 发表于 2020-3-28 20:17:32

卡卡布布 发表于 2020-3-28 20:13
a = list(input("输入一个列表:"))
b = list(input("输入第二个列表" ))
c=0


或者:
>>> a = list(eval(input("输入一个列表:")))
输入一个列表:
>>> a

卡卡布布 发表于 2020-3-28 20:18:55

BngThea 发表于 2020-3-28 20:13
input返回的是字符串,需要转换为数值才能做数学运算

a = list(int(input("输入一个列表:")))
b = list(int(input("输入第二个列表" )))
c=0
for i, j in zip(a,b):
      c += i * j
      print(c)
能给改一下吗,谢谢!!

BngThea 发表于 2020-3-28 20:27:46

卡卡布布 发表于 2020-3-28 20:18
a = list(int(input("输入一个列表:")))
b = list(int(input("输入第二个列表" )))
c=0


上面大佬给了修改代码
页: [1]
查看完整版本: 求教