回答編集履歴

2

変更

2022/11/15 11:28

投稿

TakaiY
TakaiY

スコア12763

test CHANGED
@@ -16,14 +16,13 @@
16
16
 
17
17
  ---
18
18
  追記
19
- ■ data=f.readlines()[1:60]
20
- の[1:60]は不要です。 長いリストから一部を取り出すために使う構文です。また、 リストのインデックスは0始まりですから、これでは先頭の行が抜けてしまいます。
19
+ 「data=f.readlines()[1:60]」 [1:60]は不要です。 長いリストから一部を取り出すために使う構文です。また、 リストのインデックスは0始まりですから、これでは先頭の行が抜けてしまいます。
21
20
 
22
21
  この段階で、 dataは以下のようなリストになっています。
23
22
  ['0.755229\n', '0.688727\n', '0.755229\n', '0.688727\n', ....]
24
23
  すでにリストになっているのでここで加工する必要はありません。 ただし、1) 文字列として読み込まれていること 2) 末尾に改行文字が付いていること に注意が必要です。
25
24
 
26
- この後でやることは
25
+ 以降の処理 はすべて変更で、この後、
27
26
  ■ 結果格納用の空のリストを作る。 必要分だけ。(「まず、0.7以下の数値を取り出すことを目指」すのであれば1つだけ)
28
27
  ■ リストから1つずつ取り出すループを始める
29
28
  ■■ 末尾の改行を取り除く

1

追記

2022/11/15 11:26

投稿

TakaiY
TakaiY

スコア12763

test CHANGED
@@ -14,3 +14,24 @@
14
14
  エラーにあるようにリスト(list1)と浮動小数(my_float)を比較しているのでエラーになります。読み込んだデータの値を比較したいのだと思いますが、比較の対象が間違えています。
15
15
  また、比較した結果をprintしようとしていますが、作っている途中だからでしょうか。
16
16
 
17
+ ---
18
+ 追記
19
+ ■ data=f.readlines()[1:60]
20
+ この[1:60]は不要です。 長いリストから一部を取り出すために使う構文です。また、 リストのインデックスは0始まりですから、これでは先頭の行が抜けてしまいます。
21
+
22
+ この段階で、 dataは以下のようなリストになっています。
23
+ ['0.755229\n', '0.688727\n', '0.755229\n', '0.688727\n', ....]
24
+ すでにリストになっているのでここで加工する必要はありません。 ただし、1) 文字列として読み込まれていること 2) 末尾に改行文字が付いていること に注意が必要です。
25
+
26
+ この後でやることは、
27
+ ■ 結果格納用の空のリストを作る。 必要分だけ。(「まず、0.7以下の数値を取り出すことを目指」すのであれば1つだけ)
28
+ ■ リストから1つずつ取り出すループを始める
29
+ ■■ 末尾の改行を取り除く
30
+ ■■ 文字列を数値に変換する
31
+ ■■ 条件判定 (「まず、0.7以下の数値を取り出すことを目指」すのであれば1つだけ)
32
+ ■■■ あてはまれば結果格納用のリストに追加
33
+ ■ ループが終れば必要であれば結果を出力
34
+
35
+ まあ、こんな感じでできるでしょう。
36
+ 各要素については、検索すればやりかたは出ています。
37
+