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

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

ただいまの
回答率

87.37%

python のファイルに問題があるのですか??

受付中

回答 3

投稿

  • 評価
  • クリップ 0
  • VIEW 2,202

score 4

エラーなんですが、何かおかしなエラーが出ます。
a = '20'
b = '4'
print(type(float(a / b)))
このコードを実行したので
TypeError: unsupported operand type(s) for /: 'str' and 'str'
このエラーが出るのはわかりますが、
中盤のエラーはなんでしょうか?

私の別の質問でも同じようなことが起こっています。
何かファイルに問題があるのでしょうか??
python3.7 のファイルにあるんですか??

助けてください

Traceback (most recent call last):
File "/Users/gwoninkenji/.vscode/extensions/ms-python.python-2019.9.34911/pythonFiles/ptvsd_launcher.py", line 43, in <module>
main(ptvsdArgs)
File "/Users/gwoninkenji/.vscode/extensions/ms-python.python-2019.9.34911/pythonFiles/lib/python/ptvsd/main.py", line 432, in main
run()
File "/Users/gwoninkenji/.vscode/extensions/ms-python.python-2019.9.34911/pythonFiles/lib/python/ptvsd/main.py", line 316, in run_file
runpy.run_path(target, run_name='main')
File "/Users/gwoninkenji/anaconda3/envs/py36/lib/python3.7/runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "/Users/gwoninkenji/anaconda3/envs/py36/lib/python3.7/runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "/Users/gwoninkenji/anaconda3/envs/py36/lib/python3.7/runpy.py", line 85, in _run_code
exec(code, run_globals)
File "/Users/gwoninkenji/py_with_Thony/chapter02/datatype_12.py", line 3, in <module>
print(type(float(a / b)))
TypeError: unsupported operand type(s) for /: 'str' and 'str'

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

+1

スタックトレースと言って、エラーが出るに至った経緯を表示してくれるとてもありがたいものです。

どういう関数(ないしメソッド)が呼び出されてエラーに至ったのかが書いてあります。上の方に書いてあるものほど「外側」(コールスタックの下の方に積んである)、下の方に書いてあるほど「内側」(コールスタックの上の方に積んである)で、一番下が実際のエラー箇所です。

本来はこれがあるととても助かるのですが、vscodeの拡張機能(pyvsdはデバッグ関連ですね)を使っているので、その拡張機能(pythonで動いています)の分までスタックトレースに一緒に出ています。この部分は無視して結構です。最後の二行だけ見てください。
(あるいは、無効にするか、デバッグ機能をうまく活用する方法を考えると幸せになれるかもしれません)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

この一連のメッセージはスタックトレースと言って、例外が発生するまでにどの関数のどこを実行したかを表示するものです。
エラーの原因はもちろん文字列同士で割り算をしたことですが、そこに至るまでに ptvsd_launcher.py や main.py や run.py などを通っています。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

float(a / b)

これは次のように書いているのと同じです。

tmp = a / b
float(tmp)

aもbも文字列ですから、演算子 / は適用できません。
先に数値化してから割り算するのが正解です。

float(a) / float(b)

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/10/05 19:53

    あ、エラーの原因を聞いているわけではないのか... 失敬。

    キャンセル

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

  • ただいまの回答率 87.37%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る