- 締切済み
Python goto文を使うには
Python 3.7.3で以下のようにgoto文を使いたいのですが モジュールは何をインストールすればよいでしょうか。 必要ならば1行目は別の記述でも構いません。 ---------------------------- from goto import goto, label label .A x=input('値を入力してください') if x!=0 : goto .A print('END') ----------------------------- (Windows10,Python 3.7.3)
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- slpanda
- ベストアンサー率76% (10/13)
そのエラーの表示部分が例外処理を書いた部分だと思いますが、raiseの書き方がいまとちがっているようで、Python 2のそれも結構ふるいバージョンの書き方みたいです。 raise MissingLabelError, "Missing label: %s" % targetLabel コメントを除くと空白行も入れて100行ほどのようですので、どうしてもひつようならばPython3でエラーがでないように修正したらどうでしょうか。
- slpanda
- ベストアンサー率76% (10/13)
そもそもPythonにはgotoはありません。だからpipではインストールできません。ただ、一応モジュールがあることはあります。 http://entrian.com/goto/download.html ここにかいてありますが、これはエイプリルフール用のジョークモジュール(たぶんPythonって実はgotoつかえるんだぞ、って人を驚かせる用?)なので、実際のプログラミングには使わないで、とありますので、公式モジュールではないから手動インストールが必要です。 もし、多重ループから抜けたいということだけでしたら、下記のようなページを参考にしてbreakを使うか、いずれにしてもgotoを使うのは避けた方が良いと思います。 https://www.sejuku.net/blog/23035
お礼
回答ありがとうございます。 gotoはできるだけ使わないようにしますが どうしてもできないときのために使えるようにしておきたいです。 教えて頂きましたモジュール goto-1.0.zip (with Windows line endings) を解凍してpython setup.py installでインストールしようとしましたが 以下のエラーになりますが、この原因は分かりますでしょうか。 ------------------------------------------------------ C:\Users\xxx\AppData\Local\Programs\Python\Python37\goto-1.0>python setup.py install running install running build running build_py creating build creating build\lib copying goto.py -> build\lib running install_lib byte-compiling C:\Users\xxxx\AppData\Local\Programs\Python\Python37\Lib\site-packages\goto.py to goto.cpython-37.pyc File "C:\Users\xxxx\AppData\Local\Programs\Python\Python37\Lib\site-packages\goto.py", line 271 raise MissingLabelError, "Missing label: %s" % targetLabel ^ SyntaxError: invalid syntax running install_egg_info removing 'C:\Users\xxxx\AppData\Local\Programs\Python\Python37\Lib\site-packages\goto-1.0-py3.7.egg-info' (and everything under it) Writing C:\Users\xxxx\AppData\Local\Programs\Python\Python37\Lib\site-packages\goto-1.0-py3.7.egg-info C:\Users\xxxx\AppData\Local\Programs\Python\Python37\goto-1.0> ------------------------------------------------------ よろしくお願いします。
補足
追記: ----goto-1.0-py3.7.egg-info---- Metadata-Version: 1.0 Name: goto Version: 1.0 Summary: UNKNOWN Home-page: UNKNOWN Author: UNKNOWN Author-email: UNKNOWN License: UNKNOWN Description: UNKNOWN Platform: UNKNOWN ------------------------------