Hello阿娜達(dá)!
1)輸入一個(gè)由n(n>1)個(gè)數(shù)字組成的列表 ls,并根據(jù)該列表輸出一個(gè)新列表lt,其中l(wèi)t中第i個(gè)元素等于ls中除ls[i]之外所有元素的乘積。
2)注意:輸入輸出均為列表。例如:輸入[1,2,3,4],輸出[24, 12, 8, 6]。
3)輸入代碼并提交解答。
注意:提交代碼時(shí)請刪除input()函數(shù)中的參數(shù),否則會出現(xiàn)錯(cuò)誤。
代碼:
lt = eval(input(""))? #eval()函數(shù)作用:去掉""然后執(zhí)行語句,eval(input(""))
s = 1
res = []? #【】
for i in range(len(lt)):? #原數(shù)組循環(huán)
? ? tem = lt[:]? #L[:]是原樣復(fù)制一個(gè)list
? ? tem.pop(i)? #pop函數(shù):移除列表中的元素
? ? for j in tem:? #移除后的數(shù)組循環(huán)
? ? ? ? s *= j? #移除后的數(shù)組乘以復(fù)制數(shù)組s=s*j
? ? res.append(s)? #在數(shù)組尾端加入數(shù)字
? ? s = 1 #s重新為1進(jìn)入循環(huán)
print(res)? #輸出后直接帶【】
理解
eval()函數(shù):將字符串轉(zhuǎn)為Python語句。如果直接用input()輸入,數(shù)據(jù)會以字符串形式返回,如果是輸入?yún)⑴c計(jì)算的數(shù)字就需要轉(zhuǎn)換類型,就可以直接用eval(),即eval(input("請輸入數(shù)字"))。
