?
目錄
?
6-3
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
?6-4
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
?6-5
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
?6-6
輸入格式:
輸出格式:
輸入樣例:
輸出樣例:
6-3
第6章-3 列表或元組的數字元素求和
分數 20
全屏瀏覽
切換布局
作者?陳春暉
單位?浙江大學
求列表中數字和,列表中嵌套層次不限2層
輸入格式:
在一行中輸入列表或元組
輸出格式:
在一行中輸出數字的和
輸入樣例:
在這里給出一組輸入。例如:
[11,2,[3,7],(68,-1),"123",9]
輸出樣例:
在這里給出相應的輸出。例如:
99
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB
棧限制
8192 KB
def func(i):sum=0if type(i)==list or type(i)==tuple:for j in i:sum+=func(j)return sumelif type(i)==int:return ielse:return 0 print(func(eval(input())))
?6-4
第6章-4 列表數字元素加權和(1)
分數 40
全屏瀏覽
切換布局
作者?陳春暉
單位?浙江大學
輸入一個嵌套列表,嵌套層次不限,根據層次,求列表元素的加權和。第一層每個元素
的值為:元素值*1,第二層每個元素的值為:元素值*2,第三層每個元素的值為:元素值*3,
...,以此類推!輸入格式:
在一行中輸入列表
輸出格式:
在一行中輸出加權和
輸入樣例:
在這里給出一組輸入。例如:
[1,2,[3,4,[5,6],7],8]
輸出樣例:
在這里給出相應的輸出。例如:
72
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB
棧限制
8192 KB
def func(i,layer):#相較于第一題,只需要多一個層數的參數即可sum=0if type(i)==list or type(i)==tuple:for j in i:sum+=func(j,layer+1)return sumelif type(i)==int:return i*layerelse:return 0
print(func(eval(input()),0))
?6-5
?
第6章-5 列表元素個數的加權和(1)
分數 40
全屏瀏覽
切換布局
作者?陳春暉
單位?浙江大學
輸入一個嵌套列表,嵌套層次不限,根據層次,求列表元素的加權個數和。第一層每個元素算一個元素,第二層每個元素算2個元素,第三層每個元素算3個元素,第四層每個元素算4個元素,...,以此類推!
輸入格式:
在一行中輸入一個列表。
輸出格式:
在一行中輸出加權元素個數值。
輸入樣例:
在這里給出一組輸入。例如:
[1,2,[3,4,[5,6],7],8]
輸出樣例:
在這里給出相應的輸出。例如:
15
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB
棧限制
8192 KB
def func(i,layer):sum=0if type(i)==list or type(i)==tuple:for j in i:sum+=func(j,layer+1)return sumelif type(i)==int:return layer#相較于第二題,只需要去除i,只返回layer,即認為每個元素都是1else:return 0
print(func(eval(input()),0))
?
?6-6
第6章-6 求指定層的元素個數
分數 40
全屏瀏覽
切換布局
作者?陳春暉
單位?浙江大學
輸入一個嵌套列表,再輸入層數,求該層的數字元素個數。
輸入格式:
第一行輸入列表
第二行輸入層數輸出格式:
在一行中輸出元素個數
輸入樣例:
在這里給出一組輸入。例如:
[1,2,[3,4,[5,6],7],8] 3
輸出樣例:
在這里給出相應的輸出。例如:
2
代碼長度限制
16 KB
時間限制
400 ms
內存限制
64 MB
棧限制
8192 KB
def func(i,layer):sum=0if type(i)==list or type(i)==tuple:for j in i:sum+=func(j,layer+1)return sumelif type(i)==int and layer==goal:#僅在要求的層計數return 1#計算個數,返回1即可else:return 0
lst=eval(input())
goal=int(input())
print(func(lst,0))
?