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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Python

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

Q&A

解決済

1回答

542閲覧

for文について(初学者)

aaaao

総合スコア1

Python

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

0グッド

0クリップ

投稿2021/12/20 21:48

前提・実現したいこと

for文で26の部分を変化させ一度に実行させたいと考えています。

result = vincenty_inverse(a0 , b0 ,a26 , b26 ,1)
print('距離:%s(m)' % round(result['distance'], 3))

a1 = 35.4559836
b1 = 139.4498
のように全て設定はしてあります。
参考にしたサイト: https://qiita.com/r-fuji/items/99ca549b963cedc106ab

発生している問題・エラーメッセージ

TypeError Traceback (most recent call last)
<ipython-input-13-5d69b6b13205> in <module>
2 A = 'a' + str(i)
3 B = 'b' + str(i)
----> 4 result = vincenty_inverse(a0 , b0 , A , B ,1)
5 print('距離:%s(m)' % round(result['distance'], 3))

<ipython-input-1-6626216ba271> in vincenty_inverse(lat1, lon1, lat2, lon2, ellipsoid)
36
37 # 差異が無ければ0.0を返す
---> 38 if isclose(lat1, lat2) and isclose(lon1, lon2):
39 return {
40 'distance': 0.0,

TypeError: must be real number, not str

該当のソースコード

for i in range(26, 51):
A = 'a' + str(i)
B = 'b' + str(i)
result = vincenty_inverse(a0 , b0 , A , B ,1)
print('距離:%s(m)' % round(result['distance'], 3))

試したこと

そのままで試した場合も
for i in range(26, 51):
result = vincenty_inverse(a0 , b0 ,a[i] ,b[i] ,1)
print('距離:%s(m)' % round(result['distance'], 3))

NameError: name 'a' is not defined

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

guest

回答1

0

ベストアンサー

変数名と変数の区別が理解できていないようです。以下をよく読んでください。

python

1>>> a1 = 35.4559836 2>>> print(a1) 335.4559836 4>>> print('a1') 5a1

修正するには、以下の様にします。

Alist = [a26, a27, a28, a29, a30, a31, a32, a33, a34, a35, a36, a37, a38, a39, a40, a41, a42, a43, a44, a45, a46, a47, a48, a49, a50, a51]

Blist = [b26, b27, b28, b29, b30, b31, b32, b33, b34, b35, b36, b37, b38, b39, b40, b41, b42, b43, b44, b45, b46, b47, b48, b49, b50, b51]

for i in range(26):
A = Alist[i]
B = Blist[i]
result = vincenty_inverse(a0 , b0 , A , B ,1)
print('距離:%s(m)' % round(result['distance'], 3))

投稿2021/12/20 22:54

ppaul

総合スコア24666

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

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

aaaao

2021/12/20 23:02

ご回答ありがとうございます。 分かりやすく例を作っていただき分かりやすかったです。 大学生で授業でいくつか言語を触ったので混ざっていた部分もありました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問