アプリ版:「スタンプのみでお礼する」機能のリリースについて

Python3
すみません。
保存用に教えて頂いたプログラムを書いたのですが、index errorになってしまい、自分では解決できませんでしたm(_ _)m
ごめんなーい!繰り返し質問させて下さい(--;)

「Python3 すみません。 保存用に教」の質問画像

質問者からの補足コメント

  • つらい・・・

    サイトも参考書も見てある程度理解したと思ったんですが、申し訳ありません。

      補足日時:2020/11/12 20:13
  • 長くなると、そのまま勝手に改行する変な癖が着いちゃってます。…
    ///
    これですね。もう忘れません。

      補足日時:2020/11/12 20:48

A 回答 (4件)

おーい。

また10行目、11行目で改行やっちゃっておかしくなってんじゃないかーい。

どうしても改行したい、って欲求が押さえられない場合は、\を打ってから改行します。この辺はC言語での「一行を改行して整形する方法」をマネています。
だから

 print(math.gcd(int(sys.argv[1]),\ <- これな!
         int(sys.argv[2])))

みたいにする。

あと、コマンドライン引数を利用するんで、端末(DOS窓)から実行します。
例えばこのファイルをfoo.pyと言う名で保存したとしたら。12と18のgcdを得るため

foo.py 12 18

と打ってgcdを計算する。つまり、「ファイル名がプログラム名に」なって、それに引数を与えられるので「コマンドライン引数」と言うのです。そして、この形式だと確かに「本物のプログラム」を書いている、って事になります。

なお、一行目にシェバング

#!/usr/bin/env python3

みたいなのを忘れないように(これが無いと、Python本体を一々コマンドで呼び出さないとならなくなります)。

写真: Linuxでの端末上での実行例(ファイル名=プログラム名はngjuemgw348_03.pyとしてる)。似たカンジでWindowsのDOS窓でも実行が出来る。
「Python3 すみません。 保存用に教」の回答画像1
    • good
    • 1
この回答へのお礼

あーーー!(汗)
前回と同じことを…_:(´`」 ∠):_

お礼日時:2020/11/12 20:47

> 長くなると、そのまま勝手に改行する変な癖が着いちゃってます。



そうね。
まぁ、Rubyとか、Python以外の殆どの言語では(C言語でさえ)改行はクリティカルじゃないのがフツーなんですが、Pythonはインデントでブロックを表すんで、ちょっとその辺はね。慣れないとね。どうしても「やっちゃう」。

フツーは、例えばIDLEみたいなIDEだとうまい具合処理してくれるんですが、他の使ってる場合、Pythonに適してない改行をヘーキでやっちゃって、まぁ、今回みたいな事になったりするかも。

Visual Studio Code使ってんのかしら。もしだったらプラグイン検索してインストールして、もうちょっとPythonの文法理解してくれるようにIDEを成長させても良いかもしれません。
    • good
    • 0
この回答へのお礼

使っていないです。
もちろんインストールします♪( ⁎ᴗ_ᴗ⁎)

お礼日時:2020/11/12 21:27

あとね〜。

余談ですが。

「コマンドライン引数」

って言い方が怖いんだよね。何故なら、コマンドライン、って単語を日本では全く聞かないから。何のことだか分からない、って人ばっかなんじゃないか。

コンピュータ用語で、マウスでクリックして操作するやり方(インターフェース)をGUI(Graphical User Interface)と呼びますが。
じゃあ、昔ながらのDOS窓(端末)でコンピュータとやり取りするやり方(インターフェース)をなんと呼ぶか。
正解はコマンドラインインターフェースと言います。Command Line Interface。略してCLIとか言うんですが。ここでコマンドライン、って単語が出てくる。つまり、そのための引数をコマンドライン引数と呼ぶわけだ。
ただし、これは「正確には」。実際は日本ではクソみてぇな和製英語、「CUI」とか素っ頓狂な呼び方が主流になってる。Character-based User Interfaceとか言うらしいんだけど、もう一回言うけど、これは和製英語。英語ではこんな呼び方はしない。つまり、CUIと言う「わけの分からん呼び方」が広まった為、コマンドラインと言う単語を滅多に聞かなくなってしまった、と。そういう事なんです。
おっかしな和製英語、CUIとか呼ぶんだったら、じゃあコマンドライン引数じゃなくってCUI引数とかデタラメ突き通せばいいのに(苦笑)。結構、コンピュータ用語って中途半端が多い、と言う良い例です。
    • good
    • 1
この回答へのお礼

めもさせて頂きます(^^;)
もう勝手に先生だと思っています……。
毎回ありがとうございます。

お礼日時:2020/11/12 20:45

プログラムの起動でパラメータを与えてないとか・・・

    • good
    • 1
この回答へのお礼

ありがとうございます(ノω;)
自分の不手際です。

お礼日時:2020/11/12 20:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!