- 締切済み
Python の構文について
Pythonを学び始めたばかりのPython初心者です。 Pythonでは、 #!/usr/bin/env python principal = 1000 # Initial amount rate = 0.05 # Interest rate numyears = 5 # Number of years year = 1 while year <= numyears : principal *= 1 + rate print("%3d %0.2f" % (year, principal)); # Reminder: print(year, principal)in P3 year += 1 のような書き方をしますが、条件式をCみたいに()でくくったり、ブロック{}を使う方法は無いのでしょうか? (式の最後に;をつける事は出来るのです。) ()や{}を使った方が見やすいので、出来れば()や{}を使いたいと思っています。 よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- lemelonjuice
- ベストアンサー率19% (10/52)
インデントを使っていますか? 他の人がPythonで書いたものを見ても不満に思うなら、他の言語を使った方がよいと思います。 それか、他の言語風に書いて保存すると、それを監視して自動的にPythonの文法に反しないように変換するようなプログラムを作ってしまうというのはどうでしょうか。
- rinkun
- ベストアンサー率44% (706/1571)
条件式を()で括るのは特に問題なくできるはずですけど。 while (year <= numyears): のようにしてもエラーにはならないでしょう。 ブロック{}は無理ですね。コメント行で # { # } のように書くことはできると思いますが。
お礼
>while (year <= numyears): >のようにしてもエラーにはならないでしょう。 出来ました!(何か打ち間違えてたらしいです。) どうも有難うございました。
補足
>インデントを使っていますか? 無論です。(Pythonでは、loop bodyはインデンテーションによってのみ識別されるので。) OKWaveでは、行頭の空白文字(タブやスペース等)は全て無視されて左側に詰められてしまうので、元のコードよりも、おそろしく見にくいコードになってしまいます。(何でワザと?こんな仕様にしているのか、分かりませんけど…) >他の人がPythonで書いたものを見ても不満に思うなら、他の言語を使った方がよいと思います。 私は言語オタクではなく、Machine Learning関係の研究がやりたいと思っているのですが、その分野の英語の文献の多くがPythonを使っているので、Pythonを勉強せざるを得ない状況です。