問題)
N行分、整数が出力される
さらに、最初の数字に1を追加し、それぞれの整数の差の合計を求めたい
最初の数字に1を追加するのは入力される値とは関係ない
N
f_1
...
f_N
条件
・1 ≦ N ≦ 100
・1 ≦ f_i ≦ 100 (1 ≦ i ≦ N)
入力例1
3
3
1
4
3行分の整数が出力される
この最初の数字に1を追加し、それぞれの整数の差の合計を求めたい
つまり
1 ← 1を追加
3
1
4
出力例1
7
入力例2
8
17
28
11
62
64
4
7
17
8行分の整数が出力される
この最初の数字に1を追加し、それぞれの整数の差の合計を求めたい
つまり
1 ← 1を追加
8
17
28
11
62
64
4
7
17
出力例2
170
質問)
上記の問題を処理できるコードを作成した。
①ループ処理
コード N = int(input()) data = [] for num in range(N): data.append(int(input())) data.insert(0,1) lst = [] for x in range(0,N): diff = abs(data[x]-data[x+1]) lst.append(diff) print(sum(lst))
②内包表記
コード N = int(input()) data_1 = [int(input()) for x in range(N)] data_1.insert(0,1) diff =[abs(data_1[x]-data_1[x+1]) for x in range(N)] print(sum(diff))
上記の二つとも正しく動作した。
しかし、②内包表記の作成過程で
diff =[abs(data_1[x]-data_1[x+1]) for x in range(N)]
上記のdiffリストを作成する際に、lambda式を利用したが、エラーがでた。
初歩的な質問で申し訳ございませんが、こちらのエラー原因を教えて頂けないでしょうか。
コード diff = [list(map(lambda x: abs(data_1[x]-(data_1[x+1])), for x in range(N)))] File "Main.py", line 30 diff = [list(map(lambda x: abs(data_1[x]-(data_1[x+1])), for x in range(N)))] ^ SyntaxError: invalid syntax
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/13 04:55
2018/04/13 05:14
2018/04/13 14:46