1 名前:デフォルトの名無しさん [2020/01/02(木) 15:56:54.08 ID:ZUrZA+uS.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ ☆「Ruby では」「Rubyでは」をNGワード登録推奨 このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 ★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので ↓等のてきとうなソースコード用うpろだに貼ってきてください。 スクショをImgur等にうp といった 手抜き(クソ行為)禁止。 ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう ◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と 実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。 ◇Python公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/ 〇前スレ〇 くだすれPython(超初心者用) その45【Ruby禁止】 https://mevius.5ch.net/test/read.cgi/tech/1571188632/
730 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 21:14:42.57 ID:iNVxJNOu.net] >>723 >書き換えて別の子クラスを作る方法 継承してオーバーライドすること言ってるのかな? それと 条件によってpをどんどん書き換えていくような仕様は 一般的にはものすごく悪い設計 バグりやすいしテストもしにくいので避けたほうがいい
731 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 21:47:49 ID:17VZ7Cpd.net] >>721 >英語版はタダで見れる なん・・・だと・・・・ まあいいや 日本語版書籍には訳者によるおまけがついてるらしいから・・・
732 名前:722 [2020/02/16(日) 22:05:37 ID:S0ZkinLG.net] >>725 たぶん、継承オーバーライドの事だと思います よくわかってなくてすいません pを書き換えていくのを直します ありがとうございます >>724 ありがとうございます やってみます
733 名前:デフォルトの名無しさん mailto:sage [2020/02/16(日) 22:59:10 ID:5EL9p8ON.net] Ruby なら、B はA から派生したクラスで、 派生クラスで、親クラスの同名のメソッドを上書きする(override)。 @ はインスタンス変数 class A def f( ) @x = 1 end end class B < A def f( ) @x = 2 end end p A.new.f #=> 1 p B.new.f #=> 2
734 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 00:33:34.29 ID:VGvKWI+b.net] リーダブルコードもコードコンプリートも読んだ上で700書いてるけどねえ PEP8とかもそうだけど、知恵とルールを混同してしまう人が結構いる
735 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 02:53:30.28 ID:DyKTwZyk.net] お前にはその両方が足りていない
736 名前:デフォルトの名無しさん [2020/02/17(月) 05:56:39.51 ID:9Byn+CCQ.net] アンカも打てないのかよ いちいち自分で辿らせるとかどんだけ構って欲しいんだ
737 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 07:12:48 ID:a4xzah5x.net] >>728 endとか90年代かよダッサ無駄な記述乙
738 名前:デフォルトの名無しさん [2020/02/17(月) 07:47:39.40 ID:wxeqwMT5.net] 裏表紙のない本 ドアのないトイレ キャップのないペットボトル
739 名前:デフォルトの名無しさん [2020/02/17(月) 11:57:31.26 ID:xV6ZEvHF.net] Macなんですが元々入ってるPython2系をpython2で呼び出して Python3系をpythonコマンドで呼び出す方法ってありませんか? alias python="python3" を設定してもpython2が使えなくなる代替案を探してる最中です
740 名前:デフォルトの名無しさん [2020/02/17(月) 12:37:38.00 ID:m/x7HUx7.net] >>730 読んであれならヤバイ級だよなあ
741 名前:デフォルトの名無しさん [2020/02/17(月) 12:38:09.76 ID:m/x7HUx7.net] エイリアスにフルパス入れちまえよ
742 名前:デフォルトの名無しさん [2020/02/17(月) 12:53:44.11 ID:xV6ZEvHF.net] >>736 エイリアスで置き換えすることばかり考えてました、ありがとうございます m(_ _)m
743 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 13:05:59.25 ID:sUzH4s3p.net] >>732 トイレを使って水を流さない犯人を見つけた
744 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 13:31:47.59 ID:y136Nw0W.net] >>734 pipだったり他のプログラムが使ってるpythonの依存ぶっ壊れるようなやり方すぎる。 dockeで隔離するか、pyenv, anaconda 使うなりする方が問題起きたときに復帰しやすいと思われる。
745 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 15:10:44.14 ID:wzCOK5rA.net] >>734 ln -s /usr/bin/python /usr/local/bin/python2 ln -s /usr/local/bin/python3 /usr/local/bin/python
746 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 15:56:50.96 ID:y136Nw0W.net] 完全に環境ぶっ壊しにかかってんな。。カスだな。
747 名前:デフォルトの名無しさん [2020/02/17(月) 17:29:32.07 ID:91EB+qlc.net] >>738 Rubyはスレチだから
748 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 19:14:02.33 ID:A9t7x7q2.net] デフォルトの設定を変えたら、それを使っている無数のアプリがバグルw OS の仕組みを学べ!
749 名前:デフォルトの名無しさん [2020/02/17(月) 20:02:52.96 ID:4yysNtzR.net] 呼ぶときはPython2ならpythonで、Python3はpyで呼べるようになってるだろ 方針としてpythonで呼ばれるのはPython2のままにするっていうのがあるし
750 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 20:03:49.54 ID:4njBz49B.net] $ pip3 --version bash: /home/xxx/.local/bin/pip3: そのようなファイルやディレクトリはありません $ which pip3 /usr/bin/pip3 以下のページ通りにやったら直った パッケージ更新インストール後にコマンドが実行できない場合の対処 https://qiita.com/vmmhypervisor/items/e846338b204061040957
751 名前:デフォルトの名無しさん mailto:sage [2020/02/17(月) 21:27:41.44 ID:EJ6dkZYZ.net] Python記事まとめ(毎日自動更新) https://qiita.com/kamata1729/items/eaf1d7b945b3a61a4fdd Qiita週間ストック数ランキング【自動更新】 https://qiita.com/kai_kou/items/180a91fd88dbbbd746f6
752 名前:デフォルトの名無しさん [2020/02/18(火) 00:00:11 ID:o6M8r8f5.net] import numpy as np a = np.array([1,2,3]) print(a.shape) こうやると、 (3,) と表示されますけど この3の後ろにあるカンマは どゆ意味なんでしょう? 不必要としか思えないのですが?
753 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 00:10:14.62 ID:ObTpNy6/.net] tuple 同じ型が返されることに意味がある (3,)と(3)で型を比べてみればいい
754 名前:デフォルトの名無しさん [2020/02/18(火) 00:17:31.22 ID:o6M8r8f5.net] >>748 ありがとうございます。 型を比べると(3)はint、(3,)はtupleですね。 np.arrayのshapeをtuple型の同じ型にする、 ということですね?
755 名前:デフォルトの名無しさん [2020/02/18(火) 13:43:57.54 ID:ZbgU3Gim.net] 全然違うω
756 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 13:54:29.04 ID:2AC9Ct1n.net] >np.arrayのshapeをtuple型の同じ型にする、 >ということですね? 日本語がおかしい、もしくは理解の仕方がおかしい。 「np.array の shape を print で確認したら、tuple 型で (3,) だった。」 くらいは書いてほしい。
757 名前:デフォルトの名無しさん [2020/02/18(火) 17:44:44 ID:NpZig/vi.net] >>749 何が言いたいのかよくわからない 何と何が同じなの?
758 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 20:55:10 ID:EFQS+VhN.net] 新しいノートパソコン買ったけど使ってるやつpipして入れていくの面倒だな
759 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 22:11:49.35 ID:kXXzWqPh.net] >>753 現行このスレの上の方か、前スレで pipで既に入ってるものを全部txtに吐かせて それを新しいPCにコピーして 新しいPCのコマンドプロンプトからpipに食べさせる方法レスした記憶
760 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 22:25:08.60 ID:Sq+szhyd.net] >>753 コマンドをバッチファイルに記録しておくのおすすめ 何を入れたのかの備忘録にもなるし、クリーンインストール後にも一気に復帰可能
761 名前:デフォルトの名無しさん mailto:sage [2020/02/18(火) 22:27:06.73 ID:I7Q3zK/c.net] あーそういやエクセルにpip一覧作ってコピペって入れてたな あれバッチにすればよかったのか!
762 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 00:22:18 ID:67Zh1tMt.net] >>754で書いてた過去のレスの、要約したったど てきとうな階層でコマンドプロンプト起動して pip freeze > requirements.txt できたtxtを次のPCの これまたてきとうな階層に入れ、 そこからコマンドプロンプト起動して pip install -r requirements.txt
763 名前:デフォルトの名無しさん [2020/02/19(水) 11:51:55.61 ID:cGULNOoW.net] そしてcondaに感染
764 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 18:42:16.77 ID:DTFko2h2.net] このコードについて質問です https://github.com/TestStudio/usbmuxd/blob/master/python-client/usbmux.py class MuxError(Exception): pass raise MuxError("socket connection broken") みたいな書き方がされていますが、なぜ何もしない(passだけする)クラスを作って使用しているのでしょうか?
765 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 18:45:07.19 ID:RE1Trb9N.net] raiseだからじゃない
766 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 19:01:50.35 ID:Um90NQYB.net] Ruby なら、StandardError を継承して、カスタム例外クラスを作るだけ! class MyError < StandardError def initialize( msg="引数なし" ) super end end raise MyError #=> 引数なし (MyError) raise MyError, "引数あり" #=> 引数あり (MyError)
767 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 19:32:54.08 ID:TvNfUAFk.net] Exceptionを継承してるのだから何もしてないわけではない 既存の例外クラスをそのまま使わず新たな例外クラスを作ればexcept節で場合分けしやすくなる
768 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 23:14:11 ID:DTFko2h2.net] >>762 ありがとうございます
769 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 23:17:38 ID:DTFko2h2.net] 質問が大雑把すぎて答えてもらえない気がするんですが… >>759に関してダメ元で聞きたいです。 >>759のコードをPython3.7で実行するとこんな感じのエラーが出るのですが何をどうしたら直せますか…? いくつもエラーが出ているんですが、1つだけでも良いので…教えてもらえると嬉しいです…。 どのエラーも直し方がわからないです。。 Traceback (most recent call last): File "C:\Users\username\Desktop\test.py", line 238, in <module> mux = USBMux() File "C:\Users\username\Desktop\test.py", line 222, in __init__ self.listener.listen() File "C:\Users\username\Desktop\test.py", line 191, in listen ret = self._exchange(self.proto.TYPE_LISTEN) File "C:\Users\username\Desktop\test.py", line 184, in _exchange self.proto.sendpacket(req, mytag, payload) File "C:\Users\username\Desktop\test.py", line 101, in sendpacket data = struct.pack("IIII", length, self.VERSION, req, tag) + payload TypeError: can't concat str to bytes
770 名前:デフォルトの名無しさん mailto:sage [2020/02/19(水) 23:53:08.56 ID:GM7mImOk.net] >>764 いくつもエラーが出てるんじゃなくて エラー内容と呼び出し履歴が表示されてるだけ 101行目ので 「TypeError: can't concat str to bytes」ってエラーが発生してる python2用のコード
771 名前:デフォルトの名無しさん mailto:sage [2020/02/20(Thu) 00:05:49 ID:rl2y9G0y.net] よく見たら11年以上前のコードやん 個人的にどういう経緯で辿り着いたのか気になる
772 名前:デフォルトの名無しさん mailto:sage [2020/02/20(Thu) 00:35:27 ID:x93hW6cn.net] >>765 ありがとうございます…!! 101行目のエラーさえ潰せれば解決なんですね…!! >>766 iOSデバイスとPC上のPythonをUSB/lightningケーブルで接続して通信をしようと思ったのですが それらしき情報がコレしか見つからなかったので辿り着きました
773 名前:デフォルトの名無しさん [2020/02/20(Thu) 12:40:33 ID:sbHTvmgo.net] 不潔ゾーンからお帰りください
774 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 16:02:46 ID:x3GQj6xQ.net] インスタンス変数についての質問です 他言語(c/c++/c#)から入った人間の例に漏れずself/clsって何なの…となりました で色々見ているのですが1番大きな疑問はインスタンス変数です サンプル見ると大体コンストラクタでself.x=とかやってますがこのxはどこで定義されているのですか? 仮にこれが定義としてもコンストラクタや関数内部で定義したものがスコープ外でつかえるのは妙です それに関数で新しく定義出来てしまうならインスタンシエイト時にそのオブジェクトがどのようなメンバを持つのかの情報が欠落していることになります この辺りの解説を探しても見つけられませんでした ご教授頂ければ幸いです
775 名前:デフォルトの名無しさん [2020/02/21(金) 16:35:03 ID:AkYRUnXu.net] コンストラクタでself.x=とやればそこで定義される
776 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 16:35:43 ID:RiyafmFC.net] >>769 >インスタンシエイト時にそのオブジェクトがどのようなメンバを持つのかの情報が欠落していることになります オブジェクトがどういうメンバを持つかは静的じゃなく動的 インスタンス化後にインスタンス変数やメソッドを追加できる クラスはディクショナリみたいなものだと思っておけばいいよ https://ideone.com/aAGA0y >仮にこれが定義としてもコンストラクタや関数内部で定義したものがスコープ外でつかえるのは妙です メソッドの第1引数にレシーバのオブジェクトが渡されるので それを`self`という名前の引数で受けてメソッド内では渡されたレシーバを使って `self.x`とかでインスタンス変数を参照してるのでスコープ外ではない ちなみにselfは慣習として使われてる変数名であってhogeとかに変えても問題なく動く
777 名前:デフォルトの名無しさん [2020/02/21(金) 16:35:53 ID:AkYRUnXu.net] あとCの経験があるならPyObjectについて調べたら理解が進むはず
778 名前:デフォルトの名無しさん [2020/02/21(金) 17:12:06.44 ID:QP8p1GF2.net] 仮想通貨のbotを作りたいんだけど、 AWSのCloud9で、 pythonのプログラムかいて動かす場合、 ブラウザー閉じたり、PCの電源切ったりしても、 プログラムはずっと動くの?
779 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 17:31:14 ID:2TMdipPT.net] >>769 Ruby では、デフォルトでインスタンス変数は、private だから、 アクセサー(attr_accessor)で宣言しないと、クラス外部からアクセスできない class A attr_accessor :x def initialize @x = 1 end end p A.new.x #=> 1
780 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 17:33:36 ID:2TMdipPT.net] 仮想通貨は、Solidity だろ
781 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 20:23:10 ID:/Xk0nwt/.net] >>773 そのように組めばそのように動く
782 名前:デフォルトの名無しさん [2020/02/21(金) 20:31:58 ID:QP8p1GF2.net] >>776 そうですかぁ 停電とかPCの故障で停止して、 大損したらまずいと思ってたから、 AWSでずっと動かしてみる、 クラウドなら停止しないで安心ですね。
783 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 21:03:51 ID:/Xk0nwt/.net] >クラウドなら停止しないで安心 ヒソ( ´д)ヒソ(´д`)ヒソ(д` )ヒソ
784 名前:デフォルトの名無しさん mailto:sage [2020/02/21(金) 21:52:48.61 ID:g+Ne8Q54.net] >>777 そのレベルなら停電の心配するより自分のプログラムのバグで損失出す可能性の方がはるかに高いだろう。
785 名前:772 [2020/02/21(金) 23:27:12.20 ID:QP8p1GF2.net] Cloud9にPyCarmで書いてたプログラムを移して、 AWSで動かしてみました、 ブラウザー閉じても、無事に自動で動いてるみたい、 もう、20円くらい稼げた、 これで、寝ているだけで朝起きたらお金が増えてるかな、 AWSは750時間分無料で使えるみたいなので、 しばらくこのまま動かしてみます。
786 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 00:10:39.94 ID:pQxmP5Jc.net] 朝起きたらバンされてるから
787 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 02:14:03.09 ID:R+gSedzt.net] ◎バグで損失 〇アルゴリズムがクソで損失 △利用料の請求でしぬ
788 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 08:40:23.32 ID:6wlvfoPI.net] >>771 参考になりました https://stackoverflow.com/questions/12569018/why-is-adding-attributes-to-an-already-instantiated-object-allowed 検索して見つけたんですがここでもクラスはディクショナリの糖衣構文なんて書いてますね いやしかしそうすると同じ型のオブジェクトなのにその後の操作によって違うメンバを持ってたりするわけですか えぇ……型適当すぎませんかpython…… selfに関しては自分自身を参照型なりポインタなりで関数内に渡していじくってると考えればいいんですかね なぜthisにしない……そして自分自身が変化しないインスタンスメソッドでselfなんで書かねばならんのだ……
789 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 09:16:04.11 ID:/f58S0oT.net] >>783 言語が異なれば用語や概念は異なるのだから、自分の母国語に無理に当てはめて考えようとすると行き詰まるぞ。それぞれの言語で意図やポリシーがあってその言語の仕様が作られているのだから、違う考えに基づくものだとして違いを受け入れ、理解しようとしてみなよ。
790 名前:772 mailto:sage [2020/02/22(土) 09:50:55.45 ID:ltYpm+bh.net] 動かしたまま寝て朝見たら、 無事に動き続けてました、 45円くらい利益出たから、 半日もしないのに資金の1.2%程増えた、 ほんとに、寝ているだけで朝起きたらお金が増えてるw クラウド便利ですね、ありがとうございます。
791 名前:デフォルトの名無しさん [2020/02/22(土) 10:10:20 ID:hsz3eTB9.net] >>783 嫌なら使わなくていいよ 世界で2番目に使われてる言語は諦めて田舎で畑でも耕してな
792 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 12:14:02.69 ID:4QVNajON.net] >>783 selfに関してはC++やっている奴なら、非明示でC++のメンバ関数にもPythonのself のようなもの(this ポンタ)が渡されると知っているんじゃないのか? www7b.biglobe.ne.jp/~robe/cpphtml/html03/cpp03057.html >メンバ関数には this ポンタが隠し引数として渡されるので、普通の関数と同じようには扱えないのです
793 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 13:22:04 ID:WVugcdbO.net] >>783 Python開発した当時にthisを使ってたのはC++くらいだしね。 SmalltalkやObjective-CはselfだしJavaやJavaScriptはまだ出てなかった。
794 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 13:45:22 ID:qQaAG+8d.net] レシーバーは、Ruby ではself、jQuery ではthis で、 どちらも引数で渡さないでも使えるように、実装で頑張った Rubyのインスタンス変数には、@ を付ける。 @x = 1 Ruby のself は、文脈依存。 モジュール内で、クラスの外では、Module module M p self.class #=> Module class C p self.class #=> Class end end M::C.new
795 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 13:46:07 ID:BwPLw7gM.net] なぜthisにしない……って そりゃCやC++で開発するんだから被るthisは回避するじゃん C++で使ってないselfになるのは順当 Cで作る→C++に移行 との可能性はわずかながらあり
796 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 15:28:23 ID:8UzPa+1r.net] プログラム未経験のまったくのど素人です 以下のコードを実行しても何も起こりません なぜか逆スラッシュが\になってしまい、それが原因でしょうか? 長いので二つにわけます def hangman(word): wrong = 0 stages = ["", "_______ ", "| ", "| | ", "| 0 ", "| / | | ", "| / | ", "| " ] rletters = list(word) board = ["_"] * len(word) win = False print("ハングマンへようこそ !")
797 名前:790 mailto:sage [2020/02/22(土) 15:30:30 ID:8UzPa+1r.net] while wrong < len(stages) -1: print("\n") msg = "1文字を予測してね" char = input(msg) if char in rletters: cind = rletters.index(char) board[cind] = char rletters[cind] = "$" else: wrong += 1 print(" ".join(board)) e = wrong + 1 print("\n".join(stages[0:e])) if "_" not in board: print("あなたの勝ち !") print(" ".join(board)) win = true break 如何でしょう?
798 名前:デフォルトの名無しさん [2020/02/22(土) 15:40:17.92 ID:2qBDSHyD.net] 一方うbyはklassを使った
799 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 15:57:31 ID:/f58S0oT.net] >>791 まず>>1を読んでその通りにする。話はそれからだ。
800 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 16:10:09.30 ID:mY130Jrs.net] hangman関数を定義したけど呼び出してないからでは?
801 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 16:18:17 ID:nfgptzfk.net] >>783 >えぇ……型適当すぎませんかpython…… Pythonに限らずJSやRubyなんかのOOをサポートしてる動的言語はだいたい同じ クラスやオブジェクトのベースはディクショナリ >そして自分自身が変化しないインスタンスメソッドでselfなんで書かねばならんのだ…… Cやシェルスクリプトと同じでレガシーな言語だからイケてない部分もたくさんある そういうものだと思って受け止めるしかない 開発者が使いやすいように積極的に機能追加していくような言語ではないからね Stackoverflowとか見てもわかるけど Pythonコミュニティは割と言語機能に対するコンプレックス強いから イケてないところ指摘すると逆ギレされやすいから気をつけて
802 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 16:38:39 ID:qQaAG+8d.net] >>910-911 >win = true win = True それと、break の前に、何かの文字が入っているとか?
803 名前:796 mailto:sage [2020/02/22(土) 16:51:45.07 ID:qQaAG+8d.net] >>910-911 ちゃんと動く Python は、スペースでインデントしないといけないのか。 タブでは動かない
804 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 17:20:59 ID:WVugcdbO.net] >タブでは動かない んなことない。
805 名前:796 mailto:sage [2020/02/22(土) 17:36:28 ID:qQaAG+8d.net] スペースとタブが混在したからかな? 漏れは、動かなかったけど
806 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 18:24:55.47 ID:R+gSedzt.net] 近頃の3系は混在ダメ
807 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 18:39:04.76 ID:WVugcdbO.net] 混在は別に問題ないぞ?linterで警告されるかもしれんが。 インデントに一貫性がない場合はエラーになる。
808 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 18:42:52.13 ID:lw7HhssO.net] 言語機能に対するコンプレックスというか、 「○○の言語にある◽︎◽︎がないなんて…」と思うなら、 ○○を使えばいいじゃん、としか思わないなあ。 日常的に7言語ぐらい使ってるし、経験としてはもう3言語ぐらい使えるけれど、 Pythonで書くとメリットがあるものしかPythonで書かないから、他の言語の構文がどうとかかなりどうでもいいな。 ブロックスコープがあるといいなと思うことはあるけど。
809 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 18:48:19.79 ID:/u2JjX4w.net] >>791 これ、関数定義だけのように見えるんだけど それなら実行しても何も起きないのは当然だよね
810 名前:796 mailto:sage [2020/02/22(土) 18:57:19.31 ID:qQaAG+8d.net] そのスクリプトの下の方に、こう書いておいて、 「python3 script.py abc」みたいに実行すればよい 全角空白で、インデントしたけど if __name__ == "__main__": args = sys.argv hangman( args[ 1 ] )
811 名前:796 mailto:sage [2020/02/22(土) 18:59:26.46 ID:qQaAG+8d.net] >>805 のスクリプトの冒頭に、import sys も必要
812 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 20:38:45.74 ID:NV/PY/Op.net] >>802 > 混在は別に問題ないぞ? あるだろ なんのためにインデントでブロック表現するようにしたと思ってるんだよ
813 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 21:00:17.41 ID:WVugcdbO.net] インデントにスペースとタブを混在しても問題ないと言っているんだが話理解してるか?
814 名前:790 mailto:sage [2020/02/22(土) 21:03:41.80 ID:8UzPa+1r.net] 皆さんスレのルールを守らなかったにも関わらずレスして戴きありがとうございます 今後はルールを厳守しますのでよろしくお願いします 早速ご忠告どおりに試してみたいと思います 厚かまいついでにもう一つ、逆スラッシュが\に変換されてしまう理由も教えて戴ければ幸いです
815 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 21:07:01.25 ID:+QQ7ccWr.net] 変換されてるのではなくフォントの違い
816 名前:790 mailto:sage [2020/02/22(土) 21:10:51.98 ID:8UzPa+1r.net] 独学でpythonをマスターしたというコーリー・アルソフなる御仁の「独学プログラマー」って本で勉強しているんですが、 これは、とても初心者向けとはいえない入門者なので、「超初心者が初心者になるためのpython入門」という本を買い直し ました
817 名前:790 mailto:sage [2020/02/22(土) 21:12:47.05 ID:8UzPa+1r.net] 入門者→入門書 訂正いたします
818 名前:796 mailto:sage [2020/02/22(土) 21:13:08.40 ID:qQaAG+8d.net] 逆スラッシュが、\ に割り当てられているのは、 日本語キーボードだからじゃないの? Ruby では、改行は、\n。 \ で問題ない
819 名前:790 mailto:sage [2020/02/22(土) 21:19:59.48 ID:8UzPa+1r.net] 仰るとおり日本語キーボードを使っています \で問題ないんですね
820 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 21:34:34.14 ID:NV/PY/Op.net] >>808 理解してないのはお前 念の為に言っとくけど動けばいいという話じゃないぞ
821 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 21:38:27.08 ID:/f58S0oT.net] >>814 円記号とバックスラッシュに同じ文字コード0x5Cが割り当てられているせいで、フォントによってどちらで表示されるかが異なるがデータ上は同じ文字として扱われているから気にしなくてよい。 >>813 が言ってる日本語キーボードは無関係。ついでに言うと、>>813 はこのスレのタイトルに【Ruby禁止】と付けられる原因になった有名な荒しだからスルー推奨。コテはつけてないけど書き方に癖があるからすぐに見分けられるようになるよ。
822 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 21:44:03 ID:WVugcdbO.net] >>815 流れ読めよ。エラーにならないという意味で問題ないと書いた。 推奨されない書き方だから警告されるとも書いた。
823 名前:790 mailto:sage [2020/02/22(土) 22:00:26 ID:8UzPa+1r.net] 解決しました! ちゃんと動きます 最後に関数を呼び出していませんでした お騒がせしました
824 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 22:06:36 ID:NV/PY/Op.net] >>817 流れを読めてないのはお前な コンパイルが通ればOKとか言い出すタイプか?w
825 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 22:17:04 ID:WVugcdbO.net] >>819 面倒くさい奴だな。エラーにならないという意味で問題ないと書いたし警告が出るとも書いた。 それに何か反論するならお前の考える問題のあるなし・OK/NGの基準をきちんと定義してからにしろよな。
826 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 22:42:33 ID:NV/PY/Op.net] >>820 > お前の考える問題のあるなし・OK/NGの基準をきちんと定義してからにしろよな。 それを書かずに問題ないとか言ったのはお前な
827 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 22:50:49 ID:WVugcdbO.net] だから流れ読めと言ったんだが。>>798-802は動く動かないの話しかしてないだろ。
828 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 22:57:54 ID:WVugcdbO.net] 面倒くさいからケリつけて。 >>807 どういう意味でどう問題があると言いたいのか。 >>815 動けばいいという話じゃなくてどういう話なのか。 >>819 コンパイルが通ればOKじゃなくてどうだと言いたいのか。 ケチつけるだけで内容が無いから話が進まない。
829 名前:デフォルトの名無しさん mailto:sage [2020/02/22(土) 23:49:21.14 ID:nfgptzfk.net] TabError: inconsistent use of tabs and spaces in indentation https://ideone.com/3EhNsh インデントに一貫性がない場合ってのが「混在してる」場合の一つ 結論 =>「混在は別に問題ない」わけがない
830 名前:デフォルトの名無しさん [2020/02/23(日) 00:11:39.44 ID:4i+7lYMQ.net] しょもない流れww