前提
Pythonで、リスト内から順番に2つずつ取り出して計算する。前に1つずらしてまた2つずつ計算して最も差が大きい値を表示するシステムを作りたい
例 a = [1,2,3,4,5,6,7,8,15,9,10]
10-9=1
9-15=6
15-8=7
8-7=1
7-6=1
6-5=1
5-4=1
4-3=1
3-2=1
2-1=1
このように一個ずつ計算して
最も差が大きい数字(この場合7)を出力してほしいです。
Pythonここに言語を入力
1コード 2a = [1,2,3,4,5,6,7,8,15,9,10] 3reversed.a() 4for i in a: 5 x1 = a[i]-a[i+1] 6 x2 = a[i+1]-a[i+2] 7 if x1>= x2: 8 x3=x1 9 elif x2> x1: 10 x3 = x2 11 12print(x3)
質問は何ですか?
提示されているコードにはどのような問題がありますか。
どのような結果(出力)を想定していて、実際はどのような出力があるのでしょうか。
学校の課題でしょうか?であれば何か制約はありますか?
print(x3) では何が表示されましたか?
type object 'reversed' has no attribute 'a'
このようなエラーがでてしまいました。
特に制約はありません
> type object 'reversed' has no attribute 'a'
追加の情報は質問に追記してください。
「9-15=6」ですが、9-15は-6ですが、質問における「差」とは絶対値のことなのでしょうか?
リストじゃないとだめですか?
numpy使えばdiffだけで終わりますが