くだすれPython(超初心者用) その38
■ このスレッドは過去ログ倉庫に格納されています
このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。 エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。 騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。 次スレは >>985 辺りで 前スレ くだすれPython(超初心者用) その37 http://mevius.5ch.net/test/read.cgi/tech/1521271945/ ごめん くだスレだと思わずに書き込んでた 忘れてくれ ただ良書なのは確かなのでそのうち読んだ方がいいかも 入門書やったんなら公式のライブラリにじっくり目を通して 何ができるのかを把握してから 思いつくものを手当たり次第に実装してみると良いかも Pythonは本読むより実際に書いて慣れた方が良い Effective Python、パーフェクトPython とかじゃないの? Ruby の順番では、 たのしいRuby、Effective Ruby、パーフェクトRuby、メタプログラミング Ruby とか Ruby/Python, Java/C# は双子だから、同時に勉強もできる。 Haxe では、Java/C# は同じ開発者がやってる >>642 みんなでpython >>645 ほんそれ rubyrubyうるせーなまた仕返しに荒らしてくるか 質問です。 Windows10でAnaconda3.6をインストールし、Jupyter notebookで以下のように入力すると、 >import matplotlib.pyplot as plt このようなエラーが出ます。 >https://i.imgur.com/kcsUVSO.jpg いくつかググってAnaconda Promptにて以下のように入力してみたのですが解決しません。 >pip install numpy >pip install matplotlib ものすごい初歩的な問題で申し訳ないのですが、ご教示いただければ幸いです。 どうぞよろしくお願いいたします。 >>654 jupyter経由せずにpythonプロンプトでも同じ結果? >>656 回答ありがとうございます。 指示していただいたのはこういうこと↓でよろしかったでしょうか。 https://i.imgur.com/aur7BAM.jpg >>658 「コマンドプロントを変えて」というのはこういうこと↓でよろしかったでしょうか。 https://i.imgur.com/7JIkFvi.jpg 全然関係ないことやってたらすいません。 pip install じゃなくて conda install だろ jupyterの方で import sys sys.path 出してみて >>665 ありがとうございます。 すいません。UNIXのことは全然わからなくてWindows10において「sudo 系の管理者権限与え」る方法が分かりません。 せっかく回答していただいたのに申し訳ないです。 Windows10 の、旗のスタートボタンを右クリックすれば、 PowerShell・PowerShell(管理者用)がある コマンドプロンプトも、一般ユーザー用・管理者用がある。 起動時に指定できるだろ 正確なエラーメッセージで、検索するのが基本! これで、ほとんどのエラーは解決する 画像を貼っても、俺らは文字列をコピーできないし、 スレに、入力した文字列と、正確なエラーメッセージを書くべき 質問です。 Atomを使用してPythonで画像を表示させるだけのコードを書いているのですが、Pathに日本語が含まれているため、Atom-runnerがPathを認識してくれません。なにかアドバイス、解決策等ご教授いただけないでしょうか? setdefaultencoding setsystemencoding setfilesystemencoding 機械学習と言う明度つきの酔拳衰弱に飽きた グレースケール以外で頼む >>670 ファイルパス・PC のユーザー名など、システム要件には、半角英数字以外は使えない。 半角空白も使ってはいけない バグるから 問題は・・・ ひろみが男か女かってことだな どっちにも取れるから悩ましい・・・ dir = { "a": "A", "b": [1,2.3,4] } 上の辞書の簡単なアンパックのやり方ないでしょうか? a, b, c = dir["b"] print(a,b,c) >>671 ありがとうございました!! >>673 日本語のWindows10使っているのでどうしてもデフォで「画像」とか日本語名が入ってしまうものがあって…… 上の方の綺麗なヒント…というか答えで解決できました。 Anaconda3.6を入れた次点でnpもmppも入ってる。と思うが、 install時にパス通して無かったりするの? いったんアンインストールして入れ直す。 可能なら64bit版にしとけ。 みんなのPythonを読んでいるとインタラクティブシェルを使っているのでずっとインタラクティブシェルを使っていたのですが、 IDLEというのを開いてみるとインタラクティブシェルととても良く似ています。 インタラクティブシェルとIDLEは何が違うのでしょうか?検索してもよく解りません…… インタラクティブシェルはインタラクティブで、 IDLEはみんなの人気者です。 >>682 解らないということは、その知識は今の自分に必要ないと脳が感じて 理解を拒否しているんだよ だからIDLEは今の君に必要ない。気にせず飛ばして進みなさい 解らないことを片っ端から解き明かしてゆくには人生は短すぎる 理解できないのは、単に能力が足らないだけじゃん。 理屈をこねくり回して噓ばっか言ってんな。 IDLEは中でインタラクティブシェルを動かしてるだけだろ IDLEを好む人がいるのはWinでコマンドプロンプトが使いづらいからだと思う >>682 あっしも初心者なので正しいか自信がないけど、どっちでも好きな方を使えば良いんじゃないかな? 自分はLinuxだけど、 インタラクティブな使用→ターミナルから $ python3でターミナル上で起動 ファイルから起動 →好きなエディタで編集・保存 & ターミナルから $ python3 hoge.py アプリ的に使用 →デスクトップエントリ作ってメニューから呼び出し って感じでやってます。ちなみにエディタはVS Code使ってます。 WinだとターミナルよりIDLEの方が使いやすいですか? >>687 windows上ならBlenderのpythonのIDEもおすすめ >>1 に"へび使いが優しくコメントを返します"ってあるけど全然優しくないコメントばっかだよね プログラミングやってる奴なんて、根暗の性格曲がった奴しかいなから仕方ない >>692 どういう点に「根性の曲がった奴」という特徴を感じたのですか? IDLEはpythonの「とりあえず必要なものは最初からそろえておく」という哲学(電池同封)で とりあえず使える簡易的なコードエディターと、そこそこ便利な対話的実行環境がついてるソフト インタラクティブシェルはpythonの普通の起動方法 コードを書くときキーワードが色分けされたりしないし 複数行コピペとかもやりにくいからちょっと不便 基礎を学ぶ分にはIDLEのほうが便利だけど 他のプログラムとの連携とか ファイル操作関連を学ぶときはインタラクティブシェルのほうが便利だと思う 基本的にはGUIかCUIかの違いってだけじゃねーの ウェブ上にあるダウンロード可能なファイルが更新されたかどうかを判定したいんですがどういう方法が考えられますかね? 2,3時間で更新 中身はjsonのデータで今は1時間おきにdl,解凍後jsonの最終更新日キーの値が完全一致かで判定してますが凄く冗長で別の手段が無いかと思い質問しました。 >>698 import requests url = "https://httpbin.org" ; head = requests.head(url).headers print(head) ほとんどのファイルはDataに更新日時が設定されてるはずだから これが更新されたらファイルも更新されたとみなせばOK ちょい訂正 DataじゃなくてDateね もしDateに変化がなくてもContent-Lengthとかが変わるはずだから とにかくヘッダ情報の何かが変わったら更新されたと思っておけばいいだろう >Content-Lengthとかが変わるはず わろす ヘッダ部分ですか ありがとうございます 色々調べてやってみます ttp://diveintopython3-ja.rdy.jp/iterators.html ttp://diveintopython3-ja.rdy.jp/examples/plural6.py Dive into Python3日本語版で質問があります。 このplural6.pyなんですが、 if len(self.cache) >= self.cache_index: とありますが、 複数形にする規則は4つしかなく、マッチする場合はlen(self.cache) == self.cache_index の場合しかないと思うのですが、なぜ>がつくのでしょうか?あと、 self.cacheは、それぞれの規則に基づいてマッチと処理を行うために必要な関数のリストになるものだ (少なくともこれには聞き覚えがあるはずだよ!)。self.cache_indexは、キャッシュされた要素のうち、 次にどれを返さなければならないかを記録している。キャッシュがまだ残っている場合には (つまりself.cacheの長さがself.cache_indexよりも大きい場合は)キャッシュがヒットする! やった! マッチと処理を行う関数を初めから作るかわりに、値をキャッシュから取り出して返すことができるのだ。 というところもよくわかりません。コンソール(linuxです)からpython3 plural6.py wordと呼び出すごとに新しいインスタンスが作られて過去のキャッシュは破棄されると思うのですが。 ==で済むところを>=にしたり=<にしたりするのは予防効果を狙う意図もある >>705 ちょっと間違えてました。通常の4パターンにマッチする場合、len(self.cache) < self.cache_index になる場合しかないようです。 if len(self.cache) >= self.cache_index: になる場合がわからないのですが、詳しい方ご解説をお願いできませんか? >>705 例外の場合ですか? >>707 レスありがとうございます。高校時代の数学を思い出しました。 ただこのプログラム(plural6.py)の 該当箇所 if len(self.cache) >= self.cache_index: return self.cache[self.cache_index - 1] を削除してもプログラムは正常に機能したのですが、このコードには何の意味があるのでしょうか? 654です。結局古いPC引っ張り出してAnacondaをインストールしてみたら無事グラフを出すことができました 回答いただけた方は本当にどうもありがとうございました 1. 仕様書 → プログラム 2. プログラム → 仕様書 1.は簡単だけど、2.は難しいから、2.をしない方が良い。 暗号化は簡単だけど、解読が難しいのと同じ。 逆方向が極めて、難しい 特に他人のプログラムでは、 プログラミングした人だけが仕様書の内容を知っているのに対して、 解読する側は、隠された情報を解かないといけないので、桁違いに難しい まず、仕様書を見ること。 仕様書が無ければ、あきらめた方が良い 所詮、他人のプログラムを分析しても、時間が掛かるだけで得られるものはない。 他人の仕様書を、推測するだけだから 自分で仕様書を作って、それに則ってプログラミングする方が、短時間で能力向上できる! 1のほうが難しいな 演算式を文系が理解できる言語に置き換えろとか拷問にしかすぎんよ if len(a) >= x: return a[x - 1] a が、リンゴかミカンなのか、わからない。 x が、価格か数量か、わからない こういう推測は、プログラミングじゃない。 仕様を推測しているだけ 最初から、答えである仕様書を見る方が速い。 なぜなら仕様書は、解読者から見て、隠された情報だから、 どこまで行っても、推測に過ぎない 答えは仕様書にある。 答えがあるものを推測するのは無駄。 プログラミングした奴は答えを知っているけど、自分は知らないから、絶対に勝てない 100年研究しても勝てない。 所詮、答えじゃない。推測に過ぎない どう考えても1のほうが難しい。 2を行うツールはたくさんあるが、1はほとんど無いし、数少ないツールも仕様記述のルールが厳しくコードで書いたほうがマシレベル、ってかコード。 日本の場合、仕様書に異常に盛り込みすぎて非現実的なものになっているか逆に適当すぎて仕様書にすらなっていないという状況が多すぎて 仕様書→プログラムという変換がエスパー無しでは不可能なことが多い 逆はまともに動くプログラムが手元にあるわけだから自動でやろうと思えばできる if len(a) >= x: return a[x - 1] a のlen が、x 以上なら、a[x - 1] を返す。 これがプログラムの意味 でも、a, x が何かは、わからない! これが仕様の意味 外部のプログラマーには、プログラムの意味しか、わからない。 仕様の意味は、仕様書を見た奴にしか、わからない 答えは、仕様書にしか存在しない! こいついつものrubyキチガイだってすぐ分かるなw >>716 お前いつものRuby厨だろ?それRubyistに言ってみ?コミュニティに出入り禁止になるぞ Rubyでは「コードが仕様」であり、ドキュメントは絶対に書いてはいけない 一方Pythonは「は?いや必要なものは書けよ」の文化だが、お前はこっち来なくていいから今すぐその間違った考えを改めてRuby村に戻って出てくるな >>716 それ、変数名・関数名に分かりやすい名前付ければいいだけじゃないか プログラム自体初心者です。 paizaというサイトでコツコツ問題を解いて勉強しているのですが 入門編3の演習2で詰まりました。 今まで動画で習ったことをやっていれば進めたけど 今回ばっかりはどうしても解けない・・・ こういう問題です。 標準入力で2つ(2行)の整数が与えられます。 1つ目の数値から2つ目の数値までを、1ずつ増加させながら、1行ずつ順番に出力するプログラムを作成してください。 わかる方がいたら、解説よろしくおねがいします! >>723 わからなくて、最終的に書いたのがこれです。 line= int(input()) for i in range(6): print(line) line += 1 line = int(input()) print(line) 5と12が入力されます。 5から12まで順番に入力出来たら正解なのですが そのやり方がわからない。 期待する出力値はあっているのですが、 正しいやり方ではないので間違いになります。 x= int(input()) y= int(input()) for i in range(5,13):print(i) 後は自分で考えて >>706 インスタンス変数が書き換えられた時に例外を起こさないようなフローとか? 質問です pythonでguiを作りたいのですが、PyQt4やPySideなど選択肢がいくつかあり、 どれを使えばよいのかわかりません。 作りたいguiは、伺かのようなデスクトップアクセサリを想像下さい。 こんにちは。 プログラミングを始めたばかりのものです。 ATOMとCV codeというエディタが良さそうということが分かったのですが、どちらが良いのか判断がつきません。 デザインはATOMの方が好みですが、CV codeの方が軽いみたいです。 蛇使いの皆さまはどのエディタを使ってらっしゃるのですか? >>728 最初からついてるtkinterじゃダメなの? VS code+拡張機能のcode runnerが好き。 色々エディタ試したけどこれまでmatlabでデータ解析しててそこから移行した身としては結局jupyter notebookをブラウザで使うのが一番快適 pycharmでもほぼ同じ形でjupyter使えるけどvimプラグインがブラウザ版の方がまともに動くからブラウザ1択 >>722 while文の練習だから whileからinputA != inputBで抜け出すか条件を満たしたらbreakするようにするんじゃね? >>732 >拡張機能のcode runne vs codeでは統合ターミナルからプログラムを実行する機能が最初から付いているみたいですが、これではダメなんでしょうか? >>736 そうなんですか!それは便利そうですね。 ATOMにもエディタ上でコードを実行する拡張機能はありますが、範囲選択出来るものは無いんでしょうね。 そう考えると、そこはvs codeの強みですね。 >>726 できました!! ありがとうございます。 >>730-731 ありがとうございます。 筑波鯖落ちてるぽいんで夕方に挑戦してみます。 >>729 メインはjupyter。サクッと可視化や計算するのに向いてる。 ある程度処理が定型化してきたり、複雑な処理が必要なときはspyder使ってる。格納してる変数が見やすい。 >>737 強みもクソもAtomがVSCodeに勝っている点など無い 開発元のGitHubもMSに買収されたから、そのうちアップデートでいつのまにかAtomを使っていたつもりがVSCodeになってるかもね >>728 私見だけど御三家はtkinter wxPython PyQtかな。 意外とwysiwygなGUIデザイナが少なくて、私は最終的にPyQtに落ち着きました。 tkinterはウィジェットが野暮ったいとよく言われてますが、なにせ標準ライブラリなので クロスプラットフォームでやり取りしやすいのがメリットですね。GUIデザイナはPAGEと SpecTcl のGUIビルダーを使ってました。 PyQtはQtDesignerがスグレモノなのとウィジェットでかっこいいのがあるのがメリット。 wxはネットや本で解説が多いのがメリットでしょうか?GUIデザイナはwxGladeを使ってました。 他にもpyGTKとか pyFLTKがありますが、ややマイナーですね。 とりあえず迷ったらtkinterが無難じゃないでしょうか? いずれのguiツールキットも多少の文法に差はあれど、ウィジェットの配置、 ウィジェットのイベント発生と処理ルーチンの関連付けなど似通ったところも 多いので、どれから始めても損はないと思います。 連投ですみません。 PyQtをお考えならPyQt4よりもPyQt5の方が良いと思います。 本家QtがもうQt5に移行してますんで....。Python2ベースでもPyQt5行けたと記憶してます。 PyQtは金払ってないならGPLだぞ >>743 にGPLに基いたソースの公開を要求する ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる