【まず1嫁】くだすれPython(超初心者用) その56
■ このスレッドは過去ログ倉庫に格納されています
当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 Pythonの★ソースコードをそのまま5ちゃんに貼るとインデントが崩れてチヌ★ 【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】掲示板の仕様なので、 プログラム文は↓等の、いわゆるコードうp用サイトに貼ってこいください。 ttps://techiedelight.com/compiler/ Run Code機能あり。 ttp://ideone.com/ デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。 ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。 ttp://pastebin.com/ まずまずシンプル。 ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。 ◇Python公式◇ http://www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その55 https://mevius.5ch.net/test/read.cgi/tech/1633070807/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
b = a[2][3] c = a[5][7] H = [b, c] という評価を一行で書いてるだけなので Hの時点だともうその情報はない >>251 ありがとうございます。 ではx座標とy座標を呼び出すにはどうしたら良いでしょうか? よくわからないんだけどH[0]を呼び出すとa[2][3]が返ってくるなら tmp = H[0] x = tmp[0] y = tmp[1] になるんじゃないの? Pythonのサンプルコードでは from hoge import piyo import hoge のような記述をよく見ます これは行儀が悪いように見えますが、Pythonでは問題のないことなのでしょうか >>250 座標もセットにしてリスト化する H=[(a[2][3],(2,3)),(a[5][7],(5,7))] >>249 勉強中なので細かいこと大歓迎です、ありがとう すみません >>257 は読み間違いなので無視してください メンバー変数「__name」を持つ「Human」クラスがあったとして、 これを継承した「HyperHuman」クラスは、 継承元の「__name」を参照できないんですか? クラスの外から参照しないメンバ変数を__付きにしまくったら継承先で参照できなくなってしまった >>253 すみません、 うまく行きませんでした >>255 ありがとうございました、思考によって問題を回避出来ますね。私に欠けていたのは問題に食らいつく精神力でした。 >>254 俺もこれ気持ち悪いわ 誰かスッキリさせてくれんか >>254 import xxx only zzz みたいにしてほしかったよね >>262 xxx.zzz以外のxxx.*参照できない状態を保持するのめんどそう import xxx zzz = xxx.zzz と書けるしfrom import自体いらんなら分かる >>259 そのままの名前ではできない 継承先から別の名前で山椒できる self._Human__name https://ideone.com/9xMJkE >>264 できるけど わざわざ__してるのを呼び出しちゃうのかーいって気はするなw >>264 ,265 そのタイポの仕方がちょっと笑える 「参照の育て方」はツボったよw >>264 ありがとうございます 変数名自体が変わってアクセス防いでるのかあ 同じ継承先からは参照したいので、_一個にしておきます if os.path.exists(p): をpathlibで書き換える場合、 if p != "" and Path(p).exists(): で完全に同じになりますか? 空文字以外に注意しなければいけないものありますか? >>271 空文字判定しないと、空文字のとき Path(p).exists()がTrueになる 空文字はpathlibで "." として扱われるみたい 富士通「年収3500万円」の衝撃 ソニー、NECも戦々恐々の「グローバル採用競争」 「富士通年収3500万!」日本のIT企業の年収も、高額化してきました ゼロから起業するよりも事業承継(小さな会社の買収)が圧倒的に有利である3つの理由 「エース人材だって起業OK」、NECは挑戦者が集う場をつくる NECなど「出向起業」 大企業人材、起業しやすく IHIが副業解禁、人事制度で他の重工大手を先行する狙い カルビー/国内社員3900人を対象に副業解禁 どのシステムでも何も渡さなければ現在のディレクトリとして処理するだろ c#のsystem.io.file.exists()やdirectory.exists()、winapiのfindfirstfile()(ディレクトリの存在確認もできる) どれも空文字は失敗するよ スクレイピングする際にlxmlでhtml内に任意のcssセレクタが含まれてればtrue、含まれていないときはfalseを返すことってできますか? >>277 パスはpathlibへの引数でexists()の引数じゃないんよ Ruby では結論としては、空文字列と、. で同じ結果になる require "pathname" p path = Pathname.new( "" ) #=> #<Pathname:> p path.to_path #=> "" p path_ab = path.join( "a/b" ) #=> #<Pathname:a/b> p path_ab.to_path #=> "a/b" # -------- p path_2 = Pathname.new( "." ) #=> #<Pathname:.> p path_2.to_path #=> "." p path_2_ab = path_2.join( "a/b" ) #=> #<Pathname:a/b> p path_2_ab.to_path #=> "a/b" >>250 私も初心者なのでアドバイスなどおこがましいのですが... class作るのが簡単かと... class a(object): value=[[0,1,2,3,4,5],[0,2,4,6,8,10],[0,3,9,12,15]] def __init__(self,x,y): self.x=x self.y=y def ans(self,x,y): return(a.value[x][y]) def xy_ans(self): return((self.x,self.y)) H=[a[2][3], a[5][7]] hoge=H[0].xy_ans() まちがいました。 最後から2行目は H=[a(2,3), a(5,7)]です。(5,7)でエラー出ますけど... >>273 情報ありがとうございます。 テストコード長い・・・ 空文字以外は気にしなくていいと思い込むことにしよう GUI(tkinter)からyt_dlpで動画ダウンロードするものを作っていたのですが Visual Studio Codeから実行した場合正常に処理できました 直接実行するとエラーになりました(拡張子pyw) 拡張子をpyに変えると直接実行しても正常に処理できました 一般的に拡張子pywで正常に処理できるかを実行せずに判断する方法ありますか? あるいは、拡張子pywでも正常に処理する方法ありますか? 今回のPGMはsubprocess.runを使わずに with YoutubeDL(ydl_opts) as ydl: ____result = ydl.extract_info(youtube_url, download=True) のような形式で呼び出しています たまに以下のようなミスをしてしまうのですが、これを防ぐor容易に発見する にはどうしたらいいでしょうか。 foo=default_value if a_condition: boo=new_value # 本当はfooを更新したかったがbooとミスタイプした # -> あれ、fooの値が変更されてない、みたいな >>288 if a_condition: old_foo=foo boo=new_value if old_foo == foo: raise ValueError("error!") pylanceさいつよ # type: ignore pylanceってパイランスって言うんですか? 昔「だっちゅーの」っていう女の子二人組が... 素朴な疑問ですが、補完機能があるようなものを使うとして、上記の場合にbooが 間違いであることはどうやって分かるんでしょうか。もし同じスコープ内にbooという 変数が既にあった場合、booとタイプするのを間違いとは断定できないのでは... もしbooがなかったら、「プログラムに影響を及ぼさない変数をいじってんじゃねーよ」 というツッコミは可能だと思いますが。 そりゃ重箱の隅を突き始めたらすり抜けるケースなんていくらでもあるよ もともとコードとして合法なんだもん >>291 だってold_booとか書いたら一緒だからね もうコンパイラ言語を使えば type hints書かないの?(書き捨てのぞく) エディタが人間のやりたいことを理解できる時代になったら検出できるんじゃない? 怪しい部分にはassert文挟むとか、291みたいにエラー吐かせるのが基本じゃないか 根本的に、1文字ミスって別の変数にアクセスできちゃう書き方というか、その命名規則や設計思想は良くないね 動けば何でもいーじゃんとか言って後々にツケが回るやつだ >>287 print()とかのコンソールを前提とした戻りを 拡張子pyのときに限定しないと行き場がなくてエラーが出るんじゃない? no_consoleモードだと、エラーメッセージがそのままでは拾えないような >>301 別のプログラムで、pywからImageMagickt等10種以上をsubprocess.runで呼び出して、 no_consoleモード実行してるんですがエラーになったことないです。 pythonのprint()もエラーでたことないです。 >>302 エラーがうまく拾えなくて困っています。 >>304 内部的にurllibを使ってると、with as 構文ではうまく動かなかったこともあるので、 ydl = YoutubeDL(ydl_opts) result = ydl.extract_info(youtube_url, download=True) ydl.close() あたりではどうかな? >>306 やってみました 結果は変わらず。 ydl.close()はエラーになったのでコメントアウトしました >>307 try-exceptでエラーをtkinterのメッセージボックスに表示してみたけど、 no_consoleモードの場合だけNoneTypeエラーが出るねぇ stdoutとstderrをファイル出力にしないといけないんじゃないの >>310 with (redirect_stdout(open(os.devnull, 'w')), redirect_stderr(open(os.devnull, 'w')), YoutubeDL(ydl_opts) as ydl): ____result = ydl.extract_info(youtube_url, download=True) でno_consoleモードで正常に処理できました。ありがとうございます。 どなたか、no_consoleモードかどうかの判定の仕方教えてもらえませんか? 拡張子での判定は、Visual Studio Codeから実行した場合に支障がでるので インタープリター名で判定 mode = 'no_console' if 'pythonw' in os.path.basename(sys.executable) else 'console' 皆様ご助言ありがとうございました。 no_consoleモードの判定は、sys.__stdout__ にしました。 sys.executableではexe化したときに判定できないことがあるらしい >>315 訂正 sys.executableではexe化したときに判定できるのか知らない メソッドに渡した文字列をstripしようとしたらnonetype errorが起きた そこで関数内でその文字列変数をprintしたらちゃんと出力された 何が理由のエラーなのかさっぱり分からん ただのバグか? stripしたいのにnonetype errorになるのがバグじゃなかったらなんなんだよw ただのバグだじゃん 筑波大ドメインやぞw 開けなくてもニュースになったあの教材ってわかる 元の値(文字列)をきちんと拾えるようにすればいいだけじゃないのか? 画像の境界線をimagechops.difference().getbbox()で検出するとき 境界線付近にjpg圧縮由来のぼんやりノイズがあって、少し大きめのbbox取得しちゃうとき どうやってノイズ突破するのがよいでしょうか? 画像黒、背景白、ノイズはだいたい10%グレー前後です 目を凝らさないと見えないんだけど、differenceの感度が高すぎて拾っちゃう感じ >>326 言語などの話題ならわかるけど 個々のアルゴリズムはpython由来のものじゃないからNGだと自分は思う シャープとか二値化とかそんな前処理してからbboxすれば? モスキートノイズってやつ? バイラテラルフィルタをopencvで50回くらい連打すればいけそう python2から3で、/ (割り算)って常に浮動小数点になりました? ね? 4/2=2; 5/2=2 (python2), 4/2=2.0; 5/2=2.5 (python3) 古いスクリプトをメンテしていたら、結果がおかしかったので... これはどうしたら。 // だと整数(部分)になるようですが、ぱっと見変数の中身が整数なのか浮動小数点 なのか明らかでない部分もあり。 > ぱっと見変数の中身が整数なのか浮動小数点 なのか明らかでない部分もあり。 type hint付けたら? 複数店舗のレシートの画像データから消費税率ごとの金額をpythonで抽出する具体的な方法をどなたかご存じでしたらお教え頂けないでしょうか? レシートへの記載方法は機械での印字、位置や内税、外税、合計金額などのフォーマットは不定となります よろしくお願いします int(a/b)とa//bは挙動が違うから注意がいるよね とはいっても挙動変わる桁までそんな使わないけど >>333 適当な業者に見積もりだしたらわかるけど難易度高いよ そのために有料のプログラム部品やクラウドサービスが各社からでてる 日々更新せんとあかんし↑を提供する側じゃないかぎり割りに合わない >>333 AIでエリア認識(yoloなど)と数字読み取り(どんなでも)でやればいい 画像=フラッドスキャナ読み取りで歪み傾き限定的だったらAI使わなくてもピクセル読んでく力業でなんとかなる ただフォーマットが本当に不定(どんな店のかわからない)だったら力業じゃむり 自分で作るなら手動入力前提で入力支援機能に徹する方が現実的だよ 揺れるならAI使うしかなかんべ まず1000枚くらいを人力でデータ化し 静止画とあわせて学習させる あとはカメラ転送python受け、内部計算pandasかdbに登録ね >>331 むしろ浮動小数点の答えを期待してるっぽいところもあるので単純ではなかったり >>332 やるにしても既存のコードが結構ありまして >>334 とりあえず前者は常に整数ですが後者は中身によりますよね。 数値表示が2から2.0になったりしても、問題ですね。 結論: めんどくさい... って感じですかね >>338 違うよ、前者も後者も常に整数だけど前者は整数になる前にfloatを挟むので桁数が大きいと計算精度が保証されなくなる a = 123456789012345678 b = 10 print(int(a/b)) print(a//b) これ試してみるといいよ //が場合によるってどこで聞いたんだよ… そんな知識の精度でintとかfloatとか気にしてる場合じゃないぞ >>335 ,336,337 やはりaiが必要など難易度高そうですね ありがとうございました 回転しない前提なら投影で位置を推測するんですけどね enumerateで取得した番号がずっと1だ なにがどうなってる iniファイルを読み込むときに、 [GENERAL] ABZ=tanaka ABG=satou AUQ=hououin 〜〜〜〜 みたいな羅列の長い内容を読み込むときに、ABZとかAUQとかコード内で指定せずに勝手に読み込んでその名前で変数化することは可能ですか? 読み込むだけで大変な長いコードになってしまった >>345 cfg = configprrser.Configperser() cfg.read(path) return dict(cfg.items("GENERAL")) って辞書にする書き方ができました K=9 T=0 import numpy as np a[T]=np.zeros((K,K)) print(a[T]) aが定義されてませんと言われましたがどうやって回避すれば良いでしょうか? どうしたら良いでしょうか aを定義しろと言われてもaはゼロ行列だと思うのですが ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる