くだすれPython(超初心者用) その37
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その36 http://mevius.2ch.net/test/read.cgi/tech/1514805522/ 実行できない。 へるぷ def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'): □i = bisect(breakpoints, score) □return grades[i] [grade(score) for score in [33, 99, 77, 70, 89, 90, 100]] 実行できないってどういうことよ エラーメッセージがあるならそれも載せろよ まあわざと載せてないのかもしれないけど >>510 >>509 が言っているだろ。開発環境とシステム分けてないから実行できないんだよ NameError: name 'bisect' is not defined 関数内にglobal と書いてもダメだった。 import bisect で、TypeError: 'module' object is not callable $ sudo pip3 install bisect で Could not find a version that satisfies the requirement bisect (from versions: ) No matching distribution found for bisect 要件bisectを満たすバージョンを見つけることができませんでした(バージョンから:) 二等分線に一致する分布が見つかりませんでした 「みんなのPython」に書いてある Anaconda は、Windows など予め、Python が入っていないOS が対象です。 Linux など、最初からPython が入っている場合は、プロに聞いて下さい。 この本では教えませんw つまり、Pythonがバッティングするから。 Python3 というコマンドが、Python 3.4, 3.5 のどれを指すのか、 OSとAnacondaで、異なるバージョンの場合に厄介だから $ which python3 /usr/bin/python3 $ which python3.5 /usr/bin/python3.5 $ file /usr/bin/python3 /usr/bin/python3: symbolic link to python3.5 つまり、Windows10・WSL・Ubuntu16.04 では、python3 → python3.5 異なるバージョンを使いたければ、仮想環境のvirtualenv(venv)を使って、 環境変数PATH を上書きしないといけない activate ってすると、PATHが上書きされて、 システムとは異なるバージョンと結び付けられる それか、Docker を使うとか Anaconda使ってないよw Geanyから起動してる。 linux mint18 mate python 3.6.3 システムバージョンの python 3.5.2でも試したけど、一緒のエラー内容だった。 公式から、ライブラリ落として 入れないと駄目とか? 分からない。 本当に分からなかったので教えて貰いました。 https://teratail.com/questions/122985 import bisect では、なく。 from bisect import bisect と、記載しなければ成らなかった模様です。 help(help)について help関数の定義を見たくてhelp(help)を実行したところ、 以下のような出力がありました。 Help on _Helper in module _sitebuiltins object: class _Helper(builtins.object) | Define the builtin 'help'. | | This is a wrapper around pydoc.help that provides a helpful message | when 'help' is typed at the Python interactive prompt. | | Calling help() at the Python prompt starts an interactive help session. | Calling help(thing) prints help for the python object 'thing'. | | Methods defined here: | 以下略 見たいのは_Helper in module _sitebuiltinsではなくhelp function、 以下のような説明です。 help(object): help on object or class of object, except help('name'): help on object/module named 'name' help(): run utility, which starts with utility help どうしてそれが出ないのか、ご教授いただけるとありがたいです。 Python3.6、pycharmを使用しています。 >>519 質問をすることでしか得られない、回答やアドバイスがある。 15分調べてもわからないことは、質問しよう! 何このサイト 入門者でも質問OKなのかな? このスレだと15分調べて質問したらggksとか言われそうなんだが >>523 色々な意味で驚いた 間口が広いはずの、2/5chの存在意義が・・・ ただ、入門者だと実際ここで躓く事もあるし ディレクトリ構造って実際理解するの結構大変 分かってるとツリーになってると言えるし、そもそも何が大変なのか説明する方が難しいレベルだし・・・ そういえば、最近のOSってアドレスにあるパスが一部しか書いてなかったりするけどみんな困らないのかな? 昔のOS使ってるとパス辿ればいいと分かるけど、パスの概念を勉強する機会が減りそう >>524 同意を求めるのじゃなくて質問すれば答えてくれんじゃね?そうゆうの? >>526 teratailで質問するとここと違いやさしく丁寧に教えてくれるよ >>526 グーグルでpython インストール で検索。 以上。 >>526 ネタだと思うけど、公式から自分が使用してるOSを選ぶ。 https://www.python.org/downloads/ 32bit PCだと 64bit版は動かせない。 x86 32bit x86-64 64bit ここは、Python の初心者用のスレだろ。 言語だけの初心者 PC・OS・情報処理の初心者用ではない。 Python以外の事は、知っているべき win機で特に理由が無いなら、 Windows x86-64 executable installer Ubuntuならコッチみてくれ。 https://www.python.jp/install/ubuntu/index.html >>530 最初に、どれ動かして良いのか分からなかったからww 全部ダウンロードして、試した俺が居るぞww >>530 でもなぁー 毎日PCの電源を入れている人ならともかく 例えば高校数学にコンピュータあるけどあれするだけでもプログラミングソフトのセットアップって 重要で意外と難易度が高い かといって、WindowsOS向け、Pythonセットアップスレとか作っても多分はやらない ただ、少し慣れてきてUbuntuとかtensorflow-gpuとか入れろと言われるとトラブってる人も多いし その記事だけでアフィが成り立つレベルだよ 526です。pythonのコード書くのはコマンドプロントだけ? pythonのエディタはWindowsのコマンドプロントだけ? >>533 学校も含めて他人のPCにインスコするときは VM用意してその中で遊ぶのがマナー >>530 言語だけの初心者=PC・OS・情報処理の初心者やけど よっておまえもなw >>536 それは無いよ。 USBブートで遊ぶべき。 >>536 VMってシステムに深く入り込むから大変なことになる というかLANが使えなくなって半日嵌った >>539 ??? VMware PlayerとかVirtualPCなんかだと普通のアプリケーションと変わらんぞ ゲスト側のネットワーク設定はちょっとコツが要るけど アップデートしたら、仮想SW死んだことがある 環境的に物理的なトラブルと切り分けが調べられなくて泣きそうになった wxpythonでボタンをクリックしたら別のpyに書いたウィンドウを表示させているのですが、開いたpyウィンドウを閉じるともとのボタンをクリックしても再実行されません。 importは一度だけというのはわかっているのですが・・・ どのような記述をすれば閉じても何度でも再実行できるようになるのでしょうか。 教えて下さい。 wxpython を説明している、サイトを見て、勉強する >>544 5chのPythonスレのレベルを超えた質問 teratailで尋ねたほうが良いよ >>546 このスレで出来る回答はそんなもんだよな >>548 実行ボタン処理が定義されて無いから? 詳しい人、どうぞww pythpn初心者だけどオブジェクト指向分からな過ぎて死にそうです 何かおすすめの本ありますか? 厳し過ぎやろ 俺が引いてんじゃねぇか!ww [遊園地は]使い分けると深みに嵌まるから、この形式だけ抑えて後は垂れ流しだな。 https://ideone.com/VuRClI >>548 とりあえず、ボタン押してフレーム出すのはこう。 import wx class ChildFrame( wx.Frame ): def __init__( self, parent ): super().__init__(parent, wx.ID_ANY) sizer = wx.BoxSizer(wx.VERTICAL) lb = wx.StaticText(self, wx.ID_ANY, "Hello!") sizer.Add(lb) self.SetSizer(sizer) sizer.Fit(self) class MainFrame( wx.Frame): def __init__(self): super().__init__(None, wx.ID_ANY ) sizer = wx.BoxSizer(wx.VERTICAL) btn = wx.Button(self, wx.ID_ANY, "Push Me!") sizer.Add(btn) self.SetSizer(sizer) sizer.Fit(self) btn.Bind(wx.EVT_BUTTON, self.on_button) def on_button( self, evt ): child_window = ChildFrame(self) child_window.Show() if __name__ == "__main__": app = wx.App() frame = MainFrame() frame.Show() app.MainLoop() >>550 まずこの本で、オブジェクト指向を学ぶ。 スッキリわかる Java入門 第2版、2014 その後、この2冊をこの順に読む。 たのしいRuby 第5版、2016 みんなのPython 第4版、2017 この順番でやらないと、理解できないはず。 特に、オブジェクト指向の本は「スッキリ」しか存在しない >>553 さん ありがとうございます! ただボタンを押した後のフレームを出す処理を他のファイルに書いています。 そういうやり方は一般的ではないのでしょうか? def on_button( self, evt ): import aaa のようにaaa.pyを呼び出して処理させたいのですが、一回表示させて閉じると再表示させることができません。 >>555 ファンクションの中でimportして、しかもそれだけでウィンドウを出すってのはすごく変。 四の五のいわずにやめた方がいい。 大体そんなやり方してたら親ウィンドウすら渡せない。 >>555 子ウィンドウのコードを別のファイルにしたいなら、ChildWindowの定義部分を別ファイルにしてimportすればいい。 >>555 偉大なるこのスレの遊園地様が必死に質問しているteratailで聞いたほうがいいよ 処理を書いている他のファイルも提示して動くようにしてくださいと依頼すれば良い importは読み込んで実行というより 定義や宣言を読み込むため(だけ)に使うのが普通よね >>557 >ChildWindowの定義部分を別ファイルにしてimportすればいい ChildWindowの定義部分がある別ファイルのaaa.pyをimportしているのが on_buttonのimport aaaなんだろ import aaa … def on_button(…): child_window = aaa.ChildFrame(…) child_window.xxx = yyy … こんな感じかね ついでにimportで1回しか実行されない原因はこれ http://python.matrix.jp/pages/tips/import.html#id4 C言語でいうインクルードガード的なのが働いてる ありがとうございます、大変勉強になりました。 頑張ります! >>560 wx.Frame.Showをimportするファイルに書くなって意味なんだけど、伝わりませんか、、、そうですか、、、すみません。 >>555 .pyファイルを1つの関数が代わり使うとは大胆だな。 単純に、 >>561 import aaa aaa.pyファイルの中身を関数かクラスにする。 遊園地ww 公式ですと、こんな感じですなww ----aaa.py---- import bbb bbb.A() ----bbb.py----- def A(): print('Hello World') >>555 もしかしてimportするスクリプトにグローバルに書いてるのか もしそうなら、面倒でも何か関数をdefして(例えばopen_window() とか名前を付けて) その中にグローバルで書いてた処理を移動すべし def on_button( self, evt ): import aaa aaa.open_window() という風にすれば、on_button() を呼び出す度にopen_window()が確実に実行される 568さん、今日1日でここまで教えていただけると思わなかったです! ほんとありがとうございます! >def on_button( self, evt ): >import aaa のaaa.pyのどんなことを書いてあるんだろ? >>569 は >>553 のdef on_button( self, evt ): の処理部をaaa.pyに書いて 動くように出来る? ああわかったよ、書けばいいんだろ、、、 >>>aaa.py import wx class ChildFrame(wx.Frame): <中略> >>>main.py import wx from aaa import * class MainFrame(wx.Frame): <中略> def on_button(self, evt): child_frame = new ChildFrame(self, wx.ID_ANY) child_frame.Show() すまん、インデントが消えた。 ちなみにwxの子ウィンドウには親の参照渡しとかないと、親を閉じたときにアプリケーションが勝手に終了してくれないから アプリケーションのメインウィンドウ以外には親を渡した方が良い。 これはaaa.pyに子ウィンドウを表示するグローバル関数を定義する場合も同じ(関数の引数として親を渡せるようにする) じゃないと、出したフレーム片っ端から閉じないとプログラム終了しなくなる。 new ってなんだよ、、俺。 「new ChildFrame(・・・」のnewはいりません、ごめんなさい。 奥深いっす…でも楽しみです! ありがとうございます! >>572 俺、超低脳でさっぱり分からないんだけど、 >wxの子ウィンドウには親の参照渡しとかないと、親を閉じたときにアプリケーションが勝手に終了してくれない その親の参照渡しは>>571 のどこに記述されているんだ? >>575 ChildFrameのコンストラクタの第一引数。 ていうとわかりにくいか? child_frame=ChildFrame(self・・・ のself >>577 俺の知識では理解は無理だが、その部分なのか(そもそも、クラスを理解している奴なら質問しないだろうが) ついでに、 >>553 で>>571 のような回答をくれればよかったんだろうがな(元の質問が別ファイルに子windowの記述がある) 一方、>>574 は素直に>>553 を>>570 のようにするにはどうすれば良い?と質問すればよかったんだろうが 超初心者は俺もだがコミュ力ないから回答得るのに遠回りするよな このスレは>>576 で出たコンストラクタも、これ何?レベルの奴が質問だろうからな すまんね。 553書いたときはクラス一つ別のファイルに移動してそれを使うことが出来ない人がwx使ってウィンドウ出せるなんて思ってなかったんだよ。 >>553 コミュ力ない人の質問だと本当に教えてほしいことが相手に伝わらないことが多いから 回答する人は要エスパー力だからな 以下のコードを実行するとエラーになります どうすればいいのでしょうか・・・ y = 10 print(f'test y = {y}') すいません3.6から実装されたf文字列というんですね 3.5だからエラーになるわけだ(´・ω・`) 別バージョンのpython入れてから、物凄いトラブってる。 dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました 処理中にエラーが発生しました: フォーカスの処理とかしてないが、呼び出すだけなら、コレで良い? 試しては無い。 def Sample(): sub_win = Tkinter.Toplevel() sub_win.title(u"Sub Process") sub_win.geometry("400x300") Sample() jupyter labとnotebookどっも括弧やクォーテーションの補完が効かないんだけどデフォ? それともなんかおかしい? 553さんは普段仕事でpython利用されてるんですか?? 現場ですぐに使える! Pythonプログラミング逆引き大全 313の極意 って初心者向き? >>587 デフォルトでは補完されることになつているはず。 今の状態だとIpythonでも補完できないと思うが? すみません、質問です。 初歩的なことかもしれませんが、 Pythonを使うエディタで秀丸使ってるんですけど、 他のsublimeとかのほうが使いやすいですか? 秀丸だとインデント打つのが面倒で・・・。 ご回答よろしくお願いします。 そのうちプログラム打つのが面倒とか言い出しそうだな >>588 本業はc++ そっちでwx使ってるから、wx周りはそこそこ詳しいってだけ。 pythonは趣味。 意地張ってないでpycharmにしなさい。どうせpythonしか書かないでしょ。 >>592 俺は扱えないけど、プログラムのためのエディタはvimが良いらしいらしいよ >>597 低脳にはそんな素晴らしいIDEは猫に小判だろう 書くPythonだって100行もいかないだろうし、そして、モジュールの中を見ることもないだろう >>591 ipythonでも補完できない。なんかなくちゃいけないファイルが無いんかなあ、探してみます。 >>598 vimは関係ないですよ。 プログラミング書くのに適してませんし。 >>598 趣味でPythonやっている>>553 さんに「低脳」って言うのは言い過ぎだと思いますよ。 Vimが適してないとかアホか お前がプログラミングに適してねえよマヌケ 一生懸命ひでまるおしてろ vimでプログラミングするって冗談じゃなかったのかw これは真性だな・・・ 俺はもう実務でPython扱ってるよ すでに300行以上書いた 明日からちゃんとしたエディタインストールするわ あとみんなレスするときはアンカー(>>)をつけるように 誰に対して言ってるのかわからない独り言みたいだからね 配列の例題なのですが str = "Hello" str2 = "" for n in str: str2 = str2 + (n * 2) + '~' print(str2) これのstr2 = ""は何をする為に必要なんでしょうか? >>603 試しに、str2 = "" を #str2 = "" して見ればOK str2 = [] や str=0でもOKだが >>604 えらい! ちゃんとアンカーつけられたじゃないかw 今日も仕事頑張ったし もう寝るわ おやすみノシ コメントアウトしたらNameErrorと出ました。 これはstr2=""でとりあえず文字として定義してるってことですかね >>600 「 ̄ `ヽ、 ______ L -‐ '´  ̄ `ヽ- 、 〉 / ヽ\ / // / / ヽヽ ヽ〈 ヽ、レ! { ム-t ハ li 、 i i }ト、 ハN | lヽ八l ヽjハVヽ、i j/ l ! /ハ. l ヽk== , r= 、ノルl lL」 ヽN、ハ l ┌‐┐ ゙l ノl l ヽトjヽ、 ヽ_ノ ノ//レ′ r777777777tノ` ー r ´フ/′ j´ニゝ l|ヽ _/`\ 〈 ‐ 知ってるが lト、 / 〃ゝ、 〈、ネ.. .lF V=="/ イl. ト |お前の態度が とニヽ二/ l ヽ.|l 〈ー- ! `ヽ. l |l気に入らない lトニ、_ノ ヾ、! |l__________l| \ ソ ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.1 2024/04/28 Walang Kapalit ★ | Donguri System Team 5ちゃんねる