Hello阿娜达!
1)输入一个由n(n>1)个数字组成的列表 ls,并根据该列表输出一个新列表lt,其中lt中第i个元素等于ls中除ls[i]之外所有元素的乘积。
2)注意:输入输出均为列表。例如:输入[1,2,3,4],输出[24, 12, 8, 6]。
3)输入代码并提交解答。
注意:提交代码时请删除input()函数中的参数,否则会出现错误。
代码:
lt = eval(input("")) #eval()函数作用:去掉""然后执行语句,eval(input(""))
s = 1
res = [] #【】
for i in range(len(lt)): #原数组循环
tem = lt[:] #L[:]是原样复制一个list
tem.pop(i) #pop函数:移除列表中的元素
for j in tem: #移除后的数组循环
s *= j #移除后的数组乘以复制数组s=s*j
res.append(s) #在数组尾端加入数字
s = 1 #s重新为1进入循环
print(res) #输出后直接带【】
理解
eval()函数:将字符串转为Python语句。如果直接用input()输入,数据会以字符串形式返回,如果是输入参与计算的数字就需要转换类型,就可以直接用eval(),即eval(input("请输入数字"))。

网友评论