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

0-0
0-1
0-2
1-0
1-1
1-2
2-0
2-1
2-2
という結果になることを期待して

for i in range (3):
  for j in range(3):
    print(i,j, sep="-")

と書いてターミナルで試したところ SyntaxError: invalid syntax とエラーになるのですがどこの構文に問題があるのかどうしてもわかりません、、、

macからvscodeでやっています

先日プログラミングの勉強を初めたところなので変なことを言っていたら申し訳ないです。

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

  • python入門の動画を見ながらその指示通りに勧めて練習しているので間違う理由がわからないのですが、、
    上記のプログラムの in の部分が動画では青色なのですが自分が書くと紫色になります。
    動画と見比べて違いといえばそのくらいなのですがなにか関係があるのでしょうか?

      補足日時:2021/12/04 01:47

A 回答 (8件)

> File "practice.py", line 3


print(i,j,sep="-")
^
SyntaxError: invalid syntax


Python2で実行していますね。

python ファイル名
でなく、
python3 ファイル名
で実行しましょう。
    • good
    • 1
この回答へのお礼

解決しました!!!
それまでのコードは python ファイル名 で問題なかったので気づきませんでした。

ありがとうございました。

お礼日時:2021/12/04 18:27

> とにかくおっしゃる通り当分はIDLEで練習してみます!



うん、最初はとにかく「プログラミングに慣れる」事。
同時にIDEの使い方を学ぶ、と言うと学習コストが急激に膨れ上がるんだ。
そして大方のプログラマってそう言う「学習コストの膨らみ」ってのを軽視しがちなんだよね。

何故彼らがそう軽薄なのか、っつーと、大体大学とか専門学校で学んで、実のトコ、その「膨大な学習コスト」ってのが見えない環境で育まれてるから、なんだよ。
大学や専門学校で学んだ層、ってのは、言わば「☓☓IDEのユーザーグループに所属してる」ってのと変わんない状態にいるわけ。
分かんない事あったら常に同級生とか先輩とか先生に聞ける環境に身を置いているから。
ただし、だからこそ、プログラミング初心者がいきなりIDEを使う、って事に身を置くのが如何に大変なのか、全く想像力に欠ける状態になりがちなの。
だからこのテの事に関しては彼らの言う事を鵜呑みにしてはいけません。
彼らは学習コストの事をあまり知らないんだ。

ビルトインでIDEが使えるプログラミング言語や処理系を使うなら、まずはそのビルトインのブツを使ってみる事。これが原則。
大方「汎用」のIDEより最適化されてるんで、「汎用品」を使うよか下手すれば便利な状態になってる筈。
そしていつかは「汎用IDEを使う」ようになるかもしれない。でもそれは今じゃないし、プログラミングにある程度慣れてから、で充分間に合います。

VS Codeは、僕個人は使った事ないんだけど、多分超強力なIDEなんでしょ。
それは間違ってないと思うんだけど、多分「機能が多すぎて」同時に初心者がその全てをコントロールする事は不可能だと思います。
そして何よりマズいのは・・・・・・探してみたんだけど、VS Codeのネット上でのユーザーグループを見つけられなかったんだよねぇ。こういうのってユーザー会があれば質問出来たり、あるいはFAQがあがってたり、してて敷居が低くなるはずなんだけど。
結局、VS Codeって登場してからまだ日が浅いので、ユーザーグループが出てくる程まだ「成熟してない」って言い方が出来るかもしんない。
「未来のIDE」ではあるけど、現時点ではユーザーグループが形成される程日が経ってない、って事でもあるんで、特にプログラミング初心者が手を出すのはやっぱアブナイかもな、ってのが正直な感想です。
(そういう意味では同じIDEでもEclipseやNetBeansの方がマシかもしんない)

ちなみに、Pythonで文法的には合ってる筈なのにシンタックスエラーを起こす場合、まず疑うべきは「インデントの付け方」なんだけど、二番手に考えられるのは「改行文字」の問題。どっちも「見えない」から厄介なんだけど。
VS CodeはMicrosoft製。一方MacはAppleでしょ?
んでこの両者、改行文字の扱いが違うんだ。
ひょっとしたらVS Code側の「改行文字設定」がMacのそれと食い違ってるのかもしんない。
分からんけどね。
    • good
    • 1
この回答へのお礼

たしかにそれはありそうです...自学でやるとなると無視できない難しさですよね...とりあえず慣れないうちはIDLEでやってみます!

人にすぐ質問できる環境はうらやましいですね...自分もなにかグループを探して入るとか、オンラインでメンターの方探すとかちょっと考えてみます。

今回は実行方法自体間違えていたようです...動画の情報は古かったのか...
丁寧な対応ありがとうございました。

お礼日時:2021/12/04 18:48

> 半角スペース4つ分ずつであってますよね、?


> 大丈夫なはずなのですが、、

それ以前に、だな。

別のトコにも書いたし、何度も書いてるんだけど、ぶっちゃけて言うと、プログラミング初心者がVS Code使ってPython弄るのは「間違ってる」んだよね。
このケースのように、バグる原因がIDE側の設定に依るのかどうか、一発で分かんないから、なんだよ。
そして初心者にVS Code薦める奴らは無責任だ。結局こういう風にトラブってもサポートしてくれないわけ。
この手のIDEは、正直言って慣れないと使うのが難しいの。

悪い事言わないから、PythonビルトインのIDLEに切り替えた方がいい。
IDLE使って打ったコードが問題あるかどうか調べた方が確実なんだよ。
つまんないトコで引っかかりたくないでしょ?

IDEの設定で頭悩ますのは本末転倒なんだよな。
プログラミング初心者はPythonに於いては備え付けのIDLEを使用するのがベスト。
余計なツールは使わん方がいいです(Anacondaだろうが、PyCharmだろうが捨てておけ)。
    • good
    • 1
この回答へのお礼

言われたようにpythonをインストールしてIDLEで例のプログラムを実行してみたところ正常に動きました!
ですがコードをコピペしてもう一度vscodeで試したところやはりerrorとなりました。
回答者様の予想通りなにかvscodeの設定の違いの問題だったのでしょうか?
そんな場合もあるのですね...
とにかくおっしゃる通り当分はIDLEで練習してみます!
本当にありがとうございました!

お礼日時:2021/12/04 12:49

そのエラーはどこで出ていますか?

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

vscodeのコードを入力する画面の右下の欄です
ターミナルなのだと思います

お礼日時:2021/12/04 03:35

全角空白でインデントしてますが、それは半角だとこのサイトではインデントが無くなってしまうためで、本当は半角空白でインデントしていると言うことなら、プログラムに間違いは無いので、実際に動かしているプログラムはなんか違うと言うことだと思います。

あるいは実行の仕方が間違っているか。

エラーメッセージ全文を載せると何かわかるかもしれません。
    • good
    • 1
この回答へのお礼

まずコマンンドSで保存して、ターミナルから python ファイル名 をうちこんでenterで実行しています。
他のコードなら実行できているようなのでたぶん問題ないのだと思います

何故か写真が載せられなくて申し訳ないのですが、、
エラーメッセージは
(base) コンピューター名 フォルダ名 アカウント名$ python practice.py
File "practice.py", line 3
print(i,j,sep="-")
^
SyntaxError: invalid syntax

といった感じです。なにかわかりますでしょうか、、?

お礼日時:2021/12/04 03:29

的外れかもしれませんが


rangeの後ろってスペース空いてますが大丈夫でしょうか?
全角スペースなど使ってないでしょうか?
いかがでしょうか
    • good
    • 1
この回答へのお礼

申し訳ありません...質問の際のミスですm(- -)m
半角は大丈夫です
何度も最初から書き直しているのでミスはないはずなのですがだめなようです...

お礼日時:2021/12/04 01:59

何も問題ねぇなぁ。



多分インデントがおかしい、とかそういう事なんじゃないかね?
    • good
    • 1
この回答へのお礼

半角スペース4つ分ずつであってますよね、?
大丈夫なはずなのですが、、

お礼日時:2021/12/04 01:34

私ならprint(f'{i}-{j}')


とやります(テキストの中に変数を入れ込む)
意図していない書き方ならすみません
    • good
    • 1
この回答へのお礼

間違ってる理由が気になってしまって、、
でもそのやり方良いですね! 
とりあえずそのやり方で進めて保留にしたいと思います。

お礼日時:2021/12/04 01:34

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