【まず1嫁】くだすれPython(超初心者用) その58

■ このスレッドは過去ログ倉庫に格納されています
2022/09/07(水) 10:33:53.50ID:RjZl78eW
当スレに★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(超初心者用) その57
https://mevius.5ch.net/test/read.cgi/tech/1653225908/

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2023/03/01(水) 02:38:03.98ID:5Uklc3Vx
無くすってか許容できる計算誤差になるよう有効桁定めようってだけやな
2023/03/01(水) 05:23:15.99ID:mASV1q5s
案外、環境構築や維持が大変な印象
個人端末で使うツールならともかく、これをサーバー側で使うのはちょっと
2023/03/01(水) 07:42:18.32ID:azDagB3j
>>613
「だろ」と言われても、ただの回答者の俺には何も分からん
あと、質問者じゃないなら質問者を助けるレスをすればいいんじゃとも思った

で、その条件だけだと「計算誤差を無くすことが出来ない」が回答になる
簡単な例えだと
(1e+20)+(1e+0)は明らかに(1e+20)より大きいのに結果は等しくなる
有効桁を超えるような差があれば加算した時点で必要な情報が落ちるから
2023/03/01(水) 07:58:18.92ID:ryFbcHNY
>>615
ちょっとpython齧ってみようかなって段階からもう毎日ピップピップだからなw
2023/03/01(水) 09:33:35.91ID:68s28u+f
>>605
>>> print(0.1 + 0.1 + 0.1 == 0.3)
False
>>> print(0.1 + 0.1 + 0.1 < 0.3)
False
>>> print(0.1 + 0.1 + 0.1 > 0.3)
True
2023/03/01(水) 09:36:09.09ID:68s28u+f
>>609
abs(a - b) < machine_epsylon
2023/03/01(水) 12:51:52.55ID:/+zlFgx9
>>616
出来ないのかよw

>きちんと有効桁数で計算誤差を無くすことが出来れば
出来ないこと書いてたのかよw

入力値の範囲と計算結果の取りうる範囲と必要な精度の3つの条件次第では出来る場合があるというだけ
もうちょっとちゃんと勉強した方がいいと思うぞ
2023/03/01(水) 12:57:49.29ID:OF8zJGbT
decimal使うと許容できないレベルで遅くなるの?
2023/03/01(水) 16:23:46.38ID:68s28u+f
decimalで良いから
Σ[n=0→N](1/n!)
を計算してみてくれ
全部の項が有理数だから
誤差無しで計算出来るよな
2023/03/01(水) 16:57:28.35ID:qu6Mgfeb
本質は精度すなわち桁数なんだから無理数だから有理数だからっていうのもちょっと違うけどな
2023/03/01(水) 18:11:53.52ID:azDagB3j
>>620
最初(>>608)から条件次第の「出来れば」を使ってる
実際に0.1+0.1+0.1は「出来る」
floatだけの条件は「出来ない」
と答えてるわけだけど、間違ってるか?
2023/03/01(水) 18:59:21.19ID:6o6pBq27
小数が誤差と切り離せない世界じゃ誤差無しって言葉は刺激が強すぎるんだよ
誤差無しじゃなくて誤差が許容範囲に収まる的な言い方が良いよ
626デフォルトの名無しさん
垢版 |
2023/03/01(水) 19:51:47.90ID:47xEv8Wd
>>601
594だけど、594はnp.signを使った三項演算子の方は、等しくない(事前に設定した誤差範囲内とみなさない)場合には、より大きいかより小さいかを返せるようになってるよ。
627デフォルトの名無しさん
垢版 |
2023/03/01(水) 19:54:43.50ID:47xEv8Wd
有理数体のなかで誤差なしで計算したい(有理数は適当な小数にしないで有理数のまま)ならSymPyがおすすめ
代表的な無理数(冪乗根とか円周率とかネイピア数)に対してもそのままいい感じに計算してくれるよ
2023/03/02(木) 10:10:25.44ID:rYHGX+R7
>>623
>>622 は敢えておちょくってるんだろう
2023/03/04(土) 00:43:59.71ID:9lG2HFfg
LinuxやMacでよく使うzshでは {05..13} みたいに開始終了をゼロパディングありで展開してくれたりと
globが色々と親切便利なんだけど、pythonで同じことってできます?
2023/03/04(土) 13:44:16.31ID:9lG2HFfg
例をあげると連番ファイルを取得するとき
files = glob.glob("hoge0[5-9]") + glob.glob("hoge1[0-3]")

files = glob.glob("hoge{05..13}")
みたいできたら便利だよねって話

まー無理だよね
2023/03/04(土) 16:25:12.30ID:TFyrRW48
下手な煽りだな
シェルの機能を使いたいならシェルスクリプトでやればいいし
Pythonの機能を使いたいならPythonでやればいい
どちらでも簡単にできる
2023/03/05(日) 06:56:30.57ID:dQa+t3b2
pythonスレで超初心者が質問してるのに
なんでシェルスクリプトでやればいい、が出てくるんだよ

pythonで簡単にできるんなら教えてやればいいのに
超初心者なんだから

知らんけど
2023/03/05(日) 09:18:05.40ID:7FUxSsUe
というか、まずChatGPTに聞けばいいのに
2023/03/05(日) 12:51:29.09ID:/Qd0pRlS
それはない
2023/03/05(日) 14:33:19.64ID:wYGIUXOl
ChatGPTはどっかのサンプルコード持ってきてるのかね
そのうちビミョーなシステムが乱立しそう
2023/03/05(日) 17:20:03.53ID:mHTl7Z7J
どういう理屈でそう思うのか・・・
2023/03/06(月) 09:49:26.31ID:+SNoJfi8
機械学習関係でいくつかプログラムを動かしたいのですが
うち1つがconda前提のものです
環境がごちゃごちゃになりそうなのでcondaは入れたくないのですが
condaでないと動かないようなプログラムはあるのでしょうか
638デフォルトの名無しさん
垢版 |
2023/03/06(月) 14:17:58.54ID:diWxUEyJ
Nothing exists.
2023/03/06(月) 15:41:31.70ID:+SNoJfi8
スレ違いっぽい質問にお答えいただきありがとうございました
2023/03/06(月) 18:19:37.81ID:cC2tHqtD
conda前提のパッケージを、conda以外の環境で動作させるためにする努力の価値が
その成果に見合うのかどうか、という問題はあろうな

素直にcondaで動かしたらどうだろうかな
condaでなら動くのだし

がんばればなんでもできます、と称して無限の時間を浪費できるのなら止めないが
2023/03/06(月) 19:23:14.14ID:+SNoJfi8
>>640
ありがとうございます
簡単にできそうになかったら素直にanacondaインストールします
642デフォルトの名無しさん
垢版 |
2023/03/07(火) 00:30:19.09ID:qVFHfpwA
conda環境丸ごとdockerでコンテナ化しちゃえば環境の汚染は気にならない気がする。
2023/03/07(火) 08:23:50.45ID:sKxL2SZc
>>642
良いアイデアをありがとうございます
自分の環境がHyper-Vベースの仮想化と相性が悪くて有効にすると全体の動作が遅くなってしまうのですが今後の参考にさせていただきます
2023/03/07(火) 18:17:32.45ID:GyJLAiKU
アクセスすると、はい か いいえ を選ばされ
その答えに対応するページに飛ばされるサイトがあります。

@アクセスする
Aその飛ばされた先のURLを取得する
というコードが書きたいです。

webbrowser.open(url)

では@が出来てもAが出来ません。

Seleniumは何度やっても
selenium.common.exceptions.WebDriverException: Message: 'chromedriver.exe' executable needs to be in PATH.
エラーが出て上手くいきません。

なにかいい方法があれば教えて下さい。
2023/03/07(火) 19:06:34.60ID:msqWHE5U
>>644
https://www.selenium.dev/ja/documentation/webdriver/getting_started/install_drivers/
手順を飛ばしてるだけ

>'chromedriver.exe' executable needs to be in PATH.
ここ解決してないのにたまに動いたら逆に怖ない?
2023/03/09(木) 07:52:53.98ID:4mKd36cG
まずはChatGPTに聞く、をテンプレにしてもいいんじゃないの?

>>644 もChatGPTで回答返ってくるよ
なんならコードも書いてくれる
647デフォルトの名無しさん
垢版 |
2023/03/09(木) 10:19:49.67ID:o+JIvC59
PATHの編集方法をググれば解決する
2023/03/09(木) 11:33:45.65ID:PCiF5eQX
chatなんとかもいまいち信用ならん。
さっき「アダ・マウロってだれですか?」って訊いたら
モディリアーニの経歴紹介しおったw
649デフォルトの名無しさん
垢版 |
2023/03/10(金) 02:11:51.12ID:YTsMunwf
>>648
信用ならんは即使い物にならないに直結しない。
聞いてみてダメだなと思ったらBing AIチャットに聞いて、待ってる間に公式リファレンス開いて、Bingがダメだったとき初めてリファレンス読む。
リファレンスだけから理解するよりは速いからね。
2023/03/10(金) 02:33:48.69ID:Rh1DcdBC
なるほど為になった!
2023/03/10(金) 13:34:08.67ID:vgbxxgX1
>>648
ごぉじゅうねーんのでんとー
にーしざわがーくえーん
2023/03/11(土) 00:34:49.26ID:xYY5sdN4
>>648
使い方が悪い
調べごとに使うんならGoogleでいい
2023/03/11(土) 02:18:45.14ID:upG7TOzF
AIは検索ワード教えてくれって聞くのが最善の予感
2023/03/11(土) 17:34:40.06ID:MmJYWuJb
日本語のファイル名だとファイル名が文字化けするソフトがある
だからファイルを日本語から英数字にしたいんだけど

日本語をローマ字読み(英数字)に再変換する方法ってある?
見分けがつけばいいから漢字の訓読み音読みが間違ってもいい
なんなら漢字は抜けてもいいや

大量にあるからpythonでファイル名変換できたらいいなって思った
2023/03/11(土) 17:45:04.76ID:eYgVkRGU
base64に変換してしまうとか
ちょっとファイル名が長くなるけど
2023/03/11(土) 17:59:37.01ID:0fOr9zyF
pip install romkan
import romkan
japanese_text = "こんにちは、犯人はヤスです。"
romanized_text = romkan.to_roma(japanese_text)
print(romanized_text) # 「konnichiha, hannin wa yasu desu.」
2023/03/11(土) 18:08:19.38ID:dPnxLkg/
ひらがなカタカナだけなら適当にやればよくて
漢字をちゃんとやろうとすると自然言語処理が必要で困難
精度とか利用制限が合うかわからないけど適当なAPIをつかうのがよさそう
https://developer.yahoo.co.jp/webapi/jlp/furigana/v2/furigana.html
https://labs.goo.ne.jp/api/jp/hiragana-translation/
2023/03/11(土) 19:30:02.12ID:MmJYWuJb
>>656
romkan入れた
ありがとう

ちなみにpipインストールするとエラーがでた
romkanのREADME.rstにASCⅡ以外の文字が入ってるらしい
ソースを落として「README.rst」がopenされてる行を

README = open(os.path.join(here, 'README.rst'), encoding='utf-8').read()

と書きなおして、同フォルダのsetup.pyから入れる必要があるみたい
659デフォルトの名無しさん
垢版 |
2023/03/13(月) 12:29:42.49ID:MQXrOMNA
空を自由に飛びたいな
はい チンコプター
2023/03/13(月) 14:02:11.88ID:bF2IN6wD
森鷗外𠮟る。

森鷗外𠮟ru。

あかんやんけ
2023/03/13(月) 14:13:52.78ID:gNuC7YqS
人名には詳しくないんだな
662デフォルトの名無しさん
垢版 |
2023/03/13(月) 14:23:14.04ID:xSz/HmKT
Windows の SAPI ってローマ字にする機能無いんだっけ
2023/03/13(月) 14:32:39.95ID:bF2IN6wD
これな
https://language-and-engineering.hatenablog.jp/entry/20150109/KakasiOnWindowsUsageSample
664デフォルトの名無しさん
垢版 |
2023/03/13(月) 14:45:36.27ID:puY54q1D
すみません。
Anacondaをインストールしようとしましたが、

Error loading Python DLL 'C\Users\(ユーザー名)\AppData\Local\Temp\_MEI48562\python 39.dll’,
LoadLibraly:指定されたモジュールが見つかりません。

と出て途中でインストールが止まってしまいます。
_MEI48562というフォルダを探してみてもまだ作成されていないのか見つかりません。
どうすれば解決できるでしょうか?
2023/03/13(月) 15:01:14.31ID:bqBi0AM/
使ったこともないが
anaconda Error loading Python DLL
でググって最初にでた記事
https://community.anaconda.cloud/t/installation-problem-error-loading-python-dll/32442
こんなところで聞くよりこの公式Communityに行くべき
2023/03/13(月) 17:32:12.76ID:puY54q1D
>>665
ありがとうございます
667デフォルトの名無しさん
垢版 |
2023/03/14(火) 02:43:22.39ID:WthbhZLX
どうせ漢字のユーザー名だろ
馬鹿にありがち
2023/03/14(火) 08:45:18.65ID:/9YEDKrQ
>>667
あり得るな
669デフォルトの名無しさん
垢版 |
2023/03/14(火) 11:31:42.32ID:VNqhYyU8
>>667
それだ
2023/03/14(火) 12:18:54.38ID:RMW5dHae
この救いようない三馬鹿せめて自演であってほしい
2023/03/14(火) 12:48:25.33ID:M4/MNwv7
バカっていうやつがバカなんだ (  ̄ - ̄)
2023/03/14(火) 13:10:45.16ID:ZglUMoKm
C\Users

これが本当なら見つかる訳が無い
673デフォルトの名無しさん
垢版 |
2023/03/14(火) 14:46:46.07ID:MvkWgGoW
>>672
馬鹿は黙っていればいいのに
674デフォルトの名無しさん
垢版 |
2023/03/14(火) 16:06:49.79ID:nJMjNPeI
MAUI Hentai School には無理
675デフォルトの名無しさん
垢版 |
2023/03/15(水) 21:02:43.53ID:a3cohPYc
30代Pythonクソチョン男は強姦魔の犯罪者!
あなたの近くにいます!
父母と祖父母の戸籍謄本を提出させましょう!
676デフォルトの名無しさん
垢版 |
2023/03/16(木) 22:40:11.96ID:LvmwkbR7
dictとlistが入れ子になって
list()してもdict()してももうどうにもならん
一回バラして空のdictから作り直すしかないんか
どんどんスパゲティ化していく…
どうしてこうなる
2023/03/17(金) 02:38:23.11ID:9M3DVThi
>>676
素直にデータ管理クラス作ったほうが良いんじゃないか
2023/03/17(金) 05:59:43.22ID:KERSf6NQ
A = []
B = [A]
C = [B]

A.append(C) # 消したらバグる
679デフォルトの名無しさん
垢版 |
2023/03/17(金) 19:30:44.30ID:gB6bRoNP
bit全探索遅すぎんか?
なんでこんな遅いんだろ
2023/03/17(金) 21:01:35.81ID:Jh+ZOCBw
書いたコードがどう動作するかの想像と現実がかけ離れてるかんじ?
なにするにもオーバーヘッドかかるんで
Cのようにデータと操作の量だけで単純に導き出せないから
numpy使うかPyPyやCythonで書き直すのも手
2023/03/17(金) 22:30:12.83ID:9M3DVThi
>>678
バグるって何がどうなるん?
682デフォルトの名無しさん
垢版 |
2023/03/17(金) 22:38:22.83ID:9GL040C8
>>680
pythonのライブラリって中身C++で実装してて
python自体はただのラッパーだって聞いたけど違うん?
2023/03/17(金) 22:53:37.93ID:frn5JcHg
速度を気にするんだったら
生のpythonはお勧めできないな
そういう言語ではないし
ライブラリを呼ぶか
高速化したい部分を c か c++で
書くのが現実的
2023/03/18(土) 09:36:22.98ID:8g+8VXuC
>>682
付属ライブラリはPythonで書かれてる
だからライブラリのソース読むとPythonの勉強になる
CやC++は宇宙人用の言語だから普通の人にはわからんからな
685デフォルトの名無しさん
垢版 |
2023/03/18(土) 13:29:07.12ID:fSPMk7mF
numpy が C/C++ で描かれてるからと言って
それ以外の python の library や module が
python で描かれてるってことにはならない
2023/03/18(土) 14:43:04.76ID:QMFYp3cB
そりゃそうだろうw
論理的にも
687デフォルトの名無しさん
垢版 |
2023/03/18(土) 15:44:27.38ID:fSPMk7mF
>>682 が可笑しなこと言うからさ
688デフォルトの名無しさん
垢版 |
2023/03/18(土) 16:45:51.67ID:FTG3GYVM
>>683
でもそれ競技では使えないんですよ
2023/03/18(土) 18:52:02.33ID:uU16xjdU
競技のための競技だな
2023/03/18(土) 22:12:13.90ID:krkKeZ41
最近始めた初心者です。お願いします。
jupyterでブラウザを立ち上げることは出来るようになったのですが
ブラウザの立ち上げる前に毎回、from selenium import webdriver と入力しないといけないのでしょうか?
2023/03/18(土) 22:17:11.39ID:sy5GHHGN
そういうときは
jupyter import 自動
とかでググるかAIチャットで聞いてみるんよ
2023/03/18(土) 22:48:53.68ID:krkKeZ41
ありがとうございます
ChatGPTを使って進めているのですが、これだけ理解できずこちらで聞いてみました。
自動化は皆がやっていることなのですね。参考になりました
2023/03/19(日) 10:17:11.46ID:fPDrKYk/
jupyter使ってる人まだいたんか
2023/03/19(日) 10:30:43.41ID:0QGYVmFU
ならスクラッチパッド的に試行錯誤したいとき何つかってるの?
vscode用拡張をMS自身が用意してくるほどにはみんな使ってるよ
2023/03/19(日) 10:37:00.56ID:fPDrKYk/
みんな(ω)
2023/03/19(日) 10:56:34.11ID:0QGYVmFU
そんな綾みたいなとこ着目されてもな
2023/03/19(日) 11:49:17.50ID:FxEAo0SM
vscodeで#%%ってやったほうが楽だな
698デフォルトの名無しさん
垢版 |
2023/03/19(日) 14:58:11.07ID:TvHFRsn1
seleniumとかはjupyterが適してるんじゃない?
毎回初めの画面遷移から確認するのだるいじゃん
あとpandasでちゃちゃっとデータ整形するのもjupyterなしではやってられない。
まだjupyterなんか使ってるの、という人は上記のようなケースではどうやって書いてるの?disじゃなくてよりいい方法があるなら乗り換えるから知りたい
2023/03/19(日) 23:09:14.05ID:fPCD3IEI
USBにはデバイスとホストがあるようなのですが、PC1からPC2のハードディスクのデータにアクセスして
PC1にコピーするには何から考えたらいいでしょうか?

PC2はデバイスポートを持っていてPC1をホストとして接続が出来そうに思うのですが、方法がわかりません。
2023/03/19(日) 23:21:12.94ID:3QN5+OXV
>>699
ファイルのコピー程度であれば、USBやpysmb等を扱うまでもなく、
OSの機能を使ってPC2のハードディスクを共有し、
PC1からそのPC2の共有ディスクをopenし読み込みPC1に書き込むむ、で
よいのでないのかな
2023/03/19(日) 23:23:21.26ID:3QN5+OXV
と思ったが、Linux同士ならできるがWindowsだと無理だったなスマソ
2023/03/19(日) 23:25:46.08ID:fPCD3IEI
>>700
ありがとうございます。
それはLAN経由という事ですか?
PC2はLANに接続できない(禁止されている)ので出来ればUSBでデータを抜き出したいのです。
2023/03/19(日) 23:47:36.63ID:0QGYVmFU
PC2でUSBデバイスとなるプログラムを動作させれば実現できるし市販品もあるが
それもれっきとしたLANなのでEthernetじゃないからというのは詭弁
704デフォルトの名無しさん
垢版 |
2023/03/20(月) 00:51:24.19ID:m4NlOkWq
馬鹿の書くLANの意味は何だろうな
馬鹿だから社内ネットワークのことだろうな
2023/03/20(月) 01:12:50.74ID:Jy+RyUMo
仕事の質問を5chでするって時点で
セキュリティ的に何か重大な問題を抱えてそうな予感
2023/03/20(月) 17:05:12.75ID:ELt2LlTE
github actionsでpipのキャッシュを使うようにしてパッケージインストールするようにワークフロー書いたんだけど、パッケージのインストールが早くならない

pipのキャッシュってパッケージのファイルが置いてあるからパッケージのインストールが早くなるという認識でええんよね(´・ω・`)
2023/03/20(月) 17:36:10.34ID:REuZd10D
ダウンロードサイズが大きくなくて効果が薄いか
pathの指定がまちがってんじゃない?
作業中keyを変えてないなら古いキャッシュみてるとかね
よくわかってないなら野良のAction使うかコード参考してみ
2023/03/23(木) 21:22:02.61ID:SE5S7lnM
Threadの仕様がゴミみたいなんだけど、ほかの言語みたいに同じコードを個別に動かすこと出来ないの?
2023/03/23(木) 22:26:36.40ID:mBtK7sgT
>>708
multiprocessingモジュール使えば出来る。
2023/03/23(木) 22:30:49.81ID:22DIkEIq
同じコードを個別に動せないって意味がわからん
2023/03/23(木) 22:49:52.39ID:fPsGtrD2
>>709
句点らしからぬ珍答

>>708
ほとんどのモジュールがGILに引っかかって意味ないから
できる構造になってない
もし非同期処理書きたいならasyncioをつかう
2023/03/23(木) 23:23:46.89ID:mBtK7sgT
>>711
並行処理(concurrent)なのか、並列処理(parallel)なのかわからんけど、parallelの方はmultiprocessingでそんな問題ないけど。
ワーカープロセス作ってコア数で殴ってjoinとか普通にできるよ。
真剣に高速化したいならPythonで書くなみたいなツッコミはともかく。
2023/03/26(日) 14:34:46.68ID:zG19viAn
--------A.py-----------
str = 'Hello, world'
----------------------------
--------B.py-----------
bb=1
import A

str = A.str
print(str)
----------------------------

py B.pyで実行

pythonで変数を別ファイルに渡すでググるとだいたい上のようなサンプルが出てくるけど
逆にA.pyでB.pyで定義した変数て読める?
714デフォルトの名無しさん
垢版 |
2023/03/26(日) 14:57:31.88ID:7xq4orUh
循環参照は悪手
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況