質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

765閲覧

プログラムをループ処理で実行したい

退会済みユーザー

退会済みユーザー

総合スコア0

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2018/10/25 10:36

python

1import folium 2 3latitude0 = 35.???????? 4longtude0 = 139.???????? 5 6latitude1 = 35.???????? 7longtude1 = 139.???????? 8 9map = folium.Map(location=[latitude0, longtude0], zoom_start=18) 10map = folium.Map(location=[latitude1, longtude1], zoom_start=18) 11 12folium.Marker(location=[latitude0, longtude0], icon=folium.Icon(color='black', icon='circle')).add_to(map) 13folium.Marker(location=[latitude1, longtude1], icon=folium.Icon(color='black', icon='circle')).add_to(map) 14 15map.save("marks.html") 16 17

このプログラムは設定した緯度経度を.html形式で地図上にプロットするプログラムです

このプログラムをループ処理で実行したいです
今は"latitude,longtude"を2組しか扱っていませんが今後複数増えていくのでfor文か何か他のループ文を使用し処理したいです
そのためにはどういった文にしたら良いでしょうか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

python

1import folium 2 3latitudes = [35,35] #配列にする 4longtudes = [139,139] 5 6map = folium.Map(location=[latitudes[0], longtudes[0]], zoom_start=18) 7 8for latitude, longtude in zip(latitudes,longtudes): 9 folium.Marker(location=[latitude, longtude], icon=folium.Icon(color='black', icon='circle')).add_to(map) 10 11map.save("marks.html")

n個のデータを扱うときは全てに変数を用意するわけにはいかないので配列を使います。
map.save()の関数はどういう物かわからないのでforで毎回呼び出していいのかわかりませんが、全体としてはだいたいこんな感じでいいと思います。

投稿2018/10/25 10:44

編集2018/10/25 12:53
yskk

総合スコア257

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2018/10/25 12:08

for latitude, longtude in zip(latitude,longtude): この文はどういった意味がありますか? 簡単な説明があればお願いします
yskk

2018/10/25 12:14

for inという構文で、for item in itemsと書きます。 itemsという配列の中身をひとつずつ取り出し、itemに代入してくれるというものです。 今回は、これの一種で、二つの配列から同時に取り出す動作をしています。それが、二つの配列をまとめるためにzip()を使っており、それぞれの配列にinの左側にある二つの変数が対応しています。
退会済みユーザー

退会済みユーザー

2018/10/25 12:32

そこの行で以下のエラーが出たのでお聞きした次第でした。 pi@raspberrypi:~/Desktop $ python3 05.py Traceback (most recent call last): File "05.py", line 6, in <module> for latitude, longtude in zip(latitudes,longtudes): NameError: name 'latitudes' is not defined これは何を指し示しているのでしょうか?
yskk

2018/10/25 12:35

エラーをそのまま読むと、latitudesという変数はまだ定義されていないと言っています。どこかでタイプミスしているとか
yskk

2018/10/25 12:36

配列には語尾にsをつけてます。
退会済みユーザー

退会済みユーザー

2018/10/25 12:46

複数形と単数の違いがあったのですね あと、.htmlで出力されるものなのですがマーカーが2つ出るはずが1つしか表示されません もちろん緯度経度情報は隠した部分を埋めてから打ちました
yskk

2018/10/25 12:52

今調べたところでは、htmlにマーカーを追加するのは folium.Marker(location=[latitude, longtude], icon=folium.Icon(color='black', icon='circle')).add_to(map) の部分みたいです。その前後の文は繰り返す必要が無いのでループの外に出してください。 saveも
退会済みユーザー

退会済みユーザー

2018/10/25 19:03

本当に助かりました! 夜分遅くまでご回答にお付き合い頂きありがとうございました! 回答も随時編集いただいていたようで心から感謝します。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問