• 締切済み

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)

  • Python
  • 回答数2
  • ありがとう数1

みんなの回答

  • slpanda
  • ベストアンサー率76% (10/13)
回答No.2

そのエラーの表示部分が例外処理を書いた部分だと思いますが、raiseの書き方がいまとちがっているようで、Python 2のそれも結構ふるいバージョンの書き方みたいです。 raise MissingLabelError, "Missing label: %s" % targetLabel コメントを除くと空白行も入れて100行ほどのようですので、どうしてもひつようならばPython3でエラーがでないように修正したらどうでしょうか。

  • slpanda
  • ベストアンサー率76% (10/13)
回答No.1

そもそもPythonにはgotoはありません。だからpipではインストールできません。ただ、一応モジュールがあることはあります。 http://entrian.com/goto/download.html ここにかいてありますが、これはエイプリルフール用のジョークモジュール(たぶんPythonって実はgotoつかえるんだぞ、って人を驚かせる用?)なので、実際のプログラミングには使わないで、とありますので、公式モジュールではないから手動インストールが必要です。 もし、多重ループから抜けたいということだけでしたら、下記のようなページを参考にしてbreakを使うか、いずれにしてもgotoを使うのは避けた方が良いと思います。 https://www.sejuku.net/blog/23035

yam2012
質問者

お礼

回答ありがとうございます。 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> ------------------------------------------------------ よろしくお願いします。

yam2012
質問者

補足

追記: ----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 ------------------------------

関連するQ&A

  • Pythonでタートルが使えません

    Pythonでタートルモジュールを使いたいのですが、 import turtle または、 from turtle import * と打ち込んでも新しいウインドウが出てきません。 また、エラーも出てきません。 どうしたら出てくるようになるでしょうか。 バージョンは2.7です。去年の12月は使えました。 よろしくお願いします。

  • Pythonの命令文について教えてください

    Pythonを勉強中です。 Pythonの命令文で a = x // b + 1 と記述された文を見かけますが、どのような意味でしょうか? また、Pythonを勉強するにあたり、おすすめの技術書があれば教えてください。 よろしくお願いします。

  • Gotoを使わずに済みますか?

    VBA超初心者です。ヘルプだけで学習していますが、よくわかりません。印刷する時に、GT4かGU4の値が0の場合はエラーメッセージが出て終了し、いずれも0以外ならばその数値を印刷の開始と終了ページとして取得するプログラムを作ってみましたが、何度やってもうまくいかず、やむなく昔ベーシックで習ったGotoを使ってみました。 しかし、過去ログを見ると、Gotoは使わないほうが良いとの事。 この文でGotoをなくす方法をご教授下さい。お願いします。 Sub 印刷() 開始ページ = Range("GT4").Value 終了ページ = Range("GU4").Value If Range("GT4") = 0 Then GoTo 10 If Range("GU4") = 0 Then GoTo 20 入力結果 = MsgBox((開始ページ) & "ページから" & (終了ページ) & "ページを印刷しますか?", vbYesNo) If 入力結果 = vbYes Then ActiveWindow.SelectedSheets.PrintOut From:=開始ページ, To:=終了ページ, Copies:=1, Collate _ :=True GoTo 30 10: MsgBox ("未入力の項目があ~る!") GoTo 30 20: MsgBox ("入力ミスがあります!") 30: End If End Sub

  • pythonのエラーについて教えて下さい。

    pythonの勉強をおこなっている超初心者です。 ネットでみた。以下のサンプルコードを実行しようとしました。 # -*- coding: utf-8 -*- print u'モジュールのロード' def test(): print u'関数:testを呼び出しました' if __name__ == '__main__': print 'python-izm' # print 'パイソンイズム' test() しかし、以下の様なエラーとなってしまいます。 File ”test02.py"、line 9 print ’python-izm'  ^ indentionError:expected an indented block ネット調べてみたとことpythonのインデントのエラーだとわかりました。 pythonはインデントで実行範囲を認識するので、 そこがうまく記述できていないであろうとは思うのですが、何回か試したのですが うまく動いてくれません。 どなたか御指南下さい。

  • 整数でないとき

    10 INPUT X 20 IF X=0 THEN END 30 C=X-2*INT(X/2) 40 IF C=0 THEN PRINT”偶数” ELSE PRINT”奇数” 50 GOTO 10 というプログラムはXが整数でなければ奇数と判定してしまいます。20行と30行の間に命令を追加して、Xが整数でないときは”整数でない”と表示して、次の入力を待つように修正し、整数のときだけ奇数か偶数かを判定するようにするには、 25 IF X^2>INT(X^2) THEN PRINT”整数でない”:GOTO 10 を追加する。 でよいのでしょうか? ぜひ教えてください。 

  • 十進ベーシックのプログラムの間違いを教えてください。

    誰か次のプログラムの間違いを直してください。入力を間違えても次に進めるようにするにはどこをどう変えたらよいのですか? RESTORE 30 READ a$ 40 INPUT b$ IF a$=b$ THEN IF a$<>b$ THEN GOTO 40 PRINT a$ GOTO 30 DATA i,x,d,k,k,h,end END IF END

  • Pythonでタートルが使えません

    Pythonでタートルモジュールを使いたいのですが、 import turtle または、 from turtle import * と打ち込んでも新しいウインドウが出てきません。 また、エラーも出てきません。 どうしたら出てくるようになるでしょうか。 バージョンは2.7です。去年の12月は使えました。 windows7 32bitです。 forward(100)とかを入力するとNameErrorが起こります。 前に同じ質問をして、再インストールすればよさそうだと思ったのですが、しても変わらず、使えないままでした。 よろしくお願いします。

  • Pythonのモジュールやデータ型はどこにある?

    Pythonの本を読んでいて、 モジュールの内部構成の説明が無かったので質問です。 randomモジュールやdatetimeモジュール、date型などは Pythonのどこに格納されているのでしょうか? 実際にファイルの中身を見てどのような記述がされているのか確認したいです。 ちなみに環境は、 mac os X 10.6.8 にデフォルトで入っていたPythonを使っています。 よろしくお願いします。

  • pythonのプログラムを走らせるには?

    使用するソフトウェアの関係でWeb(HTMLまたはPHP)とPythonの連携が必要になりました。 しかしPythonをWebで扱ったことがなくいまいちどうしたらいいのか分りません。 <form action="/python/pythontest.py" method="GET">  <input type="submit" name="submit" value="更新"> </form> といった形で呼び出しているのですがファイルが開かれるだけでptythonのプログラムが実行されません。 pythonのプログラムは #!/usr/bin/env python # coding: utf-8 import cgi from datetime import datetime html_body = u""" <html> <head> <meta http-equiv="content-type" content="text/html;charset=utf-8"> </head> <body> %s </body> </html>""" content='' print "Content-type: text/html;charset=utf-8\n" print (html_body % content).encode('utf-8') と書いています。 何が原因なのでしょうか? /usr/bin/env python のパスがうまく通っていないからでしょうか?

    • ベストアンサー
    • HTML
  • goto を使わずに

    VC++でプログラムを作ったんですが、上司からgotoは使うなとの指示があり困ってます。 なにせ、まだまだVC++になれてないし、かなりの初心者です。 C言語は学生のころ習いました。 if(a==0x0030){ //0による除算を回避するために0は入力不可とする(0ディバイト) int ret; //エラー画面出力 ret=AfxMessageBox("0は入力不可です。",MB_OK|MB_ICONEXCLAMATION);//入力が0の場合エラーを表示 goto end; } ・ ・ ・ end: //エラーがあった場合ここにとんで最初からやり直される ; } こんなかんじなのですが、なにか解決法ありませんか?