◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1663235546/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (ワッチョイ ab79-ia8c)
2022/09/15(木) 18:52:26.67ID:VqLViKoX0
!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。

・当スレにRubyのソースコード類を書くことを禁ず
・Ruby等、Pythonではないプログラミング言語での回答類・質問を書くのも禁止
・「Ruby では」「Rubyでは」「Rails」正規表現→「^クソチョンw$」をNGワード登録推奨
・エラーを解決したいときは、かならず
 エラー文(勝手に省略orスクショうp等の横着禁止)と
 おま環(Pythonのバージョン番号+OS名とバージョン+IDE名)を書け。

★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
  ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
https://techiedelight.com/compiler/  Run Code機能あり。
http://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
http://pastebin.com/     まずまずシンプル。
http://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇Pythonドキュメント https://docs.python.org/ja/3/
◇まとめwiki http://python.rdy.jp/

●関連スレ● 自称初心者は↓へ
【まず1嫁】くだすれPython(超初心者用) その57
http://2chb.net/r/tech/1653225908/

〇前スレ〇
Pythonのお勉強 Part67
http://2chb.net/r/tech/1653540315/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ​
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
2デフォルトの名無しさん (ワッチョイ 3d79-ia8c)
2022/09/15(木) 18:56:18.62ID:VqLViKoX0
print()
3デフォルトの名無しさん (ワッチョイ 3d79-ia8c)
2022/09/15(木) 20:24:28.18ID:VqLViKoX0
保守します
4デフォルトの名無しさん (ワッチョイ 4a0c-To/p)
2022/09/15(木) 21:36:55.07ID:v5ZFVedh0
input()
5デフォルトの名無しさん (ワッチョイ 6610-9unz)
2022/09/15(木) 22:29:59.15ID:u8cmgYgo0
raise Exception
6デフォルトの名無しさん (ワッチョイ 3a3d-yLhy)
2022/09/16(金) 03:01:25.86ID:mHJ2EhzM0
Hello World
7デフォルトの名無しさん (ワッチョイ 4a2c-pqEy)
2022/09/16(金) 03:26:22.69ID:CP0EuvL40
import this
8デフォルトの名無しさん (スップ Sdea-rZts)
2022/09/16(金) 04:02:44.42ID:A450q/gvd
oppai = 2 * math.pi
9デフォルトの名無しさん (オッペケ Srbd-hMSh)
2022/09/16(金) 08:12:32.25ID:BdFdhtkEr
str(math.pi) * 2
10デフォルトの名無しさん (ワッチョイ 6aad-OdF3)
2022/09/16(金) 11:29:06.80ID:IG7NLL2G0
meboっていうチャットボット用のAPIを操作したいのですが
単純なAPIが使えなくて挫折してます。

meboHP: https://mebo.work/
meboAPIのAI構築について:https://zenn.dev/makunugi/books/f3d9eb62b6d133/viewer/f0c36f

環境
google colab(Python 3.7.14)

コード
https://pastebin.com/jjDUXv4h

現在の出力
rpc error: code = InvalidArgument desc = Document name "projects/mabo-f1cc7/databases/(default)/documents/bots/" has invalid trailing "/".

サーバーからのステータス
<Response [500]>
11デフォルトの名無しさん (ワッチョイ e6bb-VPVD)
2022/09/16(金) 11:30:32.88ID:Mhf3UwY50
挫折ですか
残念でしたね
12デフォルトの名無しさん (アークセー Sxbd-ia8c)
2022/09/16(金) 11:45:52.27ID:fe3TsGSyx
勉強してて、5ちゃんの名前欄に!omikujiって入れたら結果が出てくるけどPython使ってるのかーってすげー関心したよ
13デフォルトの名無しさん (スプッッ Sdea-rZts)
2022/09/16(金) 12:19:10.92ID:XGOelKRjd
5chってperlかphpじゃなかったっけ?
14デフォルトの名無しさん (ワッチョイ b501-lsvC)
2022/09/16(金) 12:24:02.04ID:STPMjQbh0
perl
15デフォルトの名無しさん (アークセー Sxbd-ia8c)
2022/09/16(金) 13:52:31.50ID:fe3TsGSyx
お恥ずかしい
あれPythonじゃないのね
16デフォルトの名無しさん (ワッチョイ a52c-qXZl)
2022/09/16(金) 15:13:38.95ID:s0L9ffNv0
vscodeとtkinterのナヤミデス

class myLabel(tk.Label):
__def __init__(self, parent, *agrs, **kwargs):
____super().__init__(parent, *a, **kw)

tkinterでカスタムウィジェット作るときこうすると思うんですが
これだとmyLabel呼び出し時に親のパラメータの一覧が表示されません
l = tk.Label() だと引数ズラズラーと確認できるのに
myl = myLabel() だとスン…というかんじ


myl = myLabel(
と書いたところで、master, cnf, bg...
が表示されるよう書く方法はないですか?
17デフォルトの名無しさん (アウアウウー Sa21-1xMQ)
2022/09/16(金) 18:07:30.98ID:xVhXxd2Ka
class myLabel(tk.Label):
__def __init__(self, parent, *agrs, **kwargs):
____super().__init__(parent, *args, **kwargs)
18デフォルトの名無しさん (アウアウウー Sa21-1xMQ)
2022/09/16(金) 18:08:30.05ID:xVhXxd2Ka
武漢コロナ ω株 PI.3.14型
19デフォルトの名無しさん (ワッチョイ 1ee8-pqEy)
2022/09/16(金) 20:01:18.48ID:hwvpyfny0
>>16
手元だとmyLabelでもスラズラでるから言語サーバかな
Pylanceになってるか確認してみて
20デフォルトの名無しさん (ワンミングク MM7a-6Vg6)
2022/09/16(金) 21:51:17.25ID:lcGJOFxSM
んちんちんちんちん
21デフォルトの名無しさん (ワンミングク MM7a-6Vg6)
2022/09/16(金) 21:51:25.91ID:lcGJOFxSM
以下んちんちんちんちん禁止
22デフォルトの名無しさん (ワッチョイ d72c-W3aP)
2022/09/17(土) 11:16:05.47ID:mOZyl/wc0
Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚
下でも上の表示がいいんす
23デフォルトの名無しさん (ワッチョイ 9fad-E+l9)
2022/09/17(土) 12:19:11.97ID:kn9qAbXr0
>>10
解決しました。>>10のレスは無視してください。
24デフォルトの名無しさん (ワッチョイ b717-EKt7)
2022/09/17(土) 16:45:25.92ID:T/Ka29IB0
>>17
この関数の引数、
可変長引数のあとに連想配列では値がわたらないだろう
25デフォルトの名無しさん (ワッチョイ bf5f-W3aP)
2022/09/17(土) 17:15:48.49ID:t52rQtHi0
初心者です。
seleniumでGoogleChromeを起動させたいのですが、
コードを実行しても一瞬起動するだけですぐに落ちてしまいます。
chrome,chromedriverともに105.0.5195.127です。
time.sleep()を使えば一応閉じることはありません。
ネットで調べたのですがchromeとchromedriverのバージョンを一致させれば解決できるらしいのですができなかったのでわかる人いたら教えてください。

from selenium import webdriver
import chromedriver_binary
driver = webdriver.Chrome()
import time
driver.get('https://www.google.com/')
26デフォルトの名無しさん (ワッチョイ ff10-8scs)
2022/09/17(土) 19:09:57.35ID:6XxZTqFF0
chrome,chromedriverともに105.0.5195.127と書いてるのにバージョンがあってないとはいかに
27デフォルトの名無しさん (ワッチョイ ff10-yUIW)
2022/09/17(土) 19:25:38.45ID:0jjtsTOp0
繰り返し使うプログラムならドライバー自動で取ってきてくれる
webdriver-manager使った方がいいよ
28デフォルトの名無しさん (ワッチョイ bf5f-W3aP)
2022/09/17(土) 20:15:49.18ID:t52rQtHi0
webdriver-managerで上手くいきました。
ありがとうございます。
29デフォルトの名無しさん (ワッチョイ 9f2c-bG2j)
2022/09/17(土) 23:33:23.67ID:eA0eWCp60
漏れは、Ruby でSelenium Webdriver を使っているけど、
Chrome の自動更新で、105.0.5195.127 になって、急に動かなくなった

ChromeDriver 105.0.5195.52 をダウンロードしたら、正常に動いた
30デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 10:16:04.22ID:0+YIm89I0
abspath → absolute path
__init__ → initialization
pardir → parent directory
curdir → current directory
getcwd → get current directory
chdir → change directory

こういうの、英語を略してるのだけど思うけど、元の略されてない英語のスペルを調べられるサイトとかありませんか?
毎回ググって出てきた検索結果ページで「abspath (absolute path)」みたいになってるのを探してるのですが、時間が掛かってしまいます
31デフォルトの名無しさん (ワッチョイ ff7b-59VB)
2022/09/20(火) 10:29:13.62ID:pd2Ujokt0
>>30
>>30
32デフォルトの名無しさん (アウアウウー Sa5b-qGT6)
2022/09/20(火) 10:42:03.05ID:7MkL1qhTa
cwd は current working directory
33デフォルトの名無しさん (ワッチョイ 9714-G+99)
2022/09/20(火) 10:54:15.10ID:HlTpV5j10
>>30
まずは公式を見れば?
34デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 10:57:11.96ID:0+YIm89I0
>>32
抜けてました訂正助かります
略称の元を調べる方法で、地道にググる以外の方法とかも分かりませんか?
35デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 11:02:55.38ID:0+YIm89I0
>>33
python.org/ の検索窓にgetcwd, chdir, cwd, ch 色々入れてみても、ググった時と一緒で地道に複数タブでページ開いて探すのと同じでした
36デフォルトの名無しさん (アウアウウー Sa5b-qGT6)
2022/09/20(火) 11:06:51.68ID:7MkL1qhTa
>>34
辞書を引くとか
37デフォルトの名無しさん (ワッチョイ 9714-G+99)
2022/09/20(火) 11:09:36.67ID:HlTpV5j10
>>35
わからないときに調べるのではなくて、一括でリストみたいに知りたいということですか?そういうサイトは知らないです
38デフォルトの名無しさん (アウアウウー Sa5b-qGT6)
2022/09/20(火) 11:16:09.11ID:7MkL1qhTa
知識がないのが問題だったら知識を得るか補助ツール使うしか無いんだよなあ
google翻訳みたいにリアルタイムでオーバーレイで適当な情報出してくれるやつがあればいいんだけども
39デフォルトの名無しさん (アウアウウー Sa5b-bNpc)
2022/09/20(火) 11:19:05.42ID:EhDO16lPa
>>30
そういうサイトがあると便利だよな
是非作ってくれ
40デフォルトの名無しさん (ワッチョイ d72c-3X0R)
2022/09/20(火) 11:20:47.83ID:DMd4PKyr0
sizes = list[(int, int),,,]
からmax_widthとmax_heightを取りたいんだけど

numpyなどの外部ライブラリなしだったら
max_width = [i[0] for i in sizes]
max_height = [i[1] for i in sizes]
が速くて見やすいですか?
もったいないからループ一回で両方ゲットできたらいいんだけど、天の声がそれは遅いというんです
41デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 11:27:35.23ID:0+YIm89I0
>>36
pythonの広辞苑みたいなのあるなら知りたいです

>>37
そんな感じです。イメージとしてはこんな感じ


>>39
もうすでに誰かしら作ってそうな気がしたのですけど意外にないんですね
42デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 11:30:55.43ID:0+YIm89I0
なぐり書きしたので案の定スペルミスしてる
IME辞書みたいに誰かしら作って配布してたりしないのかな
あったら本当に便利だと思う
43デフォルトの名無しさん (アウアウウー Sa5b-qGT6)
2022/09/20(火) 11:35:44.18ID:7MkL1qhTa
>>40
求めてるのはzipとちがうの?
44デフォルトの名無しさん (ワッチョイ ff7b-59VB)
2022/09/20(火) 11:35:51.10ID:pd2Ujokt0
>>40
max_width = max(sizes)
max_height = max(sizes, key =lambda x:x[1])[1]
45デフォルトの名無しさん (ワッチョイ f733-E+l9)
2022/09/20(火) 12:11:40.27ID:i/aW+9oN0
いまいちどういうものを欲してるのピンと着てないけど、存在しないという事はそういうことだろ
もしくは、誰もが思いつかなかった画期的なものの可能性はあるので、作れば人気でるかもしれないよ
46デフォルトの名無しさん (ワッチョイ f733-E+l9)
2022/09/20(火) 12:20:23.86ID:i/aW+9oN0
エディタの補完機能とか知らないわけじゃないですよね
47デフォルトの名無しさん (ワントンキン MM7f-EKt7)
2022/09/20(火) 13:03:31.73ID:dpaaQYZ2M
>>30
python が発展してきた歴史を知るといい
48デフォルトの名無しさん (ワッチョイ 9f01-bNpc)
2022/09/20(火) 13:32:48.86ID:+UHOIJTp0
>>30
英語の略語を集めたサイトはあるけど一般的な略語はともかくabspathみたいな奴はヒットしないし逆にcwdみたいに短い略語はヒットしまくるから使いづらいよ
https://www.abbreviations.com/category/COMPUTING
49デフォルトの名無しさん (ワッチョイ 9f01-vggc)
2022/09/20(火) 14:47:32.20ID:yGE7fJx20
>>30
osモジュールの該当メソッドの説明を読むのがいいと思う
https://docs.python.org/3/library/os.html

一般的なunixコマンドから拝借してるものが多いから
pythonでの一覧がないならそっちを調べるといいかもしれない
50デフォルトの名無しさん (ワッチョイ 9714-xcNX)
2022/09/20(火) 14:59:07.65ID:HlTpV5j10
>>49
>>35
51デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 15:12:53.61ID:0+YIm89I0
30について回答くれた方々ありがとうございます。コメントで教えてもらったサイト見てみます
ググって意味を調べる時間の短縮目的は、そもそも我儘な要望だったかもしれません
52デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 15:33:22.20ID:0+YIm89I0
Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚

望みの実行結果にはなるのですが、パスがないエラーを吐いてしまいます
本来は、os.mkdir(“パス名”)、os.makedirs(“パス名”)、のようにパス名を挿れるとのことですが
for文の変数を引数に渡したい場合はどう記述すればエラーを吐かないのでしょうか?

今朝始めたばっかなので用語の使い方間違ってるかもしれません
53デフォルトの名無しさん (ワッチョイ 9f01-vggc)
2022/09/20(火) 15:54:52.63ID:yGE7fJx20
>>52
エラーメッセージにあるように空文字が渡されてるのがエラーの原因
split(‘\n’)した結果のfolder_listの中身を確認すると分かると思う
でもってsplit()じゃなくsplitlines()を使うといい
54デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/20(火) 16:08:35.44ID:0+YIm89I0
>>53
おかげで解決しましたありがとうございます
テキストファイルに何もない改行がありました
55デフォルトの名無しさん (ワッチョイ bf2d-RYbe)
2022/09/20(火) 17:56:48.55ID:xv+EClXQ0
問題とは関係ないけれど
パスを操作する時はpathlibのほうがいいよ
56デフォルトの名無しさん (ワッチョイ bf66-C6xl)
2022/09/20(火) 18:02:43.94ID:GUzHgw240
正規表現で16進数を表すのに、いちいち[0-9a-fA-F]と書くのが面倒
もっとスマートに書けないものか
57デフォルトの名無しさん (ワッチョイ 17e0-PhD1)
2022/09/20(火) 18:12:50.27ID:0B59Bo4G0
>>56
https://www.google.com/search?q=posix+character+classes
58デフォルトの名無しさん (ワッチョイ 9763-eAa0)
2022/09/20(火) 20:23:11.29ID:zGhXnhGV0
case-insensitiveで [\da-f]
59デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/21(水) 19:43:53.71ID:b5Bal3Dn0
Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚

pathlibというのを使って>>52と同じことをやってみたのですが、書き方が間違ってる気がしてならないので指摘して欲しいです
line14-15は何で上手くいかないのかも教えてほしいです
60デフォルトの名無しさん (ワッチョイ ffbb-hJeG)
2022/09/21(水) 20:06:17.61ID:Qxk2XzJU0
まず、12行目のmkdirで例外発生してない?
temporaryなんてらフォルダはchdirしてるからすでに存在してるんでしょう?
61デフォルトの名無しさん (ワッチョイ bf66-C6xl)
2022/09/21(水) 20:13:22.49ID:VhW4jWqJ0
os関連の処理は互換性とか捨てて、subprocessでやるのが楽でしかも安定してる
62デフォルトの名無しさん (ワッチョイ ffdb-OuJ4)
2022/09/21(水) 20:30:50.72ID:2GcRUbUk0
繰り返される任意の文字列を1回の繰り返しに直す方法ありませんか?

"abcdabcdabcdefg"→"abcdefg"(abcdの繰り返し)
"abababc"→"abc"(abの繰り返し)
"aabbaabbc"→"aabbc"(aabbの繰り返し)

パターンの長さはとりあえず固定でいいので(例えば4でabcdとaabbはマッチできる)一気に置換する方法ないでしょうか
63デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/21(水) 20:30:55.54ID:b5Bal3Dn0
>>60
存在してます。path.rename()書いてない時は、同名のフォルダが作られて「すでに存在してる〜」みたいなエラーを吐いてました

そもそもpathlib使って>>52をやりたい場合は、osを使う必要がなかったりもするのでしょうか?
64デフォルトの名無しさん (ワッチョイ d733-E+l9)
2022/09/21(水) 20:31:19.96ID:yjl6UhSi0
>>59
https://ideone.com/E4lQt0
65デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/21(水) 20:52:17.39ID:b5Bal3Dn0
>>64
参考に直して見たら無事にできました。ありがとうございます。
Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚
66デフォルトの名無しさん (ワッチョイ 9f14-t1N9)
2022/09/21(水) 20:58:11.32ID:b5Bal3Dn0
変数名とか色々、短く略して書いた方が良いのでしょうか?
入力時間的には大差ないので、見返した時に分かりやすいようにしてるのですが
これは初心者だからで、経験者から見ると見苦しいとか、むしろ略されてた方が見やすいとかありますか?
67デフォルトの名無しさん (ワッチョイ d733-E+l9)
2022/09/21(水) 22:11:39.31ID:yjl6UhSi0
>>62
競プロの問題?
68デフォルトの名無しさん (ワッチョイ 9f01-E+l9)
2022/09/21(水) 22:25:22.90ID:sVtx8qcf0
>>62
質問の意味がよくわからん
"abcdabcdefcdefg"の場合どうしたいの
69デフォルトの名無しさん (ワッチョイ d763-DwLj)
2022/09/21(水) 22:30:53.91ID:4122FyYT0
LZ78の考え方の応用で行け
70デフォルトの名無しさん (ワッチョイ ffdb-OuJ4)
2022/09/21(水) 22:52:22.34ID:2GcRUbUk0
>>67
普通に処理したいだけです

>>68
"abcdabcdefcdefg"なら"(abcdabcd)efcdefg"→"abcdefcdefg"だと思います
71デフォルトの名無しさん (ワッチョイ ffdb-OuJ4)
2022/09/21(水) 22:55:15.34ID:2GcRUbUk0
あ、cdefcdefが繰り返されていたんですね…
最終的に人がチェックする工程があるので、先にマッチした方優先とかで大丈夫です
72デフォルトの名無しさん (ワッチョイ d733-E+l9)
2022/09/21(水) 23:11:15.16ID:yjl6UhSi0
'abcabcdabcabcdefg'
だったら?
73デフォルトの名無しさん (ワッチョイ d74c-ldZd)
2022/09/21(水) 23:16:47.91ID:VS1qJent0
長さ4固定でいいなら、正規表現あたりで

>>> import re
>>> re.sub(r'(....)\1+', r'\1', "abcdabcdabcdefg")
'abcdefg'
>>> re.sub(r'(....)\1+', r'\1', "aabbaabbc")
'aabbc'
74デフォルトの名無しさん (ワッチョイ 9f01-bNpc)
2022/09/21(水) 23:21:53.64ID:757dNGj40
>>62
https://www.online-python.com/36ZCD0xAqV
75デフォルトの名無しさん (ワッチョイ ffbb-hJeG)
2022/09/21(水) 23:30:41.78ID:Qxk2XzJU0
そこにforを使うなんて
76デフォルトの名無しさん (ワッチョイ ffdb-OuJ4)
2022/09/21(水) 23:49:19.41ID:2GcRUbUk0
>>73 >>74
ありがとうございます!
文中に含まれてるものにも対処したいので73を長さ変えながら複数回適用で使いたいと思います
77デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
2022/09/22(木) 11:05:41.34ID:u9/ouAZsa
>>39
いらね
78デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
2022/09/22(木) 11:11:13.09ID:u9/ouAZsa
>>72 の回答はよ
79デフォルトの名無しさん (ワッチョイ bf66-C6xl)
2022/09/22(木) 11:12:02.23ID:ufV304t80
見てすぐ判らんようなもんは使うべきではないな
80デフォルトの名無しさん (ワッチョイ f7da-PMJU)
2022/09/22(木) 13:04:09.56ID:kBSagdtc0
abracadabra
81デフォルトの名無しさん (ワッチョイ d72c-3X0R)
2022/09/23(金) 06:05:04.44ID:l/gDdEyB0
x = [i for i in range(10)]
idxs = [start, end] # 0 <= start <= end <= max(x)かつend +=1

xが上記の場合
最小はidxs = [0, 1]
最大は idxs = [0, 11]
です。このとき
for i in idxs:
__x[i]
だと最後が11のときindexErrorになるんだけど
try exceptでcontinueする以外にいい書き方ないですか

if i == len(x): breakみたいなのとか
_idxs[1] -= 1
for i in idxs:
みたいなのは嫌です
82デフォルトの名無しさん (ガックシ 068f-G+99)
2022/09/23(金) 06:29:46.22ID:ciin+wbx6
その11にはどういう意味があるんですか
83デフォルトの名無しさん (テテンテンテン MM8f-UC+/)
2022/09/23(金) 06:42:29.24ID:j5q+73vfM
>>82
そもそも、「いい書き方」って何ですか
84デフォルトの名無しさん (ワッチョイ ffbb-AZvI)
2022/09/23(金) 07:14:40.79ID:ILPrLpfC0
これ、やべぇな
https://gigazine.net/news/20220922-python-old-bug-unpatched-15-years/

GitHub Copilot とかで広まっちゃうのか
85デフォルトの名無しさん (スッププ Sdbf-HYId)
2022/09/23(金) 09:31:57.58ID:nucVVsrtd
>>84
これは完全に誤訳
翻訳元では、GitHub上の数多くのOSSにこの脆弱性が存在するからCopilot等がそれを学習して広がるかもしれないと言っているだけ
86デフォルトの名無しさん (ワッチョイ bf66-C6xl)
2022/09/23(金) 09:39:19.95ID:08DmGtnT0
そんな風に読んだけど違うの?
87デフォルトの名無しさん (ワッチョイ d763-DwLj)
2022/09/23(金) 10:22:01.14ID:7VR4OLWz0
確かにtarを使うリポジトリではcopilot経由で広がる可能性があるけど、tarを使うリポジトリなんてリポジトリ検索してもそんなにないので実数としては眉唾
依存関係から侵入してくる方がよっぽど可能性が高い

Copilotが批判されがちなので批判の文脈で喋ったほうが肯定的に聞いてもらえるだろうという余計な意図が入ってるのではと邪推してしまうね:)
88デフォルトの名無しさん (スッププ Sdbf-HYId)
2022/09/23(金) 12:26:25.28ID:nucVVsrtd
>>86
> Trellixによると、35万件を超えるリポジトリがこの脆弱性に脅かされていると見られ、その多くでGitHub Copilotなどの自動ツールが使われているとのこと。
前知識なく普通にこれ読んだら、35万件のリポジトリがGitHub Copilptを使っている、そして、Copilotがその脆弱性の原因であると思うでしょ
というかこの記事書いた人はたぶんそのように誤解してる
> https://www.trellix.com/en-us/about/newsroom/stories/research/open-source-intelligence.html
まあソースも推計方法や論理がガバガバで似たようなレベルだが
89デフォルトの名無しさん (アウアウウー Sa5b-8eP5)
2022/09/23(金) 13:17:45.83ID:esyqbAqHa
>>81 が何を考えてるのか詳しく知りたいなωωω
90デフォルトの名無しさん (ワッチョイ b302-nX9g)
2022/09/24(土) 01:05:33.05ID:WVAdUwxP0
>>81
インデックスなら0~10の番号で管理すべきじゃないの
endを取り出して使うときに+1すれば良いんじゃない
スライシングと混同してるのかな
91デフォルトの名無しさん (JP 0H1f-nvXy)
2022/09/24(土) 02:03:35.51ID:6DJLRQJMH
>>90
外部入力でスライス範囲を受け取ってて(start, end)
その値を使いまわしてインデックスアクセスしたいんだろう
テーブル扱うGUIとかでままある
92デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/24(土) 07:13:39.52ID:52DloiQc0
単にインデックスの範囲とスライスを混同してるだけだろ
外部からの入力なら値のチェックは必須だしその時に調整しとけばいいだけ
93デフォルトの名無しさん (ワッチョイ 1610-Nf8B)
2022/09/24(土) 07:29:05.56ID:RoHmfu6K0
一昔前のseabornのカラーマップだか忘れたけど1から数えて最後の数字を入れるようなインデックス指定を偶に見かける
[0, 10] → 0から9までと
[1, 10] → そもそも0が存在せず1から10
この2つの書き方にそれぞれ名前ついてたりする?
94デフォルトの名無しさん (ワッチョイ f2b7-AIux)
2022/09/24(土) 08:37:46.88ID:3mLYFKO40
>>93
前者は「半開区間」として [0,10) といった表記にするのをよく見る
95デフォルトの名無しさん (ワッチョイ 1610-Nf8B)
2022/09/24(土) 09:09:58.79ID:RoHmfu6K0
>>94
あーたしかに数学で見るわ
96デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/24(土) 09:21:01.36ID:P3HsQQA/0
メモリマップとかで、
A: 0x0000 - 0x0fff
B: 0x1000 - 0x1fff
みたいに末尾をfffにせずに、末尾は1足して表記する、という約束にした方が使いやすい
97デフォルトの名無しさん (ワッチョイ 9279-tX/F)
2022/09/24(土) 09:53:57.04ID:N1C+NhRL0
そうすると最後は
F: 0xf000 - 0x10000
と最後だけ2バイトでは表記しきれなくなるね
98デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/24(土) 10:03:22.17ID:P3HsQQA/0
それはもう0でいい
99デフォルトの名無しさん (ワッチョイ 1228-AIux)
2022/09/24(土) 10:26:03.89ID:8OhmHPew0
すみません、プログラミング初心者です、python構築について質問があります
python3.10.7をインストールしたのですがコンドプロンプトで確認したらpython 3.9.12になっています
もしかしたら以前DLしてたのかと思って探しても見つからないのですが
こういうものなのでしょうか?
100デフォルトの名無しさん (ワッチョイ 1228-AIux)
2022/09/24(土) 10:37:33.81ID:8OhmHPew0
すみません、調べてみたらanacondaの方にpythonが入ってたみたいです
101デフォルトの名無しさん (ワッチョイ 372c-nvXy)
2022/09/24(土) 10:54:04.69ID:gdtERKOB0
まーたanaconda被害者がひとり…
102デフォルトの名無しさん (ワッチョイ 1228-AIux)
2022/09/24(土) 10:55:37.98ID:8OhmHPew0
>>101
そんなに有名な事でしたか…
調べても出てこなかったので
103デフォルトの名無しさん (ワッチョイ 3733-6qsd)
2022/09/24(土) 11:18:28.18ID:4ctEaw520
君は悪くない、anacondaも悪くない
anacondaを進める入門的な書籍やサイトが悪い
104デフォルトの名無しさん (ワッチョイ 3763-eFJV)
2022/09/24(土) 11:29:33.35ID:8t4kL4/n0
pipでバイナリを配布できなかった時代ならまだしも、今そんな時代じゃないしな~
105デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/24(土) 11:34:58.91ID:P3HsQQA/0
何かのツールをインストールするとpythonも一緒にインストールされるのはよくある
python2だったりもする
大抵は、自分用のバイナリを自分で使うだけなので迷惑はかけないけど、
行儀の悪い奴もいる
106デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/24(土) 12:01:38.29ID:52DloiQc0
>>98
さすがにそれはアホすぎる
107デフォルトの名無しさん (ワッチョイ 372c-nvXy)
2022/09/24(土) 12:23:45.45ID:gdtERKOB0
未だにpython事始めで検索すると
無責任な入門サイトの「anaconda入れとけ☆」 ばっかり
いやべつにいいんだけどさあanacondaでも。オールインワンで便利なのも分かるけど
108デフォルトの名無しさん (ワッチョイ 4b17-NGtF)
2022/09/24(土) 13:25:40.55ID:mEJjKZc00
anacondaでもpipでも両方使えばいいジャマイカ
109デフォルトの名無しさん (オッペケ Sr47-Nf8B)
2022/09/24(土) 13:33:00.23ID:+zHy6u5Kr
condaのコマンドで新しい環境作れるようにしたらスタンドアロンのpythonが外れた記憶ある
110デフォルトの名無しさん (ワッチョイ 5f01-DGnU)
2022/09/24(土) 15:33:58.69ID:BGgCMaIl0
俺も初心者の頃はアナコンダ入れてた。
けど後から無駄も多く必要ないことがわかったのでアンインストールした。
pythonとVSCodeあれば事足りる。
111デフォルトの名無しさん (ワッチョイ 1214-P81A)
2022/09/24(土) 17:32:16.78ID:nYu0cH9J0
ファイル名に使えない文字を全角に変換するコードってこんなに長くなるものなんですか?
https://qiita.com/kusunamisuna/items/a32679874afedc032158

name_ng = ["/","\",":","*","?","<",">","|"]
こんな感じでリストに入れてfor文の中で replace で置換すれば良いんじゃないかと思ったけど、リストにする段階でエラーになります

上記のURLの記述が最適解?
簡略化された書き方があったら教えてほしいです。
112デフォルトの名無しさん
2022/09/24(土) 17:37:12.69ID:xsaou6hs
a=True
b=True

aかつbがTrue、それ以外の全て
の条件って
if not (a and b): でよかったっけ・・?
113デフォルトの名無しさん (ブーイモ MMde-zdrj)
2022/09/24(土) 18:00:41.70ID:thjqxE2JM
>>111
translate使えばforすらいらない
114デフォルトの名無しさん (ワッチョイ b247-tX/F)
2022/09/24(土) 18:29:31.09ID:LDtPUxey0
>>111
その記事が最適かどうかは別問題として、まず0x5cをちゃんとエスケープして、あなたの考えを動くコードとして完成させよう
その上で、記事のコードと分かりやすさや速度を気の済むまで比較してみればよい
115デフォルトの名無しさん (ワッチョイ 1214-P81A)
2022/09/24(土) 19:22:50.96ID:nYu0cH9J0
>>113
調べて試してみます

>>114
そもそも ”\” は文字列としても単体では使うことができない感じですかね?
知らなかったです。教えてくれてありがとうございます
116デフォルトの名無しさん (アウアウウー Sa43-a1Je)
2022/09/24(土) 20:25:24.85ID:7pBAspe1a
r'hoge\hoge'
117デフォルトの名無しさん (ワッチョイ 127d-nvXy)
2022/09/25(日) 00:00:20.77ID:TfTFVrn20
>>112
if all([a, b]):
else
118デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/25(日) 00:30:59.06ID:wq9M03AC0
allとanyは積極的に使おう
フラグを別に持つとか途中で抜けてループ変数を見るとか、
何でレガシーな言語はそれで満足してたのか判らん
119デフォルトの名無しさん (ワッチョイ b302-QcAE)
2022/09/25(日) 02:03:20.35ID:ouzeiwB30
今日からPython始めたんだけど、エラーが出て動かなくて悩んでたらインデントが原因だったw
調べたらインデント自体プログラム構造的に意味を持ってたんだな。。。
120デフォルトの名無しさん (ワッチョイ 1214-P81A)
2022/09/25(日) 05:32:21.54ID:WCcUyzUQ0
少しコードが長くなってきたので、関数を定義してみようと思ったのですが
関数を使うくらいなら、最初からclassとmethodでやった方が後々便利ですかね?

それから現段階ではまだinstance変数を使うかどうかは不明ですが
classの最初に__init__は決まり文句として書いておいて良いのでしょうか?
仮に全く使わなかった場合にバグの元になったりするのでしょうか?
121デフォルトの名無しさん (ワッチョイ 372c-nvXy)
2022/09/25(日) 05:38:14.60ID:iEmY5l+s0
そのレベルならまず関数に慣れよう
classはそのあと
122デフォルトの名無しさん (ワッチョイ 1214-P81A)
2022/09/25(日) 05:54:55.13ID:WCcUyzUQ0
了解しました
123デフォルトの名無しさん (ワッチョイ 96bb-sDLX)
2022/09/25(日) 11:02:47.56ID:sQFmQmse0
classを使うほうが常に優れていると思ってるなら認識を改めたほうがいいよ。
classと関数両方使えるがpythonのメリット。
標準ライブラリだって両方共存してるのにどちらかを捨てるなんてもったいない
124デフォルトの名無しさん (ワッチョイ 4b17-NGtF)
2022/09/25(日) 11:22:42.32ID:Sdaj2srm0
自己満だからといっていつも意識的にそれらを考えていかなければより良い設計はできないのかもしれない
125デフォルトの名無しさん (ワッチョイ b302-nX9g)
2022/09/25(日) 11:43:23.68ID:rlnwElI30
クラスはメンバ変数にselfが強制だからコードが冗長になって嫌だわ
126デフォルトの名無しさん (オッペケ Sr47-d9EM)
2022/09/25(日) 12:37:00.29ID:uj3dGGMEr
>>125
インデントも深くなるし、状態持つ必要が無ければモジュール化で十分よな
127デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/25(日) 12:49:19.19ID:wq9M03AC0
大仰なクラスを作ろうとするから
インスタンス変数が2つだけ、みたいなのでも十分役立つ
128デフォルトの名無しさん (ワッチョイ 1610-d9EM)
2022/09/25(日) 17:18:10.55ID:hs4ndUhv0
>>127
それくらいならNamedTupleでも良いかな
129デフォルトの名無しさん (ワッチョイ 372c-nvXy)
2022/09/25(日) 17:41:46.06ID:iEmY5l+s0
dataclassええで
130デフォルトの名無しさん (ワッチョイ 4b08-KM/t)
2022/09/25(日) 17:54:34.18ID:AFTbeWYX0
クラスは実装の詳細を見せたくない時に限る
131デフォルトの名無しさん (ワッチョイ 1610-Nf8B)
2022/09/26(月) 07:24:51.77ID:ciNDFZ6I0
クラス名をclass Hoge
ファイル名をhoge.py
インポートでimport hoge
インスタンス名何にしようかいつも悩む
??? = hoge.Hoge()
132デフォルトの名無しさん (ワッチョイ 2f97-5djn)
2022/09/26(月) 09:07:29.52ID:P9G+/qqR0
>>81
そもそも[0,1]のときにx[0]を2つ取り出したいのかどうかがよくわからないな
あと、最大(?)は[0,10]じゃないか?
[0,9]のときと[0,10]のときでどう処理を変えたいのかよくわからない
半開区間に含まれる最小最大を取り出したいなら、
for i in [idxs[0], idxs[1] - 1]でいいと思うのだけどこれは嫌?
133デフォルトの名無しさん (ワッチョイ 2f97-5djn)
2022/09/26(月) 09:12:30.59ID:P9G+/qqR0
木構造とかグラフ構造を自作したいなら(間々ある)、
クラスにした方が便利なときある気がするけどな。
get_tree_children(node)とかしだすなら、node.children()の方が名前空間がすっきりしていいし。
実装の詳細を見せたくないかどうかというよりは、関心の分離をしたいかどうかによるような気がするな。

確かにクラス作るまでもないようなことは多いけど。
134デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/26(月) 20:32:27.38ID:b9hyANFk0
>>128
値が変えられないがな
135デフォルトの名無しさん (ワッチョイ 429b-+bWc)
2022/09/26(月) 23:15:54.08ID:QR+uVx8I0
python 3.9.10

a = (1, 2, 3)
b = a
c = (1, 2, 3)

print(a==b)
print(a is b)
print(a==c)
print(a is c) #True?

なぜ a is c が true になるのでしょうか?
136デフォルトの名無しさん (ワッチョイ 429b-+bWc)
2022/09/26(月) 23:17:59.46ID:QR+uVx8I0
>>135
ideone に貼っときます
https://ideone.com/yVmxfv

なぜでしょうか?
137デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/26(月) 23:31:03.60ID:b9hyANFk0
a = 1
c = 1
の時と同じ理由
138デフォルトの名無しさん (ワッチョイ 4b17-NGtF)
2022/09/26(月) 23:32:02.41ID:Gide+MMY0
>>136
ならない
139デフォルトの名無しさん (ワッチョイ 4b17-NGtF)
2022/09/26(月) 23:33:01.37ID:Gide+MMY0
ほらよ
Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚
140デフォルトの名無しさん (ワッチョイ d201-/Peb)
2022/09/26(月) 23:49:19.92ID:eE4Lst2k0
>>139
それREPLでやってるからinterningが効いてないじゃないかな

>>135
Tupleはimmutableだからaとcが同じオブジェクトを指しても問題なくて
Pythonが最適化をした場合はa is cがTrueになるケースがある
「interning」でググってみて

例えばTupleを関数で返すようにすればinterningされずにFalseになると思う
def foo(x):
 return (x, x+1, x+2)

a = foo(1)
c = foo(1)
141デフォルトの名無しさん (ワッチョイ 4212-+bWc)
2022/09/27(火) 00:20:20.92ID:LFY5tutJ0
>>140
ありがとうございます、オプティマイゼーションの余地がある、ということですね、納得しました
142デフォルトの名無しさん (ワッチョイ 2f97-5djn)
2022/09/27(火) 19:02:24.07ID:zjZtbJ3M0
a is cが真になるかはかなりケースバイケースな気がするし、
中身を比較したいんだったら使うべきじゃないね

本当に同じtupleインスタンスかどうかを確認したいときだけにすべき
143デフォルトの名無しさん (ワッチョイ 3733-tX/F)
2022/09/27(火) 22:33:08.85ID:3OHfLHhN0
tupleだけの話ではなくてどの型でも同じだけどね
例えば文字列とか
144デフォルトの名無しさん
2022/09/27(火) 23:35:04.66ID:tKd9rAjb
n=12345.67

小数点以下が何桁あるのか調べたいのですが
len(str(n).split(".")[1]) if isinstance(n, float) else 0
こんなんでいいですかね・・?
145デフォルトの名無しさん (ワッチョイ 3733-tX/F)
2022/09/27(火) 23:51:45.87ID:3OHfLHhN0
>>144
https://ideone.com/pSUvOH
146デフォルトの名無しさん (ワッチョイ 1610-DrlT)
2022/09/27(火) 23:53:56.84ID:+joc5Asc0
>>144
誤差で予想外の挙動しそうだからDecimal使う方がいい
147デフォルトの名無しさん (ワッチョイ 2701-tX/F)
2022/09/28(水) 02:27:12.38ID:OOL0jr8Q0
>>144
それだと
n=1.0 -> 1
n=0.00001 -> IndexError
になる

len(format(n,".17f").split(".")[1].rstrip("0"))
後ろのif isinstance(n, float) else 0も不要
n=1.0 -> 0
n=0.00001 -> 5
148デフォルトの名無しさん
2022/09/28(水) 09:19:00.77ID:9I9ISsCh
>>145-147
たしかに
0.30000000000000004に対して17得られたのは正解だと思いますが
0.00001で1e-05になっててエラーでました
Decimalかformat使ってみようと思います
ありがとうございました
149デフォルトの名無しさん
2022/09/28(水) 10:07:58.97ID:9I9ISsCh
やりたかったことは
受けとった1234.56や0.12345などの固定小数点数に
0.1とかを掛けたり足したりして計算、変形したのを
受け取った固定小数点数の整数部と小数部の数を維持したまま
固定小数点か文字列で処理したかったのですが
改めてやってみるとなんか勝手に桁数が変わってしまいますね・・

1234.56で受け取った場合、1.05を掛けたとき→1296.288ではなく1296.29
0.12345で受け取った場合、1.05を掛けたとき→0.1296225ではなく0.12962
1234で受け取った場合、1.05を掛けたとき→1295.7でもいいし1296でもいいし1296.0でもいい
みたいにしたかったのですが難しい・・
150デフォルトの名無しさん
2022/09/28(水) 10:17:26.42ID:9I9ISsCh
from decimal import Decimal
str(Decimal(0.123456))
str(Decimal(0.123456)*Decimal(1.05))
#'0.1296288000000000015945911258'

あれ、そもそも0.123456の小数部の桁数はどうやって知るんだっけ??
てところで詰まってます・・
151デフォルトの名無しさん
2022/09/28(水) 11:25:04.93ID:9I9ISsCh
冗長な気がしますがこんな感じにしてみました
何かバグが発生しそうな気がします
from decimal import Decimal
ary=[1234.5,165,0.34,0.0001,0.000001,3.00001,0.1*3,123456]

def f(n):
 s=format(n)
 return int(s.split("-")[1]) if "-" in s else len(s.split(".")[1].rstrip("0")) if "." in s else 0

r=1.05
for n in ary:
 d=f(n)
 c=Decimal(n)*Decimal(r)
 rs=c.quantize(Decimal("0."+("0"*d)))
 print(n,c,d)
 print("-->",rs,"\n")
152デフォルトの名無しさん
2022/09/28(水) 11:30:47.23ID:9I9ISsCh
連投すみません 結果です
https://ideone.com/exojEw
153デフォルトの名無しさん (ワンミングク MM42-nX9g)
2022/09/28(水) 13:38:45.48ID:E42G0/DqM
元々の桁数でroundしたいって感じなのかな
154デフォルトの名無しさん (ワッチョイ 2701-tX/F)
2022/09/28(水) 18:25:19.27ID:OOL0jr8Q0
>>152
format使うの提案したけど使わないほうがよさそう、誤差がでる

f(n): 負数で落ちる
s=str(n).lstrip("-")

c=Decimal(n*r) のところで
n*r で誤差がでる
c=Decimal(str(n)) * Decimal(str(r))

負数対応四捨五入 -0.015 を四捨五入して -0.02
rs=((c > 0) - (c < 0)) * abs(c).quantize(Decimal("0."+("0"*d)), rounding=ROUND_HALF_UP)

-0.015 を四捨五入して -0.01のようにしたい場合
rs=c.quantize(Decimal("0."+("0"*d)), rounding=ROUND_HALF_UP)

四捨五入したいのかよくわからんかった、roundingは好みのオプションでどうぞ
155デフォルトの名無しさん
2022/09/28(水) 19:37:21.94ID:9I9ISsCh
>>154
ありがとうございます
やはり至るところで誤差が発生するのですね
四捨五入は今回の用途ではどちらでも良い感じです
せっかくなのでまとめてみました
https://ideone.com/JmTu06
ありがとうございました
156デフォルトの名無しさん (ワッチョイ 96bb-nd6Q)
2022/09/28(水) 19:42:02.44ID:o0cHd3Tq0
先にIEEE754読んでみては?
誤差に関しての勘所がわかるようになる
157デフォルトの名無しさん (ワッチョイ 2f97-5djn)
2022/09/28(水) 20:32:50.93ID:x5UMfEp40
Pythonに限らず浮動小数点数を使う場合は常に誤差の問題がつきまとう。
0.1というのがすでに二進数ではきっちり表現できない数字なので、有効数字を何桁にするのかというのは実装の段階で決めなくちゃならない。

https://docs.python.org/ja/3/tutorial/floatingpoint.html

正確に表現できるのは、0.5,0.25,0.125...と1を2で割っていった数とその整数倍のみ

0.1は1/(2×5)となり1/5が2進数では循環小数となり浮動小数点数では正確に表せない。

ということを念頭に置いてまず何がやりたいか考えた方がいいよ。

decimalモジュールは便利そうだね。
158デフォルトの名無しさん (ワッチョイ 23da-QqKk)
2022/09/28(水) 23:21:28.71ID:FDPwu/KN0
log2で有効桁数計算出来るでしょ
159デフォルトの名無しさん (ワッチョイ 2701-tX/F)
2022/09/29(木) 00:26:06.29ID:3C3gpnCY0
>>154
どちらの書き方でも
-0.015 を四捨五入したら-0.02だった、すまん
-0.01にしたい場合は自力でなんとかして
160デフォルトの名無しさん (ワッチョイ 9202-XjGR)
2022/09/30(金) 00:55:04.52ID:qun5+YRs0
昔から不思議なんだけど
何で分数で処理しないのかな?
最後に割り算を一回だけすれば
誤差がでないじゃないの
161デフォルトの名無しさん (ガックシ 06de-TTgm)
2022/09/30(金) 01:46:32.47ID:0IYvIpx66
掛け算でも足し算でも誤差が出るから
162デフォルトの名無しさん (ワッチョイ b302-nX9g)
2022/09/30(金) 01:53:32.93ID:sForoGQI0
Pythonは整数側の桁数制限が無いのを利用して高精度にできそう
163デフォルトの名無しさん (アウアウウー Sa43-hb2l)
2022/09/30(金) 02:07:16.16ID:f+ZVHjVVa
>>160
似たような大きさの数字ならその発想もいいけどね
現実はコスパの悪い任意精度の演算が必要になることが多いのでは
164デフォルトの名無しさん (ワッチョイ 23da-QqKk)
2022/09/30(金) 03:11:26.40ID:FkDRVgM50
>>160
つ fractions
165デフォルトの名無しさん (ワッチョイ 96bb-nd6Q)
2022/09/30(金) 04:56:46.10ID:HxNT59pn0
だから誤差の話するならIEEE754読めよ
166デフォルトの名無しさん (ワッチョイ f390-UZRN)
2022/09/30(金) 04:57:30.60ID:CfDFJOy00
>>160
昔GCD付きの分数クラス作ったけど
結局はdoubleになったことがある
167デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/30(金) 05:21:28.14ID:oHn8O8ll0
>>160
四則演算だけならいいけど√とかsin( )とかはどうする?

>>161
掛け算、足し算で誤差がでるケースとは?
168デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/30(金) 08:01:25.94ID:Gm4+1fgX0
sinとかも内部は四則演算
169デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/30(金) 09:17:00.10ID:oHn8O8ll0
>>168
近似演算の話されても困るんだがw
170デフォルトの名無しさん (アウアウウー Sa43-hb2l)
2022/09/30(金) 09:23:23.51ID:k91OtGRla
三角関数の近似じゃない演算て
171デフォルトの名無しさん (ワッチョイ 2701-okKg)
2022/09/30(金) 10:05:45.64ID:EsKmogiV0
python chapelについて質問です。
情報があまりないので、チャペルについてお勧めのサイトがあれば教えてほしいです。
172デフォルトの名無しさん (ワッチョイ d633-zg6P)
2022/09/30(金) 10:38:01.55ID:t/wNXSJY0
クヌースのTAOCP読むといいよ
コンピュータでの数値計算の全てが書かれてる
173デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/30(金) 13:20:23.85ID:oHn8O8ll0
>>170
sinsin, cos のまま計算するって話だろ
数学不得意か?
174デフォルトの名無しさん (アウアウウー Sa43-hb2l)
2022/09/30(金) 13:47:23.87ID:k91OtGRla
>>173
そんなもん代数的な操作だろ
175デフォルトの名無しさん (ブーイモ MM32-tu6s)
2022/09/30(金) 13:54:50.47ID:oSg68bQdM
>>160
遅いからだよ
176デフォルトの名無しさん (ワッチョイ 1201-ut7I)
2022/09/30(金) 14:09:07.38ID:oHn8O8ll0
>>174
話は>>160から始まってて途中は代数的な操作で最後に一回だけ演算することで誤差を抑えられるって話な
177デフォルトの名無しさん (ワッチョイ 1610-DrlT)
2022/09/30(金) 16:11:14.18ID:7g2iZKZC0
三角関数は二項演算じゃないから後も先もないだろ
178デフォルトの名無しさん (ワッチョイ 4b08-KM/t)
2022/09/30(金) 16:39:44.93ID:du1MSukG0
ここまで有効数字の話なし
179デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/30(金) 16:40:16.15ID:Gm4+1fgX0
有理数演算に有効数字は関係ない
180デフォルトの名無しさん (ワッチョイ 1610-DrlT)
2022/09/30(金) 17:02:40.52ID:7g2iZKZC0
実は誰も数値計算誤差について知らないのである
181デフォルトの名無しさん (ワッチョイ 1e66-yYUR)
2022/09/30(金) 17:36:21.26ID:Gm4+1fgX0
組み込み系で、積算の量を保持していて
1秒毎に測定して何年というスパンで計算を続けると、
もう32bitでは精度が足りなくなる
182デフォルトの名無しさん (ワッチョイ 2f97-5djn)
2022/09/30(金) 18:26:40.60ID:J+iH2myB0
最後に浮動小数点数にして誤差を減らす方法は、代数的な計算ができる必要がある。
Mathematicaとか、SymPyだな。
ただ代数的な計算は上手いこと式を整理してやらないと簡単にならないことも多い。積分は公式を知らないと出来ない、というのと同じ。
有理数の四則演算だったら単なる有理数演算を逐次的に実行していけば問題ないだろうが。
183デフォルトの名無しさん (ワッチョイ 2f97-5djn)
2022/09/30(金) 18:28:54.96ID:J+iH2myB0
>>177
んなことないだろ。加法定理やら積和、和積の公式とか習わなかったのか。あの辺使うと極端な場合の誤差減らせるよ。
xが0に非常に近い場合のsin2x/sinxとかね。
184デフォルトの名無しさん (ワッチョイ ff02-7uza)
2022/10/01(土) 03:53:03.59ID:SpYHa2lW0
お金の計算とかは
有理数しか出てこないんだから
分数で十分のような気がするんだが
185デフォルトの名無しさん (ワッチョイ ffc5-0qRf)
2022/10/01(土) 05:23:12.47ID:9xFR6mUQ0
丸めたくない意図だと思うが加減算だけで速攻破綻する
186デフォルトの名無しさん (ワッチョイ 6f66-58Gi)
2022/10/01(土) 05:55:22.47ID:jubCkgWp0
単にbit数が足りなくなるという話なので、
必要に応じてbit数を増やしていけばいい
無限に増えることは絶対ない
187デフォルトの名無しさん (ワッチョイ 8301-Umkq)
2022/10/01(土) 06:02:40.31ID:WTWdfTM50
質問です。
djangoの資格を作りたいとおもってます。
需要はありますか?
188デフォルトの名無しさん (ワッチョイ ff14-51cu)
2022/10/03(月) 07:28:28.28ID:qHW/WFxU0
https://translate.google.com/

Google翻訳のページで、テキスト入力ボックスから「Tabキー」を1回押すと必ず「音声を聞く」のアイコンに移動するようにしたいのですが、Pythonで可能ですか?
通常は3回で行けるのですが、”原文の言語”や”もしかして”が表示されるとTabキーを押す回数が変わって面倒です。しかもリストが表示されててそのパターンなのか見えない。
Pythonで何とかしようとしてるのがそもそも間違っている気がして、簡単なHPをJavaとか?で作ったり、アドオンを組んだりとか別の手段が必要ですかね?
189デフォルトの名無しさん (アウアウウー Sa27-prbe)
2022/10/03(月) 07:35:38.92ID:y8eCR1Dta
うるせえ
190デフォルトの名無しさん (アウアウウー Sa27-Zn6y)
2022/10/03(月) 09:20:27.54ID:XqhFz79Ma
>>188
現在のフォーカスを取得することでTab回数制御できそうだけど
そもそも音声を聞く、のidありゃそこに飛ばせるやろ
191デフォルトの名無しさん (ワッチョイ ff14-51cu)
2022/10/03(月) 10:02:57.41ID:qHW/WFxU0
>>190
seleniumを使ってプログラムを実行した時だけなら出来たのですが、普段使いで常にその状態にさせる方法が分からなかったです。
独自の簡単なChrome拡張機能を作る方向が一番良さそうな感じです。そっちで少しやってみます。お騒がせしました。
192デフォルトの名無しさん (ワッチョイ 6f67-0qRf)
2022/10/03(月) 10:19:40.80ID:2xmZEmoH0
>>191
拡張起こさなくてもTampermonkey拡張でスクリプト書くだけ
193デフォルトの名無しさん (ワンミングク MM9f-A0fl)
2022/10/03(月) 10:33:51.18ID:vUZPctIIM
USWCとか使ってESCキーを押したら画像認識で再生ボタンクリックとかにすると簡単そう
ESCだと位置的に押しやすいし予測候補も消える
pyautoguiみたいなの使えばPythonでもUWSCと同じ事出来たはず
windows限定の話だけど
194デフォルトの名無しさん (ワッチョイ 6f66-58Gi)
2022/10/03(月) 10:49:36.68ID:WjbJBDxU0
拡張する方向でやってもすぐに使えなくなったりするので、
キーやマウスの操作を発生させる方向でやるのが結局ベストだったりする
195デフォルトの名無しさん (ワッチョイ ff14-51cu)
2022/10/03(月) 10:54:58.28ID:qHW/WFxU0
>>192-194
最初に調べるキーワードが出てこなくて分からないことが多いので情報助かります
頂いた情報を元に解決する方向でやってみます。ありがとうございました。
196デフォルトの名無しさん (スフッ Sd1f-0H1b)
2022/10/03(月) 10:55:37.39ID:S1BqvHYWd
>>169
>>173
複素数や四元数を使うのが割りとマジでお薦め
197デフォルトの名無しさん (アウアウウー Sa27-prbe)
2022/10/03(月) 11:05:12.96ID:zOLlU4yCa
オイラーをほめたたえよ
198デフォルトの名無しさん (ワッチョイ 632c-kE2G)
2022/10/03(月) 18:00:29.25ID:pcuzjq2H0
>>188
Ruby, Selenium でも、JavaScript を使って出来たけど、

ソースコードの何かの単語がブロックされるので、
ここには貼れないので以下へ

https://jsfiddle.net/w3anscm6/
199デフォルトの名無しさん (ワンミングク MM9f-ox1+)
2022/10/03(月) 18:09:52.15ID:wCVa7NBkM
>>198
どーゆーこと?
2001 (テテンテンテン MM7f-kE2G)
2022/10/03(月) 22:09:32.24ID:yB/cj66NM
質問です
以下のプログラム(wikipediaの今日は何の日)をエクセルで起動させたときに最後の年号の()が取れてないとおかしいのですがどこのコードが間違っていますか?
優しい方教えてください

import requests
from bs4 import BeautifulSoup
import csv
import re

url="https://ja.wikipedia.org";
response=requests.get(url)
soup=BeautifulSoup(response.content,"html.parser")

top_entry=soup.find("div",attrs={"id":"on_this_day"})
entries=top_entry.find_all("li")

today_list=[]

for i,entry in enumerate(entries):
today_text=entry.get_text().replace("(","(").replace(")",")")
match=re.search("\(([1-9].*?)年\)", today_text)
if match:
today_list.append([i+1, entry.get_text(),match.group(1)])
else:
today_list.append([i+1, entry.get_text()])

with open("output.csv", "w", encoding="Shift_JIS") as file:
writer=csv.writer(file, lineterminator="\n")
writer.writerows(today_list)
2011 (テテンテンテン MM7f-kE2G)
2022/10/03(月) 22:11:29.02ID:yB/cj66NM
何度も本(スクレイピング・ハッキング・ラぼ)見返したけど間違ってないんです…
202デフォルトの名無しさん (ワッチョイ 6f66-58Gi)
2022/10/03(月) 22:13:35.20ID:WjbJBDxU0
漢字コードとか?
203デフォルトの名無しさん (ワッチョイ ff9f-ufYE)
2022/10/03(月) 22:15:49.89ID:phcGwi7g0
とりあえずこれに聞こうぜ
https://aiprogrammer.hashlab.jp/
204デフォルトの名無しさん (ワッチョイ e3e6-Y6WD)
2022/10/03(月) 22:28:30.42ID:cMmfYMlm0
お願いします
https://ideone.com/vADQwg

for i in range(1, 100) で 99 回 next を呼んでいるのに、なぜ 79 で終わってしまうのですか?
205デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/03(月) 22:28:53.24ID:fB4Oth8WM
>>203
すげぇこんなのあるんだ

でも解決しなかった(´・ω・`)
206デフォルトの名無しさん (ワッチョイ cf46-ox1+)
2022/10/03(月) 22:36:32.61ID:Hgv/NPoj0
>>204
n=15のときFizzBuzz Fizz Buzzの3つ表示されます
207デフォルトの名無しさん (ワッチョイ ff9f-ufYE)
2022/10/03(月) 22:54:57.92ID:phcGwi7g0
これでいけそうですが、どうでしょうか

1から100までカウントして、15で割れたらFizzBuzzと表示して、5で割れたらBuzzと表示して、3で割れたらFizzして数字を表示する
208デフォルトの名無しさん (ワッチョイ ff9f-ufYE)
2022/10/03(月) 22:58:18.22ID:phcGwi7g0
修正した

1から100までカウントして、15で割れたらFizzBuzzと表示して、5で割れたらBuzzと表示して、3で割れたらFizzして数字を文字列で表示する
209デフォルトの名無しさん (ワッチョイ e3e6-Y6WD)
2022/10/03(月) 23:01:03.63ID:cMmfYMlm0
>>206
elif にするべきだったんですね!ありがとうございます!
210デフォルトの名無しさん (ワッチョイ bfbd-vqPj)
2022/10/03(月) 23:48:34.11ID:DL3YHdAw0
ウェブスクレイピングをやってみたくて奮闘しておりますが、CSVへの書き込み時にエラーがでます
どう改善すればよいかわからず困っています。助けてください。

おま環(Python 3.9.12+Windows10+VScode)
【コード】
for a in soup.find_all('a'):
link = a.get('href'), a.text
link.to_csv('link.csv')

【エラー】
link.to_csv('link.csv')
AttributeError: 'tuple' object has no attribute 'to_csv'
211デフォルトの名無しさん (ワッチョイ c333-pIDl)
2022/10/04(火) 00:31:15.23ID:QZmM2iut0
>>210
https://pastebin.com/pa33f4Mb
212デフォルトの名無しさん (ワッチョイ cf83-0qRf)
2022/10/04(火) 06:25:16.21ID:UhX37WNP0
>>203
Python
Tuple to dataframe
で聞く
213デフォルトの名無しさん (ワッチョイ ff9f-ufYE)
2022/10/04(火) 06:51:23.40ID:jZxsvBQn0
https://aiprogrammer.hashlab.jp/
ウェブスクレイピングで、aタグを取得し、そのaタグをcsvファイルに出力するコードを作成してください。

import csv
from bs4 import BeautifulSoup

with open("sample.html") as f:
soup = BeautifulSoup(f, "html.parser")

csv_file = open("output.csv", "w", encoding="utf-8")
writer = csv.writer(csv_file)

for a in soup.find_all("a"):
writer.writerow([a.text, a.get("href")])

csv_file.close()
214デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/04(火) 22:24:51.48ID:fseuENfmM
知恵袋にも質問したのですがどなたか教えていただけると嬉しいです


https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q14269053849
215デフォルトの名無しさん (ワッチョイ bfbd-vqPj)
2022/10/04(火) 22:40:41.78ID:g6GmefYL0
>>211 213
丁寧に教えてくださりありがとうございます。
216デフォルトの名無しさん (ワッチョイ 632c-kE2G)
2022/10/04(火) 23:17:10.94ID:CNGS9dK70
>知恵袋にも質問したのですが

5ch はマルチポスト禁止です!
5chで質問する場合は、他での質問を取り消してからにしてください
217デフォルトの名無しさん (ワッチョイ 6f66-58Gi)
2022/10/04(火) 23:19:23.00ID:NeQlYRE40
んなこたーない
218デフォルトの名無しさん (ワッチョイ cf46-ox1+)
2022/10/04(火) 23:24:09.71ID:4YJ9syiq0
さすがにインストールできてないのは答えようがない
219デフォルトの名無しさん (US 0H1f-Y6WD)
2022/10/04(火) 23:28:30.56ID:IUIBMeejH
>>216
fj ではマルチポスト禁止の理由がありクロスポストという代替があったけれども、ここでのマルチポスト禁止の理由は?
220デフォルトの名無しさん (ワッチョイ 2363-N8ha)
2022/10/05(水) 00:22:21.08ID:Tx2gHWm/0
せっかくの集合知が分散するからじゃないの?
221デフォルトの名無しさん (ワッチョイ d308-V07+)
2022/10/05(水) 00:31:43.32ID:rm6FRUcS0
マルチ野郎はよそで解決しても報告しない
放置してそこら中にゴミを残す
222デフォルトの名無しさん (ワッチョイ cf10-1pq4)
2022/10/05(水) 00:40:43.93ID:93gtHac60
ぶっちゃけスレは落ちて過去ログになるし
検索性も低いから集合知の蓄積なんてしないよ
マルチポスト禁止は形骸化した旧きネチケットだと思う
223デフォルトの名無しさん (ワッチョイ 2363-N8ha)
2022/10/05(水) 00:56:27.52ID:Tx2gHWm/0
>>222
いやぁそうでもないと思うけどねぇ
2ちゃんねるの過去ログをあさって解決方法を見つけたことも数多あるし
解決できない場合でも、ヒントになるようなことが散らばっていて、それをきっかけに探し出せることもある
検索のやり方次第じゃないか?
224デフォルトの名無しさん (ワッチョイ cf10-1pq4)
2022/10/05(水) 01:03:22.70ID:93gtHac60
>>223
調べごとはよくするけど
2ちゃんで解決したことはないな、というか、検索方法によるだろうが出てきすらしない
大体Qiita、個人ブログ、stackoverflowのどれか
225デフォルトの名無しさん (ワッチョイ 2363-N8ha)
2022/10/05(水) 01:12:14.00ID:Tx2gHWm/0
>>224
いまはそうした5ちゃんねる以外の方がまともな完結方法があると思うよ
でも以前は、そういうのがほとんど当てにできなかったり、
*nixやマイナー言語、ハードウェア特有のトラブル、アングラ系wなんかだと、
英語資料を当たるきっかけやヒントが欲しかったりしたので、
2ちゃんねるのちょっとした書き込みがありがたかったなぁ

いまでも、"site:5ch.net" をつけてキーワードをググることで、
5ちゃんねるの集合知はちゃんと機能しているよ
226デフォルトの名無しさん (ワッチョイ ff63-pIDl)
2022/10/05(水) 01:17:40.14ID:j989iulk0
2ちゃんねるに書いてある事を、
そこまで信用したことはないな
あるとすれば、裏が取れたとき位

リンク張ってあっても、あやしげなサイトだったりすることもある
227デフォルトの名無しさん (ワッチョイ c32c-Kmz1)
2022/10/05(水) 01:59:12.01ID:xc1v9MP10
今回みたいに簡単なエラー文も読めねえだけのカスがネット上に散らかることが多く
これが害悪であるのでマルチポスト野郎は基本的にクソである
集合知の分散ではない。無知の飽和が問題
228デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/05(水) 05:43:38.64ID:FOT9/eKgM
ゴメン 今回の件は全面的に俺が悪い
すみません
229デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/05(水) 05:45:37.15ID:FOT9/eKgM
>>227
エラー文のseleniumは既にインストール済だぞ
230デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/05(水) 05:51:53.98ID:FOT9/eKgM
>>218
seleoniumはインストール済だよ
pip install selenium でね
231デフォルトの名無しさん (ワンミングク MM9f-A0fl)
2022/10/05(水) 06:08:56.11ID:Vke5X/wtM
Pythonが複数バージョンインストールされてるってオチじゃないの
よくあるAnacondaどうこうってやつ
232デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/05(水) 06:09:13.82ID:FOT9/eKgM
selenium一度アンインストールして再度インストールしたら出来ました

スレ汚しスマン
233デフォルトの名無しさん (テテンテンテン MM7f-iU/c)
2022/10/05(水) 06:11:17.00ID:FOT9/eKgM
>>231
朝早いですね!

再インストールしたら出来るようになりました
何故か知らないけど……

……というより勝手にブラウザが開いて閉じての動作を見た時は感動しました

すげー勉強する意欲が増した
234デフォルトの名無しさん (ワッチョイ ff01-d1zO)
2022/10/05(水) 06:57:09.88ID:wne70pEz0
>>219
マルチポストされると同じようなレスを複数回読むハメことあるし回答したら他のスレで既に解決してたとかあるからそりゃうざいわってことだろ
ちなみにクロスポストはたいていのリーダーでどれか一つ読めば他のグループへの投稿も既読になるし回答する際もディフォルトの回答先グループが指定できるから回答が散らばることも防げる
235デフォルトの名無しさん (ワッチョイ 7f73-8eI1)
2022/10/05(水) 18:42:25.05ID:8ltN7Y6y0
原神スレかpythonスレかで迷ったんですけど、ちょっと失礼します。
https://github.com/shrubin/Genshin-Artifact-Rater
ディスコbotがサ終してたのでありがたくオフ環境に導入すべく頑張ったんです。

setupの手順から一通り終えてpy bot.py後なんですが
raise ValueError("Duplicate keys!")の無間地獄にはまってるんですけど
列行文でエラー指摘されてチェックしても全然関係無さげでわからない時どこ見たらいいですか?。

やっぱり基本を熟知してる人は修正して当たり前な場所とかを理解できてなくてエラー起きてるんですよね。たぶん。。
詳細足りなさすぎるのは理解してるんですけど、ほんと憶測適当アドバイスでいいので教えて下さい。
236デフォルトの名無しさん (ワッチョイ cfb0-ufYE)
2022/10/05(水) 22:24:23.68ID:MbZCvQpZ0
>>220
それが理由だとしたらそもそも質問できる場が複数存在していて統一されていないことが悪いってことになる。
237デフォルトの名無しさん (ワッチョイ 632c-kE2G)
2022/10/05(水) 23:32:03.75ID:W5I+dJQy0
>>235
Duplicate keys! って、

データベースのUNIQUE インデックスまたは PRIMARY KEY に、
既に存在する同じキーで挿入しようとしたとか?

そのGithub のbot.py 内を「Duplicate」で検索しても、見当たらないけど?
どのファイルのソースコードなの?
238デフォルトの名無しさん (ワッチョイ 7f73-8eI1)
2022/10/06(木) 01:46:24.04ID:eDAszKmt0
>>237

bot.py実行後に、~\Programs\Python\Python38-32\Lib\site-packages\toml
内のpython38-32のdecoder.pyからエラーが出てます。
powershellを使いました。 ほぼ素人ですみません。
239デフォルトの名無しさん (ワッチョイ d308-V07+)
2022/10/06(木) 02:48:03.34ID:2LM4DEsy0
コードじゃなくて食わせるデータがおかしいんでないの
240デフォルトの名無しさん (ワッチョイ c32c-Kmz1)
2022/10/06(木) 03:52:44.67ID:mL002h1/0
>>238
python入門おめでとう!
241デフォルトの名無しさん (ワッチョイ 632c-LIzE)
2022/10/07(金) 05:27:45.05ID:TBR3DhbF0
「python toml decoder duplicate keys」で検索!

TOML ファイルの形式になっていないとか?

ファイルがBOM付きUTF-8 になっているとか?
Python は、BOMなしUTF-8 じゃないの?

https://git.cardiff.ac.uk/c2021544/blogg/-/blob/abf082d45bcacad0728c2a03e91baf103046eba9/venv/lib/python3.6/site-packages/pip/_vendor/toml/decoder.py

このファイルの781, 783 行目に、raise ValueError("Duplicate keys!") がある
242デフォルトの名無しさん (ワッチョイ 7f73-8eI1)
2022/10/07(金) 07:11:32.41ID:0vlnX2v40
>>241
UTF-8になってました。
ValueError: Duplicate keys!とTomlDecodeError: Duplicate keys!が出ていますが
デコードが実行された結果キー重複が起こっているのを知らせただけで、原因はやはりbot.pyの中にあるのでしょうか?
243デフォルトの名無しさん (ワッチョイ 435f-1XEd)
2022/10/07(金) 09:55:21.23ID:BuUd5Oey0
>>242
tomlでエラー出てるなら
bot.pyで
config = toml.load(open("config.toml"))
っていう記述あるけど、config.tomlの中身がおかしいんじゃない?
244デフォルトの名無しさん (ワッチョイ ff79-pIDl)
2022/10/07(金) 13:38:21.48ID:6W+GCvSh0
Traceback (most recent call last):
File "test.py", line 31, in <module>
func1()
File "test.py", line 28, in func1
func2()
File "test.py", line 30, in func2
raise Exception("hogehogeException")
Exception: hogehogeException

こういうファイル名や行数とか出てないの?
245デフォルトの名無しさん (ワッチョイ ff14-51cu)
2022/10/07(金) 19:08:20.49ID:Z2W6Vqfk0
pyautogui素晴らしい最初に知りたかった
246デフォルトの名無しさん (ワッチョイ 6f66-58Gi)
2022/10/07(金) 20:11:45.22ID:f7Qxxz6p0
ぴゃうとぐい
247241 (ワッチョイ c34f-LIzE)
2022/10/07(金) 23:54:53.64ID:cLCpsl3k0
TOML のValidator で、TOMLファイルの形式が正しいかどうか、チェックすれば?
「toml validator online」で検索!

プログラマーなら、VSCode で、〜/toml/decoder.py をデバッグするとか、

decoder.pyを差し替えて、
raise ValueError("Duplicate keys!") の前後で、ログ出力してみるとか
248デフォルトの名無しさん (ワッチョイ 0666-37Vs)
2022/10/08(土) 07:10:23.20ID:kX9hT5zA0
PyAutoGuiも便利だけど何でもできるかというとかなり限定的

画面がこういう状態になったらこの条件に合う部分を探して、
この範囲をコピーしてこのアプリに切り替えてコピペ
みたいなことはできない
249デフォルトの名無しさん (ワッチョイ de10-QDWw)
2022/10/08(土) 07:26:14.47ID:Qqe7/SLY0
ディスプレイを切ったら動かないのも使いづらい
250デフォルトの名無しさん (アウアウウー Sa2f-mRh5)
2022/10/08(土) 11:25:58.24ID:TDMvIP2Ta
ライブラリ関数の情報を調査する方法についての質問です
sagemathというpython wrapperにあるpolygon3dという関数がどういうキーワード引数を持っているのか調べたいのです
ググるとinspect.signature関数というのが見つかります
コレでpolygon3dを調べてみると
signature = inspect.signature(polygon3d)
print(signature.parameters)

OrderedDict([('points', <Parameter "points">), ('options', <Parameter "**options">)])
と出ます
おそらく位置引数'points'とキーワード引数がいくらかあるという意味だと思うのですがやはりコレが限界なんでしょうか?
どんな名前のキーワード引数を持ってるかの一覧表を出力するような方法はないもんなんでしょうか?
251デフォルトの名無しさん (ワッチョイ de10-XciQ)
2022/10/08(土) 12:37:16.55ID:ymJkU01o0
>>250
オープンソースなんだからGitHubに見に行けばいいじゃん
252デフォルトの名無しさん (アウアウウー Sa2f-mRh5)
2022/10/08(土) 14:49:02.11ID:hw6LN7oLa
>>251
そうなんです
実際sagemathは割とドキュメントもしっかりしててググれば一覧とかもあります
でもいちいちめんどくさいじゃないですか
もしかしたら各オプジェクトで利用可能なキーワード引数のリストを得る方法とか容易されてたら便利でいいなぁと
結構ググったのでなさそうではあるんですけど、調べて「あった」場合はともかく「ないなぁ」の場合、やはり最終的には強者に聞いてみないとダメかなと
253デフォルトの名無しさん (ワッチョイ 4aa5-gAv1)
2022/10/08(土) 15:06:18.06ID:lWG3uN0c0
ドキュメントをぶっこ抜いてその関数がどんな引数とるかのポップアップをエディタで出せばいい
254デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/08(土) 15:13:56.04ID:bWQzA1rj0
pyautogui
エラー出さずにできましたが最適ではない気がします
下記のやり方より良い方法があれば教えて欲しいです


pyautogui.write() でエクスプローラーのアドレスにパスを打ち込む時
日本語や \ が入力できなかったり、最初の C: が C* に勝手に変わったりしました
・pyperclip を使って値をコピーしてから、pyautogui.hotkeyで貼り付けました


pyautoguiを使って検索したりクリックしたりする時
・画像認識してから次の処理する時は、while pyautogui.locateOnScreen() is None: で time.sleep(1) させて
・検索結果表示とか全選択とか、少し時間がかかりそうな箇所は逐一改行して「time.sleep()」を書きました
これを書くのが結構あってcodeが余計に長くなりました
255デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/08(土) 15:27:35.37ID:bWQzA1rj0
pyautogui 便利だけどマウスとモニターが使用不可になるのだけは面倒でした
下のソフトの処理ができるなら別のもので構わないのですが、pyautogui以外でやってる人がいたら教えてください

・Adobe Acrobat
・Evernote ※Legacy版
・ソシャゲ全般(デイリー回収用)
256デフォルトの名無しさん (ワッチョイ 0666-37Vs)
2022/10/08(土) 15:49:00.05ID:kX9hT5zA0
ahkで簡単なことはやらせてる
python化されたahkがあればいいのにと思っている
257デフォルトの名無しさん (ワッチョイ b301-3XK+)
2022/10/08(土) 15:57:12.38ID:IpF+MZYD0
ahkって何?
258デフォルトの名無しさん (ワンミングク MM3a-TLx9)
2022/10/08(土) 16:00:09.87ID:xEoQJfh1M
sleepが面倒なら画像名を指定するだけで待ち&クリックする関数を作れば良いんでない
バックグラウンドでの使用は、昔VPCを多重起動して使ってたことあるけど今でも出来るんかな
昔、某MMOでプロセスメモリの内容を読み取って動くマクロとか作ったけど
プロセスメモリが読めればエスパーなマクロが作れるよ
259デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/08(土) 20:40:05.22ID:bWQzA1rj0
>>258
それでやってみます
ゲームに使えるならプロセスメモリもその内手を出しそうです
260デフォルトの名無しさん (ワッチョイ 034f-6jYr)
2022/10/09(日) 00:21:51.03ID:t9JKJStV0
>>252
VSCode, Ruby では拡張機能で、関数の説明なども見れる

また端末から、そういうコマンドを実行しても見れるけど、
ブラウザで見た方が見やすいので、
一旦コマンドで説明をHTML ファイルにしてから、それをブラウザで見て、
見た後に、HTMLファイルを削除する。
これが自動で行われる

ただし、その関数・モジュールの作者が、
Doc コメントみたいな決められた様式で、コメントを書いている場合のみ

たいてい、Doc コメントの説明などは、
パーフェクトRuby などのパーフェクト・シリーズ本に書いてある
261デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/09(日) 04:21:23.14ID:L81MTKQk0
クリップボードにpathlibのPathで指定した、不特定多数のファイルをコピーをしたいのですが方法が分かりません
コピーするファイルは、フォルダー・テキスト・画像・動画・PDF関係なく、PC上で選択してCtrl+Cできるファイル全てが対象です

pyautogui.hotkey(“Ctrl”,”v“) を使って貼り付ける予定です。※Evernote Legacyというメモアプリ上で使いたい

pyperclip、shutil、pillow関連の記事は見つかるのですが、クリップボードに複数・拡張子問わずコピーする方法が見つかりません
どうすればできるのか教えてください
262デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/09(日) 04:59:04.96ID:L81MTKQk0
今のところPathにあるファイル名いじって、検索かけてから全選択して、pyautogui.hotkeyでコピーするという遠回りなやり方でしてみました
263デフォルトの名無しさん (ワンミングク MM3a-TLx9)
2022/10/09(日) 11:51:56.93ID:xdRBYpSIM
FileDrop形式に変換できれば良いんだろうけどパッと検索してみた限り難しそうだね
VSを使ってクリップボードを監視してファイル名が含まれていたらFileDrop形式に変換するアプリを自作するか
コピー用のtempフォルダにファイルを一旦コピーしてから全選択→貼り付けとかでも良さそう
264デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/09(日) 16:29:09.15ID:L81MTKQk0
>>263
FileDrop形式という単語を知れただけでも良かったです。ありがとうございます
265デフォルトの名無しさん (ワッチョイ cb63-rqSc)
2022/10/09(日) 20:19:39.13ID:nf8IBTFd0
chm形式のヘルプが3.7までしか野良に無いんだけど、3.10(stable)のchmどこかに無い?
公式はDLしたいけど404でオンラインでしか参照できなくて困ってる
266デフォルトの名無しさん (ワッチョイ de63-KmYx)
2022/10/09(日) 20:45:08.96ID:Ozrjh9EB0
>>265
公式にpython3107.chmあるし、落ちてくるよ
267デフォルトの名無しさん (ワッチョイ cb63-rqSc)
2022/10/09(日) 20:53:03.75ID:nf8IBTFd0
>>266
すまん、日本語版希望。。。
githubに3.7jpビルドしてる人の使ってる
268デフォルトの名無しさん (ワッチョイ 034f-iygP)
2022/10/09(日) 23:28:35.38ID:t9JKJStV0
>>261
漏れは、Ruby で、drag&drop での複数ファイルの移動処理を作ったけど、
これはファイルのみに適用される。
フォルダの再帰的コピーも出来るみたい

require 'fileutils'

dest_dir = "C:/Users/Owner/Documents/tmp/"

# ARGV は、ドロップした複数のファイルパスの配列
ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
file_name = File.basename( full_path ) # ファイル名のみ

FileUtils::DryRun.move( full_path, dest_dir + file_name)
end

sleep # 出力したコマンドプロンプト画面を閉じないようにする
269デフォルトの名無しさん (ワッチョイ 9eda-y5q7)
2022/10/11(火) 09:09:33.80ID:L++CLq2X0
すみません、jupyter labで下記のように記述して実行したんですが、エラーでサイトが開きません。原因わかる方いらっしゃいませんか?
url = ''https://telegram.org/''
browser.get(url)

エラー内容
NoSuchWindowException: Message: no such window: target window already closed from unknown error: web view not found

browser.getをdriver.getに変えて試してもみましたがダメでした。
urlについてはサイトに飛べることをurlクリックで確認しました。
270デフォルトの名無しさん (ワッチョイ 5ebb-Ir1l)
2022/10/11(火) 09:22:50.72ID:S+x+TbIN0
エラーメッセージの内容を切り分けて質問しろよ

エラーの原因はすぐわかるだろ
web view not found

まぁ、こんな状態でスクレイピングとかアホかって感じだけど
271デフォルトの名無しさん (ワッチョイ 9eda-y5q7)
2022/10/11(火) 09:43:03.84ID:L++CLq2X0
>>270
回答どもでーす
272デフォルトの名無しさん (ワッチョイ 674f-eeYm)
2022/10/12(水) 16:39:03.55ID:+cq2T5fE0
python 3.10.8インストールしようとしたらエラー出る

こういうやつな
https://pullanswer.com/questions/python-3-10-8-amd64-exe-fails-with-access-is-denied
273デフォルトの名無しさん (ワッチョイ 9fda-3XK+)
2022/10/12(水) 16:41:57.24ID:Q9qje2Sc0
ご愁傷様
274デフォルトの名無しさん (ワッチョイ ca26-eeYm)
2022/10/13(木) 13:50:28.26ID:uklwGmra0
>>272だけど今試したら3.10.8インストール出来た
https://www.python.org/ftp/python/3.10.8/amd64/ のフォルダの属性設定を間違えてたらしい

よって>>273は昨日の時点ではインストールしてないとすぐに分かるんだね
275デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/13(木) 18:02:26.26ID:SD2zWMPC0
import pandas as pd
df = pd.DataFrame(
[[10,"a", True],
[20,"b", False],
[30,"c", False],
[40,"d", True]])
#というデータフレームを定義したとして、0列目、2列目を独立して処理したとします
#これを最終的に結合したいのですが、
a = pd.DataFrame(df.iloc[:,0],df.iloc[:,2])
# というようにすると
0 1
0 10 True
1 20 False
...
というデータフレームではなく、
0
2
True NaN
False NaN
False NaN
True NaN
というデータフレームになってしまいます。なんで欠損値になってしまうのか
わからないのですが、求めるデータフレームを作るにはどういう結合方法をとればいいでしょうか。ちなみに、
p=df.iloc[:,0]
に対して
p["A"] = df.iloc[:,2]
という方法は、pがSeries型なので取れないです。一旦Series型にして取り出してから処理して結合させたいのです。どうすればいいでしょうか。
276デフォルトの名無しさん (ワッチョイ 6717-0bkW)
2022/10/13(木) 18:15:58.69ID:rU12tc+I0
んちんちん
277デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/13(木) 18:37:05.73ID:1c9Wc9kf0
pandas詳しくないけど
a=df.iloc[[0,2]]で出来たお
278デフォルトの名無しさん (ワッチョイ 0666-37Vs)
2022/10/13(木) 18:44:41.46ID:7YLMS5Bz0
pandasはそれだけでスレ作ってもいいくらい複雑で深いな
279デフォルトの名無しさん (ワッチョイ de10-QDWw)
2022/10/13(木) 19:07:19.22ID:ZrA3PYH80
二重のforループ抜けるときフラグを使ってるんですけどもっとかっこいいやり方ありますか?
for i in range(10):
flag = False
for j in range(10):
if hoge[i][j] == fuga:
piyo()
flag = True
break
if flag:
break
280デフォルトの名無しさん (アウアウウー Sa2f-luLW)
2022/10/13(木) 19:21:12.59ID:glAi4q7Na
二重ループを使わない
281デフォルトの名無しさん (ワッチョイ de10-bGEg)
2022/10/13(木) 19:23:22.28ID:0KS7pmji0
for-else

for i in range(10):
__for j in range(10):
____if condition:
______break
__else:
____continue
__break

例外

try:
__for i in range(10):
____for j in range(10):
______if condition:
________raise Exception
except:
__pass

他には関数にして脱出はreturnとか
282デフォルトの名無しさん (ワントンキン MM3a-TLx9)
2022/10/13(木) 20:02:02.53ID:PAZSTe6jM
検索ならin演算子を使って1ループに出来そう
for i in range(10):
if fuga in hoge[i]:
print("piyo")
break

他にはnumpyのany使うとか
def is_contain(l, data):
a = np.array(l)
return np.any(a==data)
283デフォルトの名無しさん (ワッチョイ 8a63-KmYx)
2022/10/13(木) 20:03:15.66ID:QL8so1O30
よほどのクリティカルなイシューが解決されたのでなければ
アップデートされたからと言って、慌てて入れないもんだよ
284デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/13(木) 20:15:24.40ID:SD2zWMPC0
>>277
一回それぞれ個別のSeries型を抽出してからくっつけたいんです。
285デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/13(木) 20:24:16.77ID:SD2zWMPC0
わかりました。Series型だと追加できないので一回一列だけのDataFrame型に変換すればいいみたいです。

a = pd.DataFrame(df.iloc[:,0])
そのあと、列追加で
a.loc[:,"new column"] = df.iloc[:,2]
とやれば追加できました。
286デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/13(木) 20:32:37.12ID:1c9Wc9kf0
こうかな
a = pd.DataFrame([df.iloc[0, :], df.iloc[2, :]])
print(a)

numpyになると[行, 列]になってややこしくなるのを思い出した
287デフォルトの名無しさん (ワッチョイ de10-QDWw)
2022/10/13(木) 20:43:16.18ID:ZrA3PYH80
>>281
breakしたらelse飛ばす挙動は知らなかったです
ありがとう
288デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/13(木) 20:45:51.49ID:1c9Wc9kf0
l = list()
l.append(df.iloc[0, :])
l.append(df.iloc[2, :])
a = pd.DataFrame(l)
print(a)

見やすくするならこうやね、勉強なるわ
289デフォルトの名無しさん (ワッチョイ 9fda-3XK+)
2022/10/13(木) 21:15:44.80ID:Tqa4ZL2z0
>>274
WSL2+Docker使ってるからな
実機には入れない
290デフォルトの名無しさん (ワッチョイ 8a01-761C)
2022/10/13(木) 21:37:50.04ID:vk/pladO0
>>281
その三択なら読みやすさ的に
関数にしてearly return一択だと思うんだけどなぁ
291デフォルトの名無しさん (ワッチョイ 6717-0bkW)
2022/10/13(木) 23:54:28.43ID:rU12tc+I0
んチンチンンンンンンン
292デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/14(金) 01:29:03.54ID:0UzEEAJh0
>>286
行・列逆
293デフォルトの名無しさん (ワントンキン MM3a-TLx9)
2022/10/14(金) 05:44:04.16ID:WQ3ra/reM
>>292
ごめん文盲やったわ
294デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/14(金) 05:58:04.32ID:CNXM2/Lz0
sr1 = df.iloc[:, 0]
sr2 = df.iloc[:, 2]
a = pd.DataFrame({"0" : sr1, "1": sr2})
print(a)

辞書型で登録
今度こそどや
295デフォルトの名無しさん (ワッチョイ 6b10-c2gf)
2022/10/14(金) 23:30:33.11ID:0UzEEAJh0
>>294
できました!辞書型なら列追加できるんすね
296デフォルトの名無しさん (ワッチョイ 0b10-spri)
2022/10/15(土) 01:53:05.91ID:gy4T8Zz60
df_merged = pd.concat([df.iloc[:, 0], df.iloc[:, 2]], axis=1)
297デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 08:25:41.38ID:w1fQiwU/0
iloc()じゃなくてiloc[]の時点で、何しとるのかよく判らん
298デフォルトの名無しさん (ワッチョイ 1f84-TyQf)
2022/10/15(土) 10:37:21.32ID:Awb5Gbls0
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html
ドキュメント嫁
299デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 14:09:18.62ID:wUAlKc2l0
質問です。
配列内にアルファベットの要素がランダムに複数個入っています。
これらの要素をなるべく隣り合わないように並べ替えるにはどうするといいでしょうか?
例:AAABBC -> ABACAB
300デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 14:14:45.53ID:w1fQiwU/0
不可能なパターンがあるな
301デフォルトの名無しさん (テテンテンテン MM7f-w9bA)
2022/10/15(土) 14:20:59.88ID:1JUKlkYAM
>>299
なるべくっていう処理はコンピュータには不可能
きっちり仕様として示せる処理でなければならない
302デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 14:30:34.17ID:ttRM3D3c0
>>299
隣合うのが不可避の場合どうするのか
前に溜めるのか後ろに溜めるのか
2文字ずつ並ぶ→3文字ずつ並ぶのように緩和するのか
303デフォルトの名無しさん (アウアウウー Sacf-gp7B)
2022/10/15(土) 14:38:02.16ID:PHpzEK3Ka
>>301
最短を目指すとかよくあると思うけど
304デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 14:45:59.33ID:wUAlKc2l0
>>302
前後に貯めるのではなく、2文字ずつ並ぶ→3文字ずつ並ぶのように緩和できるようにしたいです。
例:AAAAAABBC -> AABAACABA
305デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 14:49:24.73ID:w1fQiwU/0
AABAACABA はNG箇所が2だけれど、
AAABACABA にすると1箇所で済む

2連続2箇所よりも3連続1箇所の方がスコアが低くなる評価関数の定義が必要
306デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/15(土) 14:49:49.52ID:VXb7W7XW0
こういうパズル的なのはプログラミングお題スレで出題する方が早く回答が付きそうだな
307デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/15(土) 14:51:37.73ID:VXb7W7XW0
>>305
n連続は1箇所につき2^n点のペナルティを課すとかは?
308デフォルトの名無しさん (テテンテンテン MM7f-w9bA)
2022/10/15(土) 14:55:21.58ID:1JUKlkYAM
>>306
いや、ていうかよく考えたらこの質問Python関係ないじゃんね
309デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 15:03:04.47ID:wUAlKc2l0
>>308
すいません。
使っているのがpythonだったのでここで質問しました。

やはり難しいようなので、皆さんのコメントを参考に自力で考えてみようと思います。
ありがとうございました。
310デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 15:15:21.01ID:ttRM3D3c0
>>304
26要素のリストで各文字の個数をカウント
最大のものを見つけ出す
最大/他全部で連続個数が分かる
最大の文字を連続個数並べて他の文字を順番に挟む
挟む時は各文字の文字数をつじつま合うようにリストをカウントダウンして調整

同じ文字は可能な限り離したいとか条件追加するともっと難しくなる
311デフォルトの名無しさん (ワッチョイ 0fbb-BCAW)
2022/10/15(土) 15:17:51.26ID:ubtsaD1N0
>>300
ちゃんと確認してないけど、交互に置けない場合が条件になるのかな?

不可能条件
最頻出文字数 > 文字総数/2
かな
312デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 15:17:59.84ID:ttRM3D3c0
文字の挿入は総数がつじつま合うようにもっと工夫が必要だな
まあ頑張ってくれ
313デフォルトの名無しさん (ワッチョイ 0fbb-BCAW)
2022/10/15(土) 15:18:54.05ID:ubtsaD1N0
かぶった上に劣化だった><
314デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 15:33:35.79ID:wUAlKc2l0
>>310
>>311

ありがとうございます。
試してみます。
315デフォルトの名無しさん (ワッチョイ 9f01-QrOW)
2022/10/15(土) 15:53:38.83ID:2u2iBEwS0
>>303
「なるべく」は結果についての話
最短は手順の話だから違うよね
316デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 16:21:01.13ID:w1fQiwU/0
ガチでなるべくなヒューリスティックな問題の方が現実には多い
317デフォルトの名無しさん (アウアウウー Sacf-gp7B)
2022/10/15(土) 16:39:39.77ID:ywjmScUEa
>>315
今回は結果の話しかないよな
318デフォルトの名無しさん (ワッチョイ bb02-003c)
2022/10/15(土) 17:41:55.96ID:Hv7z/9nw0
思いつきだけど
[合計文字数][26]の2次元配列を作る
各文字ごとに均等に配置
空白部分には空白なりNoneなり入れる
2次元配列を縦方向に連結して1次元配列にする
空白を除去する
ってのはどう?

aaabbc
[a,n,a,n,a,n]
[b,n,n,b,n,n]
[c,n,n,n,n,n]
abcaba
319デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 17:50:25.10ID:ttRM3D3c0
>>318
合計じゃなくて最大個数の文字数でいいな
320デフォルトの名無しさん (ワッチョイ 9f14-Z7Nq)
2022/10/15(土) 18:29:11.63ID:a1geBJ2n0
for文の途中で条件に当てはまったら、for文の任意の値から処理を再開させる書き方とかありますか?
例えば「for x in range(10):」とあったとして、7の途中で条件に当てはまったら、3から再開してそのまま最後まで処理するみたいな
321デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/15(土) 18:32:12.78ID:VXb7W7XW0
while使った方がいい
322デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 18:48:06.23ID:w1fQiwU/0
処理で条件が変わるような場合は、whileにしてもハマる
いつ終わるか判らないようなループは本質的に不安定
323デフォルトの名無しさん (ワッチョイ 9f90-JnlY)
2022/10/15(土) 18:48:39.13ID:i+M+Mx9R0
再帰でいいのでは?
324デフォルトの名無しさん (ワッチョイ 9f01-QrOW)
2022/10/15(土) 18:52:19.28ID:2u2iBEwS0
>>320
そういうジェネレータ作ってrangeと置き換えればいいんじゃね
325デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 19:03:32.69ID:jl8SG5IY0
あんま綺麗じゃないけど、こんな感じでいいのか?
競プロの連中ならもっとスマートなの書いてくれるはず

text = "aaabbc"
char = "abcdefghijklmnopqrstuvwxyz"

char_dict = []
for c in char:
____count = 0
____for t in text:
________if c == t:
____________count += 1
____if count > 0:
________char_dict.append({"name":c, "count":count, "left":count})

char_dict = sorted(char_dict, key=lambda e: (e["left"], -e["count"]), reverse=True)
result = ""
pre = ""
for _ in text:
____ci = 0
____while True:
________now = char_dict[ci]["name"]
________if now == pre:
____________ci += 1
________else:
____________result += now
____________pre = now
____________char_dict[ci]["left"] -= 1
____________char_dict = sorted(char_dict, key=lambda e: (e["left"], -e["count"]), reverse=True)
____________break

print(result)
326デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 19:10:00.74ID:jl8SG5IY0
よく見たら、聞くまでもなくダメなやつだなすまん
327デフォルトの名無しさん (ブーイモ MMbf-g1uO)
2022/10/15(土) 19:57:10.99ID:icx3tYx0M
>>325
とりあえずcollectionsのCounterだけは覚えようか
328デフォルトの名無しさん (ワッチョイ bb02-003c)
2022/10/15(土) 20:30:20.03ID:Hv7z/9nw0
Numpyで作ってみたで
https://ideone.com/nQcfVW
329デフォルトの名無しさん (アウアウウー Sacf-zhLr)
2022/10/15(土) 20:30:36.10ID:Ji35UDrea
きったね
330デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 20:48:46.65ID:jl8SG5IY0
>>325
ありがとう

このソートって思ったよりも難しいな
ツリー構造は理解できねえわ
331デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 21:15:49.97ID:jl8SG5IY0
アンカミスってた

>>327
ありがとう
332デフォルトの名無しさん (ワッチョイ 9f79-7iBv)
2022/10/16(日) 01:02:14.69ID:moLuv1n40
>>299
https://ideone.com/b6vqgk
すごーく分かりづらいけど、2種類に分けて導き出した
区切り文字中心に考えたのに、そこで処理を分けてない体たらく
あと、同じ文字は出来るだけ遠く?は難しかった

〆切ってそうな話題ですまん、Python覚えたくてやってみた
333デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/16(日) 20:28:46.68ID:MD6QHwBW0
質問です。
vscordとpycharmと他のパイソン系なのですが
「マルチグラボ」対応してるのを探してます。
お勧めはありますか?
334デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/16(日) 20:56:42.88ID:tl8sUwzf0
Windowsで作成した画像を外付けHDDに保存する。
※macとWindows共通で使えるFAT32使用
それをmacPCのpythonのglobで画像のパスを読み込んだ時に
「バスケ」や「ポケモン」などの濁点と半濁点の検索ができません。
※printで中身を見るとあります。
原因や対処方法がありましたら教えて下さい。
335デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/16(日) 21:20:40.98ID:F/Fiy6Pc0
unicodedata.normalize()
336デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/16(日) 21:28:07.05ID:cG9YvU2e0
あれはあれでunicodeなんだよな
統一できてない
337デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/16(日) 21:50:36.51ID:tl8sUwzf0
>>335
ありがとうございます。
うまくできました。
338デフォルトの名無しさん (スププ Sdbf-OxQn)
2022/10/16(日) 22:24:25.86ID:U1duiFVid
>>299
これ貪欲法で解ける??
解けるならAtcoderのCくらいででそう
339デフォルトの名無しさん (ワッチョイ 2b4f-spri)
2022/10/16(日) 22:53:43.69ID:1lEHOAQp0
Mac は「ハ + 濁点」「ホ + 半濁点」に分割しているのか

1文字にまとめるのが普通
340デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/16(日) 23:02:52.94ID:cG9YvU2e0
昔からそうだったとかでもないのに
デファクトスタンダードに合わせるのは嫌というイキりたいOSの性格が現れている
341デフォルトの名無しさん (ワッチョイ 9f63-7iBv)
2022/10/16(日) 23:16:15.14ID:N+fxT3Y10
昔はバやパを平気で使ってたぞ
342デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/17(月) 00:13:29.63ID:uAMFVFmC0
半角カナを全角に変換した時に
文字数が変わるのを許容できるかという問題
343332 (ワッチョイ 9f79-7iBv)
2022/10/17(月) 01:43:17.91ID:fAAk7KG50
>>299
https://ideone.com/7qVDRD
内包表記とスライスを使ってみた
・・・Pythonヤバすぎる、便利すぎる
344デフォルトの名無しさん
2022/10/18(火) 01:25:14.77ID:zc0QoIzs
単純なy1,y2の差ではなく、
y1がy2をcrossover(上抜け)したところの値とy2との差を、crossunderするまで取り続ける
y1がy2をcrossunder(下抜け)したところの値とy2との差を、crossoverするまで取り続ける
そのデータを取得したいのですが
何かうまい具合にできないものでしょうか
where使って切り替わりの判別はできたのですが

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
t = np.linspace(0, 10, 1000)
y1 = np.sin(t)
y2 = np.cos(t)

ax.plot(t, y1)
ax.plot(t, y2)

fig.tight_layout()
plt.show()

np.where(y1>y2,1,0)
345デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/18(火) 10:34:44.39ID:jjMTEoo10
test = set(A[‘A1’] for B in C[‘C1’] for A in B[‘D’] )

ってどういうコマンドなんでしょうか。
入れ子が多すぎてよくわからず…
何がどう処理されてtestには何が入るんでしょう?
346デフォルトの名無しさん (テテンテンテン MM7f-2LS2)
2022/10/18(火) 10:55:11.72ID:RkLeKawPM
バラせば済む話だわな
347デフォルトの名無しさん (ワッチョイ 1f2c-TyQf)
2022/10/18(火) 11:05:17.60ID:xDZsbnE90
test = set(...) は
https://docs.python.org/ja/3/library/stdtypes.html#set-types-set-frozenset
なんで置いといて中身の話だけど
A['A1'] の所を一時的に C B A と順に3回置き換えて動かすとみえてくるかも
348デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/18(火) 11:09:45.56ID:jjMTEoo10
>>346
バラす場合は

test = set(A[‘A1’]
      for B in C[‘C1’]
          for A in B[‘D’] )
ここでバラすってことですかね?
349344
2022/10/18(火) 12:45:29.61ID:zc0QoIzs
ゴテゴテになりましたがなんとかできました
https://ideone.com/huqmu0
#0.0 97
#crossover sin,cos 2
#crossunder sin,cos 1
350デフォルトの名無しさん (ワントンキン MMbf-gBql)
2022/10/18(火) 12:56:03.93ID:41XzDqyZM
>ここでバラすってことですかね?
>>348
フィルタリングしてるのはわかってるやんな?
351デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/18(火) 13:24:53.77ID:jjMTEoo10
>>350
すみません
フィルタリングってなんでしょうか…?
352デフォルトの名無しさん (ブーイモ MM7f-Z2+b)
2022/10/18(火) 14:51:24.85ID:5thtfPTiM
>>345
forループに直して読めばいい

test = set()
for B in C[‘C1’]:
__for A in B[‘D’]:
____test.add(A[‘A1’])

あまりいい内包表記の使い方ではない
353344
2022/10/18(火) 14:53:46.55ID:zc0QoIzs
差とったバージョン貼るの忘れてました >>349
https://ideone.com/yDQwqO

せっかくnumpyやpandas使っているのにforで回す感じが納得できませんが妥協します
354デフォルトの名無しさん (アウアウアー Sa7f-40n0)
2022/10/18(火) 16:18:57.44ID:L21rDi/Na
直前のコマンドの実行結果の確認ってどうやるんですか?
shellで言う、echo $? をやりたい
355デフォルトの名無しさん (アウアウウー Sacf-FOJj)
2022/10/18(火) 20:19:11.20ID:wvci1M8ka
[{'id': 1, 'name': 'hogehoge', 'start_time': datetime.time(22, 0)}]
ってリストを
{'id': 1, 'name': 'hogehoge', 'start_time': datetime.time(22, 0)}
と言う辞書に簡単に変換する方法ってありますか?
クエリーセットから辞書に出来れば一番いいんだけど...。
356デフォルトの名無しさん (ワッチョイ 4b97-+LDt)
2022/10/18(火) 20:24:46.13ID:BZdlnClE0
>>355
普通に最後に[0]つけるだけでは?
357デフォルトの名無しさん (ワントンキン MMbf-003c)
2022/10/18(火) 20:27:28.02ID:8ovbGjhuM
>>353
こんな感じじゃ駄目?
https://ideone.com/dRYCAH
358デフォルトの名無しさん (アウアウウー Sacf-FOJj)
2022/10/18(火) 20:32:38.62ID:wvci1M8ka
>>356
ほんまや!ありがとう!
359デフォルトの名無しさん
2022/10/18(火) 21:48:30.15ID:zc0QoIzs
>>357
cross地点のラインとか見やすくていいですね
実際に使うチャートのプロットに使ったら良い感じになりました!
ありがとうございます!!
360デフォルトの名無しさん (ワッチョイ fb7c-gX9J)
2022/10/19(水) 11:35:50.09ID:XPI64Z3+0
Wsl2上Ubuntu20.04でtorch使って機械学習させてたんだけど、3万イテレーションぐらいで
Segmentation fault
とだけ出て落ちてた
VRAMの容量が不足したと考えてあってる?
あとLinux環境でこれをデバッグするなら何がいいか教えて欲しい
361デフォルトの名無しさん (ワッチョイ 6b01-snqf)
2022/10/19(水) 11:54:47.46ID:tuP7W/zl0
SageMakerだな
362デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)
2022/10/19(水) 12:36:42.67ID:rgBskw8B0
Linuxの組み込みRuby・mruby とかは、Top, Valgrind などを使うのかな?
363デフォルトの名無しさん (オイコラミネオ MM8f-4fP8)
2022/10/19(水) 22:23:16.68ID:3NiqH8qVM
>>1
p = [0,1]
q = [2,3]

r = [0,2,1,3]
にまとめたい、、、
364デフォルトの名無しさん (ブーイモ MM7f-+LDt)
2022/10/19(水) 23:34:10.81ID:bkANZ+VWM
>>358
良かった。おめでとう

>>363
zipとflatten使えばできる、flattenは自前で書いても可
365デフォルトの名無しさん (ブーイモ MM7f-+LDt)
2022/10/19(水) 23:37:46.30ID:bkANZ+VWM
>>360
再現性あるかどうかは大事。ないなら電圧降下とか宇宙線とか回避できない事象かもしれない。
再現性あるならまずはメモリのテストとか?
366デフォルトの名無しさん (ワッチョイ efe8-TyQf)
2022/10/20(木) 00:13:53.61ID:mcMX29GY0
メモリ壊れててSegmentation faultは運良すぎる
十中八九バグ踏んでる
367デフォルトの名無しさん (アウアウウー Sacf-zhLr)
2022/10/20(木) 00:21:35.47ID:Ia5AvZ4ba
>>360
まずは普通のubuntu環境でやってみな
368デフォルトの名無しさん (テテンテンテン MM7f-OxQn)
2022/10/20(木) 06:33:42.06ID:h2hzFpVPM
note.nkmk.meブログ書いてる人は一体何者なん?凄すぎでしょ
369デフォルトの名無しさん (オイコラミネオ MM8f-4fP8)
2022/10/20(木) 09:06:52.31ID:rssHMFyJM
>>364
ありがとう
370デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/20(木) 11:03:22.52ID:rq8DqaFj0
.pyの拡張子のプログラムファイル送られてきたんだが
ひらきかたがわからん
371デフォルトの名無しさん (ワッチョイ 0f7b-/ZQP)
2022/10/20(木) 11:07:41.43ID:5IJGeHxC0
単に開きたいならテキストエディタでおけ
よくわからんものをいきなり実行しないほうがいいでしょ。
372デフォルトの名無しさん (ワッチョイ 9f63-y3r4)
2022/10/20(木) 11:33:20.98ID:SiOwIn850
送ってきた相手が知人だとしても疑うべき
373デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/20(木) 11:59:34.42ID:rq8DqaFj0
返信ありがとう。
ココナラの仕事関連で贈られたブツだから
妖しくはないと思う。
ただひらき方がわからんだけw
テキストね。ありがとう!
374デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/20(木) 14:07:22.08ID:rq8DqaFj0
.pyだからgoogle colabとかvsでもひらけますか?
375デフォルトの名無しさん (ガックシ 067f-agbM)
2022/10/20(木) 14:15:44.78ID:SM0e0PhV6
はい。
376デフォルトの名無しさん (ワッチョイ 0fbb-mZPx)
2022/10/20(木) 14:46:25.62ID:VKVL3k1N0
すまんが、開発環境について教えて欲しいんだけどさ
NumPyの行列がどんな形してるか、あらかじめ推測がつく場合にVSCodeのエディタ上で表示してくれるような機能ってなんかないのかな?
あったら教えてほすぃ
377デフォルトの名無しさん (アウアウウー Sacf-zhLr)
2022/10/20(木) 15:41:29.99ID:Ia5AvZ4ba
ない
型で指定できない以上無理
378デフォルトの名無しさん (ワッチョイ 1fe8-TyQf)
2022/10/20(木) 16:40:26.62ID:fK+SugQF0
https://numpy.org/devdocs/reference/typing.html
これで型ヒント書いてPylance/Pyrightさんがどこまで対応してきてるかやな
379デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/20(木) 16:52:22.34ID:rq8DqaFj0
>>375
今グーグルコラボひらいたんやが。
ファイル、編集、表示、挿入などあるけど。
なかなかファイルを読み込むっていうのができひんねん。
教えて下さい!
380デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/20(木) 16:55:29.69ID:rq8DqaFj0
ファイル→ノートブックをアップロード→ダウンロードできひんw
381デフォルトの名無しさん (ワッチョイ 0f7b-/ZQP)
2022/10/20(木) 17:02:32.17ID:5IJGeHxC0
当該ファイルをテキストエディタで開いてコピペしたらええんでないの?
382デフォルトの名無しさん (ワッチョイ fb09-h7FX)
2022/10/20(木) 17:44:01.65ID:aiWxu/Mz0
Pythonの乱数はCPUのbit長とあまり関係ないみたい
64bit= 8バイトや128bit = 16バイトが効率がいいのかとおもったが
一度にまとめて長いのを生成したほうがいいみたい


https://ideone.com/JlYdMk

import random
from time import perf_counter

def randcomp(byte = 4, loop = 100000):
N =[]
K =[]
for i in range(3):
K.append(2**i)
N.append (2**(8*byte*K[-1]) -1)
for i in range(3):
t = perf_counter()
for n in range(loop * int(4/K[i]) ): random.randint(0, N[i])
t = perf_counter() - t
print("%d%s : %0.3f sec" % (8*byte*K[i], "バイトで乱数生成" , t), flush=True)

print("同一長乱数はまとめて生成したほうがいいが分割したほうがいいか")
randcomp(100, 30000)
383デフォルトの名無しさん (ワッチョイ 1fe8-TyQf)
2022/10/20(木) 18:21:28.94ID:fK+SugQF0
>>382
https://docs.python.org/ja/3/library/random.html#random.random
> ほとんど全てのモジュール関数は、基礎となる関数 random() に依存します。

ソースまで追ってないけど係数掛けてるだけでない?精度求めないなら構わないけど
384デフォルトの名無しさん (ワッチョイ fb09-h7FX)
2022/10/20(木) 18:38:57.83ID:aiWxu/Mz0
納得
整数の乱数も浮動小数点から生成してるのね
整数値はCPUの整数演算から生成してるとおもってた
385デフォルトの名無しさん (ワッチョイ 9f7c-ARgO)
2022/10/20(木) 18:57:44.54ID:0LxHKv3Y0
>>376
PyCharmのPro版ならそういう機能あったかも。まあ有料だけど
386デフォルトの名無しさん (ワッチョイ 0fbb-mZPx)
2022/10/20(木) 19:05:49.55ID:VKVL3k1N0
年3万かあ・・・・教えてくれたのはありがたいけどちょっとこれは・・・・
387デフォルトの名無しさん (アウアウウー Sacf-gp7B)
2022/10/20(木) 19:38:31.27ID:tMcnfqkZa
randomは整数じゃないか?
388デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/20(木) 19:57:06.72ID:zFT+mBQ80
熱雑音から生成するのなかったっけ
389デフォルトの名無しさん (アウアウウー Sacf-gp7B)
2022/10/20(木) 20:09:52.87ID:tMcnfqkZa
あるよ
量子論的ななんかもあるよ
390デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/20(木) 20:13:14.05ID:zFT+mBQ80
大勢で祈ると値が偏る奴
391デフォルトの名無しさん (ワッチョイ 9f63-y3r4)
2022/10/20(木) 20:18:06.06ID:SiOwIn850
競馬場でやって
392デフォルトの名無しさん (ワントンキン MMbf-003c)
2022/10/20(木) 20:59:29.59ID:kx/1mwDkM
計算結果を観測するまで分からない乱数
393デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/20(木) 21:14:59.71ID:zFT+mBQ80
量子使う奴は意思が入り込むよ
未来の科学ではそんなの当たり前になってるだろうけど、現時点ではオカルト
二重スリット実験とかも本当は不思議でも何でもない
394デフォルトの名無しさん (ブーイモ MMbf-+LDt)
2022/10/20(木) 23:49:24.98ID:PbiytdPqM
ほんとの乱数を使う必要がある場合と疑似乱数でいい場合は区別したほうが良くないか。
Pythonで出し分ける方法は調べてないから知らないけど。
395デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/21(金) 08:18:44.01ID:qQxL52gE0
seedを物理的に作ってあとは擬似乱数だな
組み込みだとADコンバータのLSBを使ったりする
396デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/21(金) 08:50:48.36ID:Yzioqt7t0
pythonの資格取りたいんですが難しいですか?
どれくらい勉強すれば行けますか
397デフォルトの名無しさん (ガックシ 067f-dQGL)
2022/10/21(金) 13:17:33.66ID:d7WYWX6T6
>>365-367

wsl2上ではイテレーションはまちまちだけど再現してる
ノーマルなubuntu環境構築して再現性あるか見てみるわ
398デフォルトの名無しさん (ワッチョイ 0f89-gBql)
2022/10/21(金) 16:11:11.34ID:QvDTOA5Y0
>>396
2万時間くらい
399デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/21(金) 17:01:14.33ID:Yzioqt7t0
>>398
2万時間の根拠は?
400デフォルトの名無しさん (テテンテンテン MM7f-2LS2)
2022/10/21(金) 17:19:59.05ID:KvwM7lznM
調べりゃ解ることを
わざわざ聞くやつは
2マン時間で十分だと言うことだろう
401デフォルトの名無しさん (ワッチョイ 9f63-y3r4)
2022/10/21(金) 17:25:07.63ID:2aEevlzi0
調べると分かるのか
402デフォルトの名無しさん (ワッチョイ fb09-h7FX)
2022/10/21(金) 17:50:39.73ID:+NQJkQPg0
小さめファイルのハッシュ値を計算したい人です
ファイルIOにかかる時間のほうが圧倒的に時間食うことがわかりました
ハッシュ計算が3倍遅いほうでも差がほぼないようです
403デフォルトの名無しさん (ワッチョイ fb09-h7FX)
2022/10/21(金) 17:52:02.77ID:+NQJkQPg0
ここに書き込んだのでは話ではなかった
404デフォルトの名無しさん
2022/10/21(金) 18:01:25.42ID:Ty04Hsfm
データフレームのある列で、0が連続する値だけを起点にデータを分割する
いわゆるビニング処理をしたいのですが
こういう感じにしました
https://ideone.com/JIk4Zz
たぶん期待通りの処理(df_sample["b"]で0以外の値が連続するブロックだけ抽出)になったのですが
改善できないでしょうか
405デフォルトの名無しさん (ワッチョイ 0f89-gBql)
2022/10/21(金) 21:02:47.32ID:QvDTOA5Y0
>>399
君には難しいだろう。
たぶん無理だから諦めた方がいい。
Pythonは統計とマシンラーニング課題も出るからそれらの背景知識がなければ受からないと考えたほうがいいし、Pythonを学ぶ意味も意義もなんの価値もない
というのと、そんなことでいちいち根拠は?と思考停止する程度であればなにも成すことはできない。
よってそれら含めて知識として習得するつもりがあり、そのはじめの一歩として資格試験に挑戦するというのであれば、勝手に挑戦すればいい
406デフォルトの名無しさん (ワッチョイ 0f89-gBql)
2022/10/21(金) 21:10:42.50ID:QvDTOA5Y0
>>399
マジで厳しいこというかもしれないが
何のためにその資格を取りたいと思ったのか
何のためにPythonを学ぼうと思ったのか
心から学びたいと言う欲求があなたの中にあるのか
あなた自身がこれら命題に答えられなければ、時間の無駄になるだろう
407デフォルトの名無しさん (ワッチョイ 0fbb-qQUl)
2022/10/21(金) 21:15:29.58ID:NoO+J0RZ0
>>405
408デフォルトの名無しさん (JP 0H7f-ZPbQ)
2022/10/21(金) 21:23:51.77ID:BRobyhizH
愚直おじさん流
https://ideone.com/TnSTHy
409デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/21(金) 21:29:44.35ID:Yzioqt7t0
>>406
めっちゃ早口で言ってそう
410デフォルトの名無しさん (ワントンキン MMbf-003c)
2022/10/21(金) 21:34:27.68ID:xWrdmgB3M
Pythonは一般人でも使いやすいからシェアNo.1になってるような言語でしょ
ラズパイIoTでも使うしAIのためだけの言語では無いよ
411デフォルトの名無しさん (アウアウウー Sacf-XNb0)
2022/10/21(金) 21:37:59.27ID:7KwYuZana
>>396



仕事で使う人で2年程度はかかるらしいよ
412デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/21(金) 21:39:34.25ID:qQxL52gE0
ひろゆきが言ってるんだから嘘に決まってるだろ
413デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)
2022/10/21(金) 23:30:16.98ID:X//QLN3D0
ひろゆきは自分で試していない。
検索して、それを話しているだけ

自分の経験に基づかないから、いつも話が浅い。
だから聞くだけ、時間の無駄

検索して分かるような事しか話さない

Python は良いみたいですよ。
流行っているからとかw
414デフォルトの名無しさん (ワッチョイ 2b4f-KWxC)
2022/10/21(金) 23:38:32.06ID:X//QLN3D0
Python は文系は無理。
大学院数学科か、AWS 機械学習の資格が必要

だから、YouTube で有名な雑食系エンジニア・KENTA とか、
たにぐちまことも、Pythonの動画を作れない

だから、英語だけできる文系女は皆、Ruby on Rails へ行く。
Railsは算数で十分

Pythonの文法だけ知っている香具師は、いらない。
仕事ができないから
415デフォルトの名無しさん (ワッチョイ 9f63-y3r4)
2022/10/21(金) 23:39:38.76ID:2aEevlzi0
フランス語で講釈たれたときもそうだな
フランス語の専門家が誤りに突っ込んできて
それで黙ってしまった
416デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/21(金) 23:48:12.69ID:sRGYRPn90
>>409
効いてて草
417デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/22(土) 00:19:42.69ID:zwJTxOqra
ケンタって人pythonをスルーしてるのはなぜなんだろう
418デフォルトの名無しさん (ワッチョイ e94f-9Hqw)
2022/10/22(土) 00:46:25.52ID:5ajtmD/n0
KENTA は文系でしょ。
TOEIC も、800点以上取っていたかも?

英語ができるから、10言語以上のプログラミングに強い

でも、Python は別。
大学院レベルの特殊な勉強が必要だから、文系では無理
419デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/22(土) 00:55:51.48ID:OES5lhv+a
うーんニューラルネットワークってそんなに難しいことしてないんだけどな
420デフォルトの名無しさん (ワッチョイ 1197-/6zz)
2022/10/22(土) 04:24:24.02ID:+A4lsW440
ニューラルネットワークはともかく、他の言語出来たらPythonだって出来るでしょ。NumPyとかPyTorchだけがPythonじゃないし。なんか知らんYouTuberを根拠にするとか頭おかしすぎる 正直BASICみたいなもんだろ、
421デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
2022/10/22(土) 04:31:36.51ID:x/c/WoEY0
PythonはCとかで作れられたソフトのラッパーにすぎないだろ
元の操作が難しくても初心者向けにラッピングしてあるんだろ
BASICみたいというのはその面あるかと
当時だとアセンブラのラッパーといえるだろうが
422デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
2022/10/22(土) 04:40:27.23ID:x/c/WoEY0
Pythonで記述法が独特だとおもってたけど
いま高級言語の FORTRAN BASICを調べたらまあまあ似てた
423デフォルトの名無しさん (ワントンキン MMd2-TT3r)
2022/10/22(土) 05:47:55.19ID:7jLTm2VBM
とにかく手軽で便利、マルチプラットフォームで動く高機能なスクリプト言語
一般人から研究者まで、エンジニアじゃなくても手軽に扱えるシェアNo.1のプログラミング言語
さあ今すぐPythonを始めよう!
424デフォルトの名無しさん (ワッチョイ 4259-2VNu)
2022/10/22(土) 06:53:31.27ID:J46viSc60
プログラム全く触ったことなくても独学でもいける?
425デフォルトの名無しさん (ワッチョイ 029f-72Rk)
2022/10/22(土) 07:35:37.88ID:7AfcIHJs0
やる気次第でしょ
インフラ屋さんだけどPythonとGoがあれば仕事が楽になる
426デフォルトの名無しさん (ササクッテロラ Sp11-w3aL)
2022/10/22(土) 14:21:00.87ID:8gOeqRywp
生まれて初めてカキコします。
pythonでエクセル内の
指定したセル範囲を画像として保存することはできるのでしょうか?
openyxl等の使い方を見ましたが該当する機能が見つからず。。。
427デフォルトの名無しさん (アウアウウー Sa45-HQ97)
2022/10/22(土) 14:33:36.41ID:RBHYYj24a
カキコって何歳だよ
画像は難しそうだよな
ブラウザ経由ならまだ割となんとかなるかもしれんけど
428デフォルトの名無しさん (ワッチョイ e933-80Lh)
2022/10/22(土) 14:43:30.59ID:N7+wBa/e0
https://support.microsoft.com/en-us/office/create-a-picture-from-cells-a-chart-or-an-object-in-excel-5545100b-65f7-4caf-ac12-7a56f4a4e7b6
うーん
429デフォルトの名無しさん (ワッチョイ 6284-Bggx)
2022/10/22(土) 14:58:25.99ID:5YUu7WUo0
xlwingsでExcel操作してセルを表示
https://learn.microsoft.com/ja-jp/office/vba/api/excel.range.copypicture
もしこの操作ができるならpillowのImageGrab.grabclipboardで画像化
できそうにないなら同じくImageGrab.grabでスクショ
430デフォルトの名無しさん (ワントンキン MMd2-LP1i)
2022/10/22(土) 15:10:03.03ID:/+WXYBmxM
>>426
5chははじめてか、力抜けよ
画像は難しい(意訳: 無理とは言ってないが見当がつかない)
431デフォルトの名無しさん (AU 0H41-Otos)
2022/10/22(土) 18:12:09.05ID:r8ZBR+82H
>>424
そんなことを逝っていたらいつまでたっても創められない
なんでもいいからすぐにやれ!
432デフォルトの名無しさん (ワッチョイ 4259-2VNu)
2022/10/22(土) 18:42:20.42ID:J46viSc60
>>425>>431
わかった、明日本屋さん行ってくる。
433デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/22(土) 18:44:23.56ID:OES5lhv+a
>>424
無理
そういう質問してくるやつは全員使い物にならなかった
434デフォルトの名無しさん (ワッチョイ 1197-/6zz)
2022/10/22(土) 19:41:53.56ID:+A4lsW440
独学で行ける奴は独学で行けるかどうか質問する前に独学できる範囲は独学しちゃうからなあ。
その質問が出る人と出ない人の違いが不思議だよね。
子供の頃に近くに誰も教えてくれないジャンルで何かを自分で調べてやったかどうかの違いなのかなあ。
435デフォルトの名無しさん (テテンテンテン MMe6-zh4g)
2022/10/22(土) 19:55:08.06ID:YnOyl9oPM
全くのプログラミング初心者はCとJavaをやってからPythonやるのおススメ
するとCでポインタに挫折し、Javaでオブジェクト指向に挫折するはず
次にPythonをやると大幅に難易度が下がり感激して習得が進む
436デフォルトの名無しさん (ワッチョイ ee10-LzLA)
2022/10/22(土) 20:14:23.22ID:TcV0m7it0
独学ってなんだろうなとは思う
今やネット使えば相互で学びを得られるわけだし
437デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/22(土) 20:15:49.62ID:OES5lhv+a
できるやつはそんなくだらない質問してる間に書いてるからな
よほど頭が良いやつを除けばプログラミングなんてスポーツに近い
ある程度書きまくって理解するという面がかなりある
438431 (AU 0H41-Otos)
2022/10/22(土) 20:35:33.98ID:kATB1i3DH
>>432
素直でよろしい
わからないことがあったらすぐにここで聞くがよい、少なくとも私は答えてあげよう
439デフォルトの名無しさん (ワンミングク MMd2-yYWu)
2022/10/22(土) 20:36:23.36ID:F0QzgmDAM
変なトレーナーだと上達も遅いし悪い癖がつく
440デフォルトの名無しさん (JP 0H1d-SrSm)
2022/10/22(土) 21:47:35.31ID:cKHN2pKRH
441デフォルトの名無しさん (ワッチョイ 8214-vLwz)
2022/10/22(土) 23:09:50.86ID:SZlNO/Fu0
PythonのpyautoguiでDMMGAMEPLAYERのクリック操作ができません
多分他にもできないソフトや操作がある気がします
できるようにする方法をご存知の方いませんか?
442デフォルトの名無しさん (ワッチョイ c666-eGnn)
2022/10/22(土) 23:15:54.82ID:r1O0tjlF0
管理者権限では
443デフォルトの名無しさん (ワッチョイ 8214-vLwz)
2022/10/22(土) 23:23:38.12ID:SZlNO/Fu0
管理者権限でPythonやVSCodeを動作させるというのはやってみましたがダメでした
それとは違うものですか?
444デフォルトの名無しさん (ワントンキン MMd2-TT3r)
2022/10/23(日) 00:17:15.41ID:a/Rc5ERJM
クリックスピードが速すぎて認識しないことあったけどそれとは違うかな
445デフォルトの名無しさん (ワッチョイ 0202-TfLj)
2022/10/23(日) 05:29:58.37ID:LnniM1YV0
循環参照とグローバル変数の解放忘れは
どうにもならずでよい?
446デフォルトの名無しさん (ワッチョイ ee10-LzLA)
2022/10/23(日) 07:56:50.73ID:YjL8eIdN0
>>441
それなー制御レイヤでガードがかかってて出来ないんだよ
仮想環境でプレイヤー動かして外からマウス操作するとできる
ahkならうまくいくと昔見た気がする
447デフォルトの名無しさん (ワントンキン MMd2-TT3r)
2022/10/23(日) 08:34:16.23ID:a/Rc5ERJM
昔MMOでマクロ動かしてたときにjoytokeyは通るのにUWSCが通らないのは何でだと思ったらJoytokeyは使ってるAPIが古かったのを思い出した
448デフォルトの名無しさん (ワッチョイ ee10-YoBG)
2022/10/23(日) 20:18:15.84ID:VvU+DrMM0
GUIは他で作って呼べばいいやとか思ってたけど
触ってみたら楽しくなってきちゃった…
449デフォルトの名無しさん (ブーイモ MMe6-pkna)
2022/10/23(日) 20:40:08.90ID:YdoHOOqzM
自分で使うのは勝手だが、他人に無理に使わせようとして面倒をかけないようにしろよ
450デフォルトの名無しさん (ワッチョイ 42de-80Lh)
2022/10/23(日) 21:21:44.61ID:E8ProAkZ0
パイソンって何のOSで作って、何のOSで動かして
どんなハードウェア使ってるのかイメージわかない
451デフォルトの名無しさん (ワッチョイ 6ebb-oPuq)
2022/10/23(日) 21:29:22.91ID:QUHPaesz0
>>450
パイソン以外なら分かるのか?
452デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/23(日) 22:09:00.29ID:HOBBKeJ+a
>>450
え?
453デフォルトの名無しさん (ワッチョイ 2ef8-Bggx)
2022/10/23(日) 22:20:33.87ID:PSjFlE960
昔はアプリ内スクリプティングによく使われてたし
そこまでOS依存ないよね
454デフォルトの名無しさん (ワッチョイ c666-eGnn)
2022/10/23(日) 22:22:13.84ID:Gerqh3Hc0
今は何が使われてるの?
455デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/23(日) 22:22:47.20ID:NZM9O6ur0
>>450
何のOSでと言ってる時点で適性無さすぎ
456デフォルトの名無しさん (ワッチョイ 8263-UuoP)
2022/10/23(日) 22:40:47.26ID:ryZHmhMT0
渋谷のOSは人気があったんだけど、なくなってしまいました
457デフォルトの名無しさん (ブーイモ MMa2-+yyz)
2022/10/23(日) 23:07:36.81ID:ukbFQOFRM
「オーエス!オーエス!」
謎の掛け声の語源は?
458デフォルトの名無しさん (テテンテンテン MMe6-zh4g)
2022/10/23(日) 23:21:29.90ID:EIV6aNFQM
>>455
いやーこの辺の理解は難しいよ
俺はPythonがC言語で作られていることを知っているが
C言語が何で作られているかは知らない
459デフォルトの名無しさん (ワッチョイ ee10-9vwd)
2022/10/24(月) 00:31:12.46ID:GUF0AyIv0
>>458
大本の大本を辿ればハンドアセンブルに行き着く
始めは機能が限定されたCコンパイラを作り、だんだん必要な機能全てが揃ったCコンパイラを作る
460デフォルトの名無しさん (ワッチョイ 8263-UuoP)
2022/10/24(月) 01:02:39.86ID:aNKyy4xv0
最初のは計算ごとに配線を替えてたぞ
461デフォルトの名無しさん (ワッチョイ 81f0-sGwS)
2022/10/24(月) 01:09:51.15ID:m3/1dAn60
>>458
え?
Cコンパイラ使ったことあらず?
462デフォルトの名無しさん (テテンテンテン MMe6-zh4g)
2022/10/24(月) 02:58:26.65ID:wO6abJhfM
>>461
Cコンパイラが何でできているか知っているのは
コンパイラを作った人だけだからね
君は作ったことあるのかい
463デフォルトの名無しさん (ワッチョイ 81f0-sGwS)
2022/10/24(月) 03:19:34.54ID:m3/1dAn60
>>462
gcc知らず?
clang知らず?
cl知らず?

何でできてるかって実装言語?
gccならCだよ
clangはC++
clは詳細はわからんがC/C++でしょう
464デフォルトの名無しさん (ブーイモ MM25-B5XZ)
2022/10/24(月) 05:15:28.86ID:p6w8R1yaM
キーワード引数の違いで引数cがあるときだけ下側を呼ぶような関数オーバーロードってできないんですかね
def myfunc(a:int,b:int)
def myfunc(a:int,b:int,c:int)
465ハノン ◆QZaw55cn4c (AU 0H56-Otos)
2022/10/24(月) 06:55:32.96ID:+/V2/OmRH
>>463
gcc はカバのダンスの調教に疲れて c++ になったかと
466デフォルトの名無しさん (ワッチョイ ee10-LzLA)
2022/10/24(月) 07:32:37.40ID:FaCSJwQ/0
ラズパイを動かすための言語って思ってる人もいるかもしれない
467デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 07:46:28.41ID:LLDppSf/0
>>463
それはそう言う例があるってだけの話
テキストを読んでバイナリを出力できる言語なら(面倒かどうかは別にして)コンパイラを作れるだろ
468デフォルトの名無しさん (ワッチョイ 81f0-sGwS)
2022/10/24(月) 08:02:02.76ID:m3/1dAn60
>>467
例ってなんだよw
469デフォルトの名無しさん (ワッチョイ c666-eGnn)
2022/10/24(月) 08:45:07.46ID:ps8GOOL70
はじめにCありき
470デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 08:48:17.61ID:LLDppSf/0
>>468
念の為に聞いておくけどC言語はC/C+でないと作れないとか思ってないよね?
471デフォルトの名無しさん (ワッチョイ 81f0-sGwS)
2022/10/24(月) 12:57:00.37ID:m3/1dAn60
>>470
何を言ってるんだ?
支離滅裂だぞ
Cコンパイラの作り方を知りたいのか?
字句解析、構文解析、意味解析、コード生成、最適化とかを知りたいのか?
コンパイラの教科書でも読めば?
ちな俺は大学でその辺やってたから教えても良いよ
472デフォルトの名無しさん (ワッチョイ 81f0-sGwS)
2022/10/24(月) 13:06:44.24ID:m3/1dAn60
Cコンパイラ作りたいなら湯淺太一先生のコンパイラの教科書読みな
この本は昔大学で使っててアセンブリ言語のコード生成までちゃんと書いてある
著者はLisp処理系とか作ってた人
この本読めばRustがどういうコード生成してるかもわかる
473デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 13:14:19.77ID:LLDppSf/0
>>471-472
御託はいいから>>470にyes/noで答えろよ
474デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/24(月) 13:15:55.81ID:rCA25jH/a
>>473
なんでCでしか作れないんだよw
おちょくるのもいい加減にしろ
475デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/24(月) 13:17:22.92ID:rCA25jH/a
というかマジでわかってない?
コンパイラとリンカとか知らんのかな
それなら謝るけど
476デフォルトの名無しさん (ワッチョイ 6ebb-7TT9)
2022/10/24(月) 13:17:23.04ID:oX2BqG4d0
どーでもいいw
すれち
477デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/24(月) 13:19:20.96ID:rCA25jH/a
あまりに前提知識が無さすぎるが故に煽りっぽくなってしまったのなら俺の責任だからそこは謝るよ
478デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/24(月) 13:21:10.71ID:rCA25jH/a
どうでもよくないよ
コンパイラのこと知らずにRust書いてるならかなり怖い
479デフォルトの名無しさん (ワッチョイ 6ebb-7TT9)
2022/10/24(月) 13:23:06.14ID:oX2BqG4d0
PythonのスレでRust書いてる前提で話すほうが怖いわw
480デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/24(月) 13:35:13.05ID:rCA25jH/a
>>479
ん?あ、すまんw
リアルに勘違いしてたw
アスペ出たなあ
481デフォルトの名無しさん (ワッチョイ 2e84-Bggx)
2022/10/24(月) 13:35:23.26ID:8nSTkhtC0
ほとんどのスレが閑古鳥だからかスレチでも書きたい欲求が上回るんだろうね
482デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/24(月) 13:40:32.83ID:rCA25jH/a
ただpythonでC/C++拡張を書く場合には普通に有効だし
知っていて損はないと思うけどね

スレ違いスマソ
483デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 13:45:13.84ID:LLDppSf/0
>>474
お前には聞いてないからいちいち絡んでくるなよ...
484デフォルトの名無しさん (スップ Sd02-SGBs)
2022/10/24(月) 14:40:45.31ID:Ifzcx8SRd
アウアウウー Sa45-sGwS、ワッチョイ 81f0-sGwS
は同一人物でしょ

スレ違いだけど、こっちの流れのほうがわからん
462の発言に対して463が否定した
その後の467が???
>>462 テテンテンテン MMe6-zh4g
> Cコンパイラが何でできているか知っているのは
> コンパイラを作った人だけ
>>463 ワッチョイ 81f0-sGwS
> gccならCだよ
> clangはC++
>>467 ワッチョイ 8201-yYWu
> それはそう言う例があるってだけの話
> テキストを読んでバイナリを出力できる言語なら(面倒かどうかは別にして)コンパイラを作れるだろ
485デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 14:57:03.94ID:LLDppSf/0
>>484
だからC言語(のコンパイラやインタプリタ)はC/C++言語でなくても作れるって話
>>463 は単なる一例
もちろんPythonでも同様
486デフォルトの名無しさん (スップ Sd02-SGBs)
2022/10/24(月) 15:22:20.03ID:2pr4kIm+d
>>485
一例ってことは、
462に対して例をあげて否定した463を肯定しつつ、新たな話題で絡んだってことよね

463以前でもそれ以降でも「C/C++以外では作れない」なんて言ってないのに
487デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 15:36:46.66ID:LLDppSf/0
>>486
どうやったそんなアホな解釈になるんだよw
462 はコンパイラ一般の話を書いてるのにそれに対して個々のコンパイラの例を挙げても否定にも何にもなってないって話だぞ
488デフォルトの名無しさん (スップ Sda2-SGBs)
2022/10/24(月) 16:17:10.49ID:ZTzctXE7d
>>487
>>462 コンパイラ一般の話と
>>463 いくつか例外があるぞと
>>467 いくつか例外をあげても意味ないぞ
こういう流れだったか

> テキストを読んでバイナリを出力できる言語なら(面倒かどうかは別にして)コンパイラを作れるだろ
んで、2行目のこれは「どこに」かかってるんだ?
489デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 16:37:51.01ID:LLDppSf/0
>>488
頼むから書いてもない例外とかいきなり出してこないでくれ

> んで、2行目のこれは「どこに」かかってるんだ?
いくつかの例以外のものを作れるだろって話
490デフォルトの名無しさん (スップ Sda2-SGBs)
2022/10/24(月) 17:06:30.10ID:/FISPYrld
例外 → 一般とは違う例
と読み替えてくれ

その作られている例と作れる話が繋がらなかったんだ
とりあえず流れは理解したわ
横槍すまんかった
491デフォルトの名無しさん (ワッチョイ 8201-yYWu)
2022/10/24(月) 17:39:36.14ID:LLDppSf/0
>>490
> 例外 → 一般とは違う例
> と読み替えてくれ
意味不明、487の一般の意味がわかってないだろ...
全般と書けばわかるかな?
492デフォルトの名無しさん (ワッチョイ 8263-UuoP)
2022/10/24(月) 17:44:48.33ID:aNKyy4xv0
しつこいと嫌われるぞ
493デフォルトの名無しさん (ブーイモ MMe6-/6zz)
2022/10/24(月) 18:01:08.06ID:neM6LaqeM
そもそもPythonもC言語で実装されているとは限らないしね。普通はCPython以外のことを考えなくていいと思うけど、今でもpypyとか使おうと思ったら考えなくちゃだしな(使ったことないのでよく知らないけど)
494デフォルトの名無しさん (ワッチョイ ee10-LzLA)
2022/10/24(月) 20:11:23.46ID:FaCSJwQ/0
c++で思い出したんだけどboost.pythonでndarrary渡したあとそのままndarrary操作してたら処理にアホほど時間がかかったわ
結局vectorに入れ替えて処理したあとpythonのリストに変換して戻したら早かった
今思えば最初から渡すのリストで良かったな
ndarray渡す利点なんかあるのかな?
495デフォルトの名無しさん (ワッチョイ e114-rBY1)
2022/10/24(月) 20:35:32.52ID:Uzj8AQ880
>>494
コピーを減らせるのが利点だけど、アクセス時のチェック等で遅くなったら意味ないのでポインタを使う。
コピーをするにしても、ndarrayのデータは連続してるのでリストより速くなると思う。
496デフォルトの名無しさん (ワッチョイ 3901-maSS)
2022/10/24(月) 20:57:46.29ID:1daaREig0
初めてvsコードに触ったんだが
pyhtonのバージョンはどうやってわかるんですかねー
教えて偉い人!
497デフォルトの名無しさん (ワッチョイ 0202-TfLj)
2022/10/24(月) 20:57:59.34ID:SgELnO580
flex とか bison は古典芸能ですか?
498デフォルトの名無しさん (ワッチョイ 3901-maSS)
2022/10/24(月) 21:01:12.11ID:1daaREig0
September 2022 (version 1.72)
これのことかな?
すまん。よくわからんw
499デフォルトの名無しさん (ワッチョイ ee10-LzLA)
2022/10/24(月) 21:07:00.51ID:FaCSJwQ/0
>>495
データが連続してるからリストより早いってのはありそう
昔のコード発掘できたら試してみるわ
500デフォルトの名無しさん (ワッチョイ eeb0-72Rk)
2022/10/24(月) 21:58:07.47ID:OQANp5iI0
>>497
今はPEGベースが流行りだね。
501デフォルトの名無しさん (ワッチョイ e933-80Lh)
2022/10/24(月) 22:16:28.14ID:dNNjxJBr0
>>496
右下に表示されてる
そこクリックしたらインタープリターを選択っていうのがでてくる
502デフォルトの名無しさん (ワッチョイ 3901-maSS)
2022/10/24(月) 22:38:27.05ID:1daaREig0
>>501
右下だとこうなります。
imgur.com/a/6CZm37Y
なかなかに初心者には難しいです。
503デフォルトの名無しさん (ワッチョイ 3901-maSS)
2022/10/24(月) 22:44:52.56ID:1daaREig0
あ!できたっぽいw
python3.9.0ってでてきた。
これかな?
504デフォルトの名無しさん (ワッチョイ 02ad-VsiE)
2022/10/26(水) 11:41:31.93ID:IsZcNO330
半島系のクズは皆殺しでOK
日本に来て強姦と窃盗を繰り返す極悪非道の朝鮮人
505デフォルトの名無しさん (アウアウウー Sa45-sGwS)
2022/10/26(水) 15:13:34.34ID:/Jbhrlo+a
>>497
RubyやPHPで使われてるから普通に現役だよ
手書きだとCFGから左再帰の除去だとか
先読みトークン数の問題とかすげー面倒だから
初心者はまずbison使えば良いんじゃないか
506デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
2022/10/26(水) 22:25:06.76ID:HUwfFIwe0
質問です
この引数は普通関数と可変引数ですが
この関数を簡単にする方法ありますか?
5個以上の場合も全部記述するしかないですか?


def connect(F, *x) :
l = len(x)
if l==0 : F()
elif l==1 : F(x[0])
elif l==2 : F(x[0],x[1])
elif l==3 : F(x[0],x[1],x[2])
elif l==4 : F(x[0],x[1],x[2],x[3])
507デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
2022/10/26(水) 22:26:26.51ID:HUwfFIwe0
>>506
消費メモリと消費時間を計測するベンチマークの補助関数としてつかいたいのですが
508デフォルトの名無しさん (ワッチョイ e114-rBY1)
2022/10/26(水) 22:39:31.86ID:Gwv5fEeF0
>>506
F(*x)
509デフォルトの名無しさん (ワッチョイ 0d09-72Rk)
2022/10/26(水) 22:43:13.09ID:HUwfFIwe0
>>508
サンクス
F(x)で駄目だったですが
それでいいんですか
510デフォルトの名無しさん (ワッチョイ 029f-72Rk)
2022/10/26(水) 22:48:38.63ID:1pgEFdE40
python3.11どうですか
511デフォルトの名無しさん (ワッチョイ e933-80Lh)
2022/10/26(水) 23:22:36.27ID:iEeVk++I0
>>509
4.8.5. 引数リストのアンパック
https://docs.python.org/ja/3/tutorial/controlflow.html#unpacking-argument-lists
512デフォルトの名無しさん (ワッチョイ e933-80Lh)
2022/10/26(水) 23:24:41.91ID:iEeVk++I0
ていうかFって
513デフォルトの名無しさん (ワッチョイ 6ebb-oPuq)
2022/10/26(水) 23:32:56.52ID:3tunJph20
すべてが…
514デフォルトの名無しさん (ブーイモ MMa2-VsiE)
2022/10/27(木) 00:18:45.07ID:F/o6kN8OM
韓国人は強姦魔
処刑すべし!
515デフォルトの名無しさん (ワッチョイ ee89-LP1i)
2022/10/27(木) 00:19:10.85ID:H28rwqsV0
>>508
ウホッありがとな※
516デフォルトの名無しさん
2022/10/27(木) 22:55:12.85ID:5KytWWZZ
FastAPI気軽に使えて良いわ
自動で/docs作られるからUI作んの完全に後回しにできる

ついでにSQLModelも、と思ったけどrelationship周りがエラー出たり出なかったりおかしかったが原因がわかった
SQLAlchemyのバージョンが最新のものだrelationshipが効かない、1.4.35だといける・・
あとCRUDの並行処理は無理ぽいかも。
これらさえなければ個人でさくっとお気軽にウェブアプリ作るフレームワークとして完璧なんだが
517デフォルトの名無しさん (ワッチョイ 029f-72Rk)
2022/10/27(木) 23:14:24.71ID:9zZ/mg550
tortoiseはどうですか
518デフォルトの名無しさん (ワッチョイ 02ad-VsiE)
2022/10/28(金) 00:04:09.43ID:aYQ1muJl0
ちょんだらけw
519デフォルトの名無しさん (ワッチョイ 7185-Bggx)
2022/10/28(金) 01:57:08.28ID:dcIx+1f70
>>516
https://fastapi.tiangolo.com/tutorial/sql-databases/
ユーザじゃないけどこれ読んだかぎりセッションを自前で管理してないからじゃ
仕組みは用意してないと書いてる
520デフォルトの名無しさん (ワッチョイ 02ad-VsiE)
2022/10/28(金) 08:27:01.13ID:aYQ1muJl0
ちょんてさ、半島に帰れば差別されないのに絶対に半島に帰らないよね?

それは、日本が平和で豊かで、
日本人はみな親切だからです。

なのにちょんは差別されてると妄想をいだいて
日本人女性を強姦しまくってる!

ちょんは皆殺しにするしかない!
521デフォルトの名無しさん (ワッチョイ 02ad-VsiE)
2022/10/28(金) 08:47:10.38ID:aYQ1muJl0
半島に絶対帰らないちょんw
日本人は犯罪者に親切し過ぎる!
522デフォルトの名無しさん (アウアウウー Sa45-HQ97)
2022/10/28(金) 09:16:34.07ID:lPPjHZ9qa
発作か
523デフォルトの名無しさん (ワッチョイ 8263-UuoP)
2022/10/28(金) 10:42:02.56ID:6fPFyEs10
統一教会が追い詰められてきたから焦ってるんだろ
524デフォルトの名無しさん (ワッチョイ 9109-iO6U)
2022/10/30(日) 03:06:48.95ID:9F5gJDkR0
Python初心者ですが新事実を発見しました
クラスのメンバ変数はデフォルト値が設定してあっても
コンスタントラクタで初期化しないかぎり、別に生成したクラスobjと共有されてるようです
リストとか特定の変数限定かもしれないですが
525デフォルトの名無しさん (ワッチョイ 9109-iO6U)
2022/10/30(日) 03:14:13.07ID:9F5gJDkR0
具体的にこれですが


class A :
L = []
def __init__(self): pass

class X :
L = []
def __init__(self): self.L = []

a = A()
a.L.append(7)
b = A()
print(b.L) # 新規生成なのに値が入ってる

a = X()
a.L.append(7)
b = X()
print(b.L) # 正常
print(a.L) # 正常
526デフォルトの名無しさん (ワッチョイ 8bbb-T9F3)
2022/10/30(日) 04:02:03.41ID:2IVXofav0
それはメンバ変数でなくてクラス変数だからだよ
527デフォルトの名無しさん (ワッチョイ 9109-iO6U)
2022/10/30(日) 04:51:48.91ID:9F5gJDkR0
そういうことか

Pythonでクラス変数とインスタンス変数を取り違えてハマった
https://qiita.com/7shi/items/d37493c58a8bb8d7beed
528デフォルトの名無しさん (ワッチョイ 13ad-ww+g)
2022/10/30(日) 05:37:36.99ID:q24pCrd50
韓国人は神さま!
全財産を寄進せよ!
マンセー!
529デフォルトの名無しさん (テテンテンテン MMeb-kKgp)
2022/10/30(日) 07:07:55.87ID:PYm3clPCM
>>525
pythonから入った者には
そらそうだろとしか思わないw
たぶんオレは他言語扱えないな
530デフォルトの名無しさん (ワッチョイ 1301-pRvw)
2022/10/30(日) 07:49:05.29ID:2N6ePwSn0
他の言語でも同等の機能を持つものはあるけどpythonはどちらの変数なのかを明示しないから混乱し易い
531デフォルトの名無しさん (ワッチョイ 7b66-gj4s)
2022/10/30(日) 07:56:11.62ID:WAC/PohS0
どっちも同じに見えるのはその方が便利だと思ったんだろうか
必要なら使う側で見分け付くように名前を付ければいいという柔らか運用
532デフォルトの名無しさん (ワッチョイ 1301-pRvw)
2022/10/30(日) 08:30:50.67ID:2N6ePwSn0
>>531
> どっちも同じに見えるのはその方が便利だと思ったんだろうか
変数宣言をしないって言うポリシーなので最初に使った場所で決めるようにした/せざるを得なかったじゃないかなって思ってる

> 必要なら使う側で見分け付くように名前を付ければいいという柔らか運用
使う側はそれでいいけど宣言する人が勘違いしてたら意味ないわけで...
533デフォルトの名無しさん (ワッチョイ 1379-87TA)
2022/10/30(日) 08:44:46.72ID:YV/Jz1Xt0
つい最近同じように、クラスを覚えようと
「python class」でググった一番上のサイトにやられた

https://camp.trainocate.co.jp/magazine/python-class/

クラス変数もインスタンス変数もめちゃくちゃだった
534デフォルトの名無しさん (ブーイモ MM8d-T9F3)
2022/10/30(日) 08:51:51.63ID:KYgyTmU4M
クラス変数をself.でアクセスしない運用にすれば取り敢えず解決
535デフォルトの名無しさん (JP 0He5-3A4z)
2022/10/30(日) 08:58:13.36ID:ejVjSPjsH
self.__class__.foo
self.FOO
536デフォルトの名無しさん (ワッチョイ 1389-rDGy)
2022/10/30(日) 11:40:59.42ID:0ss8sts10
質問です。
requestsを使って画像をダウンロードする時、
一定のサイズ以下の物をダウンロードしないようにしたいです。
どのようにするといいでしょう?
537デフォルトの名無しさん (テテンテンテン MMeb-kKgp)
2022/10/30(日) 12:00:39.70ID:Ofy0PT2CM
>>536
どうすればいいって
自分で質問して自分で答え言ってるじゃん
538デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/10/30(日) 12:02:51.23ID:o3zlfJHfa
streamを有効にして、ちびちびと確認しつつ取得
539デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/10/30(日) 12:03:47.95ID:o3zlfJHfa
事前にわかってりゃその時点で止めればいいけどね
540デフォルトの名無しさん (ワッチョイ 1389-rDGy)
2022/10/30(日) 12:10:52.74ID:0ss8sts10
>>539
つまり一度ダウンロードしてからcv2等でサイズを確認し、
OKならリネームして保存、NOなら削除
という感じでしょうか?
541デフォルトの名無しさん (ワッチョイ 7b66-gj4s)
2022/10/30(日) 12:28:08.24ID:WAC/PohS0
そうでないことは質問者なんだから判ってるだろうに
542デフォルトの名無しさん (ワントンキン MMd3-+Dbv)
2022/10/30(日) 12:37:02.73ID:0WCgMjCVM
requests ファイルサイズってググれば一番上に出てくる
543デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/10/30(日) 12:37:56.59ID:o3zlfJHfa
サイズって、実データのサイズじゃなくて画像のピクセル数とか色のサイズってこと?
544デフォルトの名無しさん (JP 0He5-3A4z)
2022/10/30(日) 12:41:23.93ID:ejVjSPjsH
画像のサイズっていう文脈なら俺はim.sizeとかを想定するなー
request文脈なら容量のサイズだけどな!
545デフォルトの名無しさん (ワッチョイ 1389-rDGy)
2022/10/30(日) 12:41:44.93ID:0ss8sts10
すいません。
質問の仕方がまずかったです。
画像の横幅とか縦幅の方のサイズのことです。
横幅350px以下の画像をダウンロードする時に除外したいのです。
546デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/10/30(日) 12:46:32.71ID:o3zlfJHfa
まあフォーマットによっては頭だけ読めばわかるけど…
547デフォルトの名無しさん (ワッチョイ 7b66-gj4s)
2022/10/30(日) 12:59:12.74ID:WAC/PohS0
元々はサイズなんか判らん、というプロトコルがあって、
それでは不便だからと建て増しで追加してるから、
判る場合も判らない場合もあるんだよな
判ったとしても嘘をついている場合もある
548デフォルトの名無しさん (ワッチョイ 1389-rDGy)
2022/10/30(日) 13:09:28.80ID:0ss8sts10
>>547
なるほど
そんな事情があるとは知りませんでした。

オンライン上でサイズを調べるのは無理そうなので、
一度ダウンロードしてから仕分けるようにします。

ご迷惑をおかけしてしまいすいません。
ありがとうございました。
549デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/10/30(日) 13:18:51.61ID:XddGgynb0
パッとヘッダ見た感じjpegなら0xA3にWORD値で高さ、0xA5に幅、どちらもリトルエンディアン
pngなら0x10にDWORD値で高さ、0x14に幅、リトルエンディアン
って感じだね
上手くヘッダの一部だけダウンロードして画像サイズを得る関数を作ればトラフィック軽減になるかも?
550デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/10/30(日) 14:39:50.92ID:XddGgynb0
暇だから作ってみたおじさん
https://ideone.com/2Bakfp
551デフォルトの名無しさん
2022/10/30(日) 15:26:12.39ID:VC4EQr6u
デザインパターンのSingletonパターンって必要ですかね・・
結局なんらかのカウンターで一元管理することになりませんか・・
552デフォルトの名無しさん (ワッチョイ 3909-DL5s)
2022/10/30(日) 15:49:28.81ID:Hd1qfqu50
バイトコードってヒープ領域に格納されてvmに渡されるのですか?
553デフォルトの名無しさん (ワッチョイ 1361-4kdC)
2022/10/30(日) 16:53:19.41ID:pkba5bNo0
>>549
ビッグエンディアンね
jpegは画像サイズが含まれるセグメントの位置が固定ではないので決め打ちは危険
554デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/10/30(日) 16:56:31.04ID:40a1nlTva
>>551
使わないほうが良いものである
555デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/10/30(日) 17:24:05.37ID:yaCBWxQaa
>>552
そうです
内部的にはPyCodeObjectという形で実装されています
556デフォルトの名無しさん (ワッチョイ 3909-DL5s)
2022/10/30(日) 17:53:38.94ID:Hd1qfqu50
>>555
ありがとうございます!
557デフォルトの名無しさん (ワントンキン MMd3-1hc3)
2022/10/30(日) 18:13:35.82ID:CDidbViTM
>>524
他言語触ってて
先に型ヒントつけて宣言しとこで同じ間違いしたわ
558デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/10/30(日) 19:10:27.11ID:XddGgynb0
>>553
本当だ逆に覚えてた恥ずかしい
JPEGはサイズ前の5byteが共通っぽかったから>>550ではFF C0 00 11 08を検索するようにしてみたけどFF C0後の3byteは可変っぽいね
そもそも1KB以内にサイズ情報があるかも分からないのか
559デフォルトの名無しさん (ワッチョイ 13ad-ww+g)
2022/10/30(日) 23:05:03.89ID:q24pCrd50
ここは朝鮮人のスレ
チョッパリはくるな!
560デフォルトの名無しさん (ワッチョイ 1363-HLP5)
2022/10/30(日) 23:53:08.68ID:vrlOFY0H0
発作か
561デフォルトの名無しさん (ブーイモ MM33-cv0M)
2022/10/31(月) 14:05:35.97ID:j6J+ogvNM
>>551
なんないよ
562デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 02:33:37.39ID:mmiO/WJW0
不特定の文字・数字・記号、またそれらの組み合わせを意味する表記で記入する方法を教えて下さい

[123456aaaあ井う~〜」
↑みたいなのがあったとして、数字や文字は毎回変わる、場合によっては桁数が変わったりもする
テキストファイル内で上記のパターンの文字列を見つけて、その前の位置で改行を入れるみたいなことをしたいです

イメージですが下記みたいに表して a に代入しておいて
[123456aaa文字] → [%%% ¥¥¥¥¥¥¥¥] or [%(桁数)¥(桁数)]

replace(a,”/n”+a) でテキストファイルを書き換えるようなことって可能ですか?
563デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 02:42:25.93ID:mmiO/WJW0
誤字 /n → \n
564デフォルトの名無しさん (ブーイモ MMeb-cv0M)
2022/11/01(火) 03:36:18.46ID:I1aopbaSM
なるほどわからん
565デフォルトの名無しさん (ワッチョイ 8b10-WE8j)
2022/11/01(火) 08:16:26.34ID:xJk+jZok0
これは煽りではなく真面目なアドバイスなんだが、プログラミングより国語を勉強した方がいい
その言語能力だと難しいと思う
566デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 08:30:28.54ID:mmiO/WJW0
222tq2tq2tq269ああ%64agaoiwahaio.59gagagahai3a.t69a 5>22gahaiiha

この文字列を

222tq2tq2tq269
ああ%64agaoiwaha
io.59gagagahai3a.t69
a 5>22gahaiiha

この出力結果にするにはどうすれば良いですか? なら大丈夫ですかね?
この場合だと「文字列2つ + 記号1つ + 数字2つ」のパターンを見つけて改行したい
567デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/01(火) 08:48:28.70ID:p4TXbqbPa
じゃあそのパターンで改行すれば…
正規表現でいいんじゃないかな
568デフォルトの名無しさん (ワッチョイ 694f-K3KU)
2022/11/01(火) 08:51:40.09ID:CMvcSOEo0
このスレよりも、正規表現のスレで聞けば?
569デフォルトの名無しさん (テテンテンテン MMeb-kKgp)
2022/11/01(火) 09:10:51.89ID:tDs0tp7pM
オホダナー
そうだよオホダヨ~
570デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 09:37:37.84ID:mmiO/WJW0
>>567
その正規表現の表記の方法がよく分からないです

123abcdeあいう

“\d{3}\w*.{3}”

これじゃダメみたいで、どう表記するのが正解なのか分かる方いたら教えて欲しいです
571デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 09:48:17.04ID:mmiO/WJW0
できました。ありがとうございました
572デフォルトの名無しさん (アウアウウー Sa9d-+Dbv)
2022/11/01(火) 10:42:07.10ID:HBYRkZVUa
正規表現の勉強がてらやってみた
https://ideone.com/vPYWtM

最後の1行はマッチしないね
573デフォルトの名無しさん (ワッチョイ 1314-bpsI)
2022/11/01(火) 11:08:19.56ID:mmiO/WJW0
表記自体は合っていたのですが、re.match()でやってたせいで出力されなかったみたいで、re.search()に変えるだけで解決しました
574デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/01(火) 12:13:10.09ID:vww+azZz0
matchは使わずに
search(r'^なにか')
でいいよな
fullmatchは^と$で

^や$を使うなというのであれば、$だけ使うパターンも整備されていないと不完全
575デフォルトの名無しさん (ワンミングク MMd3-g96c)
2022/11/01(火) 16:21:24.69ID:GYf/ELerM
俺は君にマッチしたい※
576デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/01(火) 16:40:02.94ID:1fqXVNhi0
正規表現に関してはrubyやperlみたいに演算子にしてしまうのがベストだと思う
searchだとかmatchだとかregexpだとかmatch_allだとか覚えられんて
577デフォルトの名無しさん (ブーイモ MM33-cv0M)
2022/11/01(火) 17:42:07.83ID:59UjWoGEM
命名とかAPI設計がイケてない
match、search、fullmatch・・・
たまにしか使わない人は諦めて毎回リファレンス参照するしかない
578デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/01(火) 17:59:02.79ID:vww+azZz0
list.append()が破壊的だったかすら忘れてぐぐる
579デフォルトの名無しさん (ワッチョイ 8b89-g96c)
2022/11/01(火) 22:54:57.42ID:w1dGDiRI0
覚えられないのではない
覚えないという選択をしているのだ
覚えるために何か工夫したのか?
580デフォルトの名無しさん (ワッチョイ 9109-iO6U)
2022/11/01(火) 22:55:36.13ID:EqpfaKBX0
イテレータ判定されるのにfor できないんですが
イテレータとはforができるものではないんですか


X = type("")
if hasattr(X, '__iter__') :
for x in X : pass
581デフォルトの名無しさん (ワッチョイ fbe8-Sd0E)
2022/11/01(火) 23:34:09.39ID:yhai460Y0
X(= str)じゃなくXのインスタンスならそう
582デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/01(火) 23:43:36.24ID:vww+azZz0
覚えないといけない時点でおかしい
理解すれば覚えなくていいのが正解

list.append()は破壊的で、str.replace()は非破壊であることに、
合理的な説明は無い
その方が便利なことが多そうだからとか、メモリの都合とか、
一旦そう決めちゃったからとか、そんな理由に過ぎない
583デフォルトの名無しさん (ブーイモ MMdd-YnjT)
2022/11/02(水) 00:26:44.23ID:WNjxQYpUM
list.appendは配列の終わりにつけるだけ
str.replaceは配列の途中に差し込む可能性があるからでは?
メモリ操作のコストが違うじゃん
584デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 00:47:23.04ID:ul/vZuFO0
配列が格納してある後ろに空きスペースがたくさん確保してあるならそうだろうけど
で、コストが実際に違ったとしてもそんなことは知らんがなでしかない
585デフォルトの名無しさん (ワッチョイ 8bbb-T9F3)
2022/11/02(水) 00:58:46.26ID:I1Z+o8fX0
みんな知ってることだけど、listはmutableでstrはimmutableだからだよ。
これでもう各関数が破壊的かどうかいちいち覚える必要はなくなったね!
586デフォルトの名無しさん (ブーイモ MMdd-YnjT)
2022/11/02(水) 01:00:03.55ID:WNjxQYpUM
listはある程度後ろに確保してるしコストが実際に違ったらそれは明確に合理的な理由でしょ
587デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 01:17:00.86ID:jyU6y3CY0
>>585
これ
まあそういうものとして覚えるしかないわけだけど
588デフォルトの名無しさん (テテンテンテン MMeb-kKgp)
2022/11/02(水) 07:59:09.20ID:cbFKoHcVM
べつに目的の物が作れればどうでもいいんじゃないの?
ミッションクリティカルなモノをコレで作ったりするのかな?
589デフォルトの名無しさん (ワッチョイ 9914-lAaw)
2022/11/02(水) 11:06:12.06ID:FQ1wBQnh0
listに後ろとか関係なくない?
590デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 11:21:15.39ID:1xZXeW2Ya
linkedなリストは関係ないよな
連続したメモリに入ってる配列的なやつはアレだけど
591デフォルトの名無しさん (ワッチョイ 9914-lAaw)
2022/11/02(水) 11:39:42.36ID:FQ1wBQnh0
>>590
str との違いも結局これだし
592デフォルトの名無しさん (ブーイモ MM8d-YnjT)
2022/11/02(水) 14:55:39.24ID:VFt43YlcM
pythonのリストはポインタの配列でしょ?
593デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 18:15:12.19ID:1xZXeW2Ya
違います
594デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 18:27:31.11ID:jyU6y3CY0
PyObject*の配列です

PyObject **ob_item; // PyObject*の配列
Py_ssize_t allocated; // アロケートされてる個数
595デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 18:28:55.28ID:jyU6y3CY0
cpythonなソースは読みやすい
596デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 18:42:15.13ID:ul/vZuFO0
0から255までの数字が入った要素数1000の配列があって、
Cだとunsigned char list[1000];
みたいに宣言してlist[i]で参照するとアドレス計算で値を取ってくるけど、
pythonはどうやってるの?
597デフォルトの名無しさん (ブーイモ MM8d-YnjT)
2022/11/02(水) 18:43:56.47ID:4MCwg8YuM
ちょっと調べた限りやっぱりPythonのリストはポインタの配列だと思うんだが違うっていうなら何か教えて
insertの遅さとかで連結リストではないとは思うけど
598デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/02(水) 18:51:59.96ID:wyluLqIy0
>>594が正しい
https://github.com/python/cpython/blob/main/Include/cpython/listobject.h
599デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 18:55:42.08ID:jyU6y3CY0
cpythonのソースはマジで読みやすい
Rubyとかもうぐちゃぐちゃしてて読めねえもん
600デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 19:05:34.74ID:jyU6y3CY0
実際の配列のサイズはPyObject_VAR_HEADマクロのob_sizeに入ってる
601デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:12:23.01ID:1xZXeW2Ya
>>597
別になんでもいいんです
602デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/02(水) 19:14:41.69ID:5K2+hbiBa
答え書かれてるのに全く分かってなくて草
603デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:30:34.65ID:1xZXeW2Ya
大学行くと実装と仕様の区別がつくようになるかも?
604デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/11/02(水) 19:31:01.29ID:l50Y39h10
>>594
つまりポインタの配列
605デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 19:31:44.66ID:ul/vZuFO0
listにappendすると、ポインタの配列の末尾にポインタが追加される
配列のサイズが変わるので、サイズを増やした配列を作ってコピーしないとできない
筈なのに、idを調べると変わらない

**ob_itemに入ってる値は変わるけど、**ob_item自体のアドレスは変わらない
ということ?
606デフォルトの名無しさん (ワッチョイ f102-+Dbv)
2022/11/02(水) 19:33:58.87ID:l50Y39h10
組み込みだから作り直した配列にidがコピーされてたり
607デフォルトの名無しさん (ワッチョイ fbe6-Sd0E)
2022/11/02(水) 19:36:39.11ID:oCOyjRuB0
VM上は指すオブジェクト変わってないのにid変わったらあかんでしょ
608デフォルトの名無しさん (ワッチョイ 1379-87TA)
2022/11/02(水) 19:40:00.28ID:rAnbDRgM0
適当にリンクリストあたりかと思ってた
609デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 19:40:29.11ID:ul/vZuFO0
appendしても同じオブジェクトという時点で違和感があるんだよな
明らかに別物やん

仮にappendが非破壊で
list = list.append()
とした時にidが変わる方が納得できる
610デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/02(水) 19:40:29.75ID:5K2+hbiBa
>>605
逆だよ
ob_item自体は大きさが変わる時にreallocでアドレスが変わるけど
中身の方はポインタをコピーするだけだから変わらない
611デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:42:07.37ID:1xZXeW2Ya
>>597
違うって理解できた?
612デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/02(水) 19:51:27.03ID:5K2+hbiBa
>>609
そもそもが全部Cで実装されてるんだからそういうメモリモデルなんだ、という理解で良いと思うよ
613デフォルトの名無しさん (ブーイモ MM8d-YnjT)
2022/11/02(水) 19:53:06.08ID:4MCwg8YuM
>>611
あなたは何もわかってないのは理解できました
614デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/02(水) 19:57:27.92ID:1xZXeW2Ya
>>613
わかんない?
違うよ
どんどん主張が後退するんじゃねえかなという期待の下、繰り返すけど
615デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 21:11:39.58ID:CsBXjP5R0
リンクリストはリスト的なものを作るときに第一の選択肢としてはこないと思うよ。
任意の要素へのアクセスがO(n)かかるから。
必ず頭から順番に読んで、途中に挿入したいことが多いとかいう状況だったら使うけど、こういう特性を、癖があると思う人の方が多いんじゃないかな。
そういうコンピュータサイエンスの初歩みたいなところの実装が気になるなら、Javaを勉強してみるといいかもね。
リストも辞書もセットも、複数の実装方法が標準で用意されてて明示的にどれを使うか決めなくちゃいけないから。
そう考えると初心者にJava教えてた頃ってコレクションで付いていけなくなり勉強を諦めた人多いんだろうか。
616デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 21:16:31.46ID:CsBXjP5R0
>>609
夕飯を食べる前の自分と食べた後の自分は別のインスタンスか?って問いにyesと答えられるならばイミュータブルなものにしかidを付けてはいけないと考えているのだろう(そういう言語もある、Haskellとか)
そうでなければ、ミュータブルなインスタンスはミュータブルなんだからidが同じでも中身は変化すると考えるべきだろう
617デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 21:22:30.41ID:jJasVlr90
idってCでのアドレスそのものなんでしょ
実装の都合でアドレスが変わったらidも変わるというだけの話で、
何らかのポリシーみたいなものは背景に無いような
618デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 21:30:55.81ID:CsBXjP5R0
>>617
CPythonではな。(すみません知りませんでした)
しかしGCがかかりまくるVM上で動くPythonの実装もあるから、CPythonではそうっていう認識に留めておいたほうがいいんじゃないかなあ。
619デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 21:42:19.23ID:2orW5ow60
idが変わる/変わらないとミュータブル/イミュータブルは一対一対応?
620デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/02(水) 22:06:28.39ID:CsBXjP5R0
>>619
まず、イミュータブルというのをどう定義するかによると思うけど
(タプルはイミュータブルだが、タプルの中にリストを入れた場合、リストほミュータブルで、リストに変更を加えてもタプルのインスタンスが新しくできるわけではない)
そういうややこしい例を除いても、
イミュータブルならば、値を変えたらidが変わる
値を変えてもidが変わらないならミュータブル
しか言えないんじゃない?
621デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 22:13:30.31ID:F9kh54e50
定義や実装で何がミュータブルかがころころ変わってはいけなくて、
pythonではどんな環境でも同じものがミュータブルであるべき

で、idが変わる/変わらないが環境依存ならば、idとミュータブルは関係ないことになる
622デフォルトの名無しさん (ワッチョイ d9f0-5cND)
2022/11/02(水) 22:18:06.81ID:jyU6y3CY0
わけわからん
623デフォルトの名無しさん (ワントンキン MMd3-+Dbv)
2022/11/02(水) 22:20:05.72ID:yCeW62XuM
pythonの辞書ってc++のmapと違って内部でソートされてないからアクセス遅いっぽいんだよね
keysで取り出しても登録した順だし
文字列でも数値でもキーにできるからそういうものなのか
624デフォルトの名無しさん (ワッチョイ 1379-87TA)
2022/11/02(水) 22:50:50.14ID:rAnbDRgM0
>>615
最後尾への追加削除がO(1)だったからリンクリストだと思ったけど
リアロケートの実装でどうにかそれっぽくなるんだねぇ
全く気にしてなかったけど、勉強になったわ
625デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/02(水) 22:58:46.37ID:P6hHm0TD0
ループで一つずつappendしていくようなコードは、
溜めておいて一気にどーんで高速化できそう
626デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/02(水) 23:13:03.99ID:Vdzb0Lkj0
Elixir なんて片方向リストだから、先頭の要素の追加・削除のみ速い。
末尾では全要素をたどる

Ruby は両方向リストだったかな?
627デフォルトの名無しさん (ワッチョイ 8b10-WE8j)
2022/11/02(水) 23:41:13.42ID:d827SSNz0
>>623
pythonの辞書は順番を保持することが仕様で規定されてる
628デフォルトの名無しさん (ワッチョイ 8b89-g96c)
2022/11/03(木) 00:20:58.38ID:gcHdWorI0
3年くらい前からだっけ?
キーバリューやから順番気にしたことなかったわ
629デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/03(木) 00:37:59.14ID:vWeFXHff0
順番が同じだとセキュリティの問題があるから意図的にランダムにしてなかったっけ
630デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/03(木) 00:45:24.21ID:9oLRzF140
>>624
C++のvectorとか、JavaのArrayListの典型的な実装だと、リアロケートが発生するときに倍ぐらいの領域を予め確保しておく、ってのが普通って読んだな
コードレベルで読んだ訳じゃないから確たるエビデンスがあるわけじゃないけど。
631デフォルトの名無しさん (ワッチョイ 7997-uk66)
2022/11/03(木) 00:49:20.51ID:9oLRzF140
辞書は3.5だかそのぐらいで入れた順になるように仕様が決まったよね
それまではバラバラだったはず
あとソート済みが欲しいならsortedcollectionsがあるんじゃないの
Pythonでパフォーマンス気にするようなコード書いたことないから速くなるかは知らないが
パフォーマンス気になるならもう普通にpybind11よ
632デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/03(木) 01:13:09.17ID:t2qUW0n10
動的配列は償却計算量の典型例だぞ
633デフォルトの名無しさん (ワッチョイ 13ad-ww+g)
2022/11/03(木) 09:06:43.51ID:b87ZSO0X0
半島人w
634デフォルトの名無しさん (ワッチョイ 9397-pRvw)
2022/11/03(木) 13:19:41.92ID:M31+WIXk0
ネトウヨはコードすら書けない
635デフォルトの名無しさん (ワッチョイ 692c-3A4z)
2022/11/03(木) 17:39:13.22ID:JzcJhjtx0
isPrime(n: int):
__for i in range(2, n//2 + 1):
____if (not n%i):
______return 0
__return 1

numPrimes = 0

for i in range(2, 250001):
__numPrimes += isPrime(i)

print(numPrimes)

cとかだと5秒以下で終わると思うんですが
pythonではどうやって高速化できますか?
636デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/03(木) 17:50:53.27ID:6cc1wOit0
全角スペースでインデントするといい
637デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/03(木) 17:57:37.28ID:t2qUW0n10
エラトステネスの篩みたいなまともなアルゴリズムを使え
638デフォルトの名無しさん (ワッチョイ 1302-4ham)
2022/11/03(木) 18:05:57.27ID:pngFKRCN0
>>635
range(2, n//2 + 1) を range(2, int(n**0.5)+1)
にするだけで速くなると言うのは違うか。

n**0.5 は math を import するのが面倒だっただけ。。。
639デフォルトの名無しさん (アウアウウー Sa9d-5cND)
2022/11/03(木) 18:12:13.51ID:Tny9BBIXa
しょーもないネタ振り
640デフォルトの名無しさん (JP 0He5-3A4z)
2022/11/03(木) 18:58:51.96ID:Ppt07bQPH
>>637
言語間の速度差を埋めたいという文脈で
片方により効率的なアルゴリズム使えというのは筋が違うと思う
それやったら相手のCも早くなるやん
641デフォルトの名無しさん (ワッチョイ 8b46-g96c)
2022/11/03(木) 19:15:26.76ID:t2qUW0n10
それはそうだけどPythonをできるだけ速くしようというのは徒労に終わるんだよな
642デフォルトの名無しさん (ガックシ 06eb-lAaw)
2022/11/03(木) 19:17:29.83ID:5fumPTTR6
>>635
allかanyか使う
643デフォルトの名無しさん (ワッチョイ 1301-pRvw)
2022/11/03(木) 19:45:13.49ID:NbsIPyEs0
>>640
> 言語間の速度差を埋めたいという文脈で
そうか、単にPythonで高速化したいだけに見えるけど?

> pythonではどうやって高速化できますか?
644デフォルトの名無しさん (ワッチョイ c108-UToK)
2022/11/03(木) 20:09:45.07ID:6A5YXZlC0
>>635
sympy.isprime()
645デフォルトの名無しさん (ワッチョイ c108-UToK)
2022/11/03(木) 20:13:41.27ID:6A5YXZlC0
>>635
そもそもこのプログラムは一行で済む
print(sympy.primepi(250001))
646デフォルトの名無しさん (ワッチョイ d347-gj4s)
2022/11/03(木) 20:16:42.18ID:gDosIilW0
SymPy無いさー
647デフォルトの名無しさん (ワッチョイ 11da-++bF)
2022/11/03(木) 22:42:51.75ID:qK/YTuYk0
Numpyさぁ
648デフォルトの名無しさん (ワッチョイ c1b0-ee5o)
2022/11/04(金) 11:06:17.40ID:RgN4dMLC0
公式のドキュメント読むと
「pip は推奨されるインストーラ・プログラムです。 Python 3.4 からは、 Python バイナリ・インストーラに最初から付属するようになりました。」
とか見るけど、触る環境どれも最初からインストールされてた試しがなくて手動インストールばっかなんだが
649デフォルトの名無しさん (ワッチョイ 7933-MTQz)
2022/11/04(金) 11:16:46.46ID:+Vzk9d850
>>648
どこのバイナリインストーラ使ってるの?
650デフォルトの名無しさん (アウアウウー Sa9d-mHKc)
2022/11/04(金) 11:23:08.55ID:eh042CP4a
>>648
たぶん入ってるけど実行ファイルのパスが通ってないんだよ
651デフォルトの名無しさん (ワッチョイ 39e0-Sd0E)
2022/11/04(金) 11:26:42.20ID:iSP9CUI40
debianとかはOSのスクリプトを実行するための環境なので
最小限になるようパッケージが分かれている
不便にみえるけどユーザが使う場合はパッケージ外で導入した方が
特定のバージョンも好きにえらべてシンプル
652デフォルトの名無しさん (ワッチョイ 694f-hZr9)
2022/11/04(金) 13:14:21.89ID:xdVLdIYL0
npm/yarn, Ruby のbundler などは、デフォルトでコマンド実行できるけど

多分これらは、デフォルトで環境変数PATH にあるフォルダにインストールされるのだろう
653デフォルトの名無しさん (ブーイモ MMdd-uk66)
2022/11/04(金) 19:16:21.95ID:7+yqrzWjM
>>648
python -m pipするのが安全やで(pipコマンドだと、複数バージョン入ってると意図したpythonに紐づいてないpipが実行される場合がある)
654デフォルトの名無しさん (ワッチョイ f568-Cw2/)
2022/11/05(土) 21:26:42.31ID:MH3sXGrP0
pythonつかって紙に書いた文字判別するとかって簡単にできますか?
655デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/05(土) 21:34:23.73ID:7lAZ3AaJ0
簡単だけど有料
656デフォルトの名無しさん (ワッチョイ f568-Cw2/)
2022/11/05(土) 21:51:22.37ID:MH3sXGrP0
>>655
無料のライブラリなんかありませんかね?無いんなら諦めます
657デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/05(土) 21:58:26.55ID:yxkEcNx60
>>654
判別とはどういうことをしたいのかよくわからんけどとりあえず python ocr とかでぐぐればいいんじゃね?
https://gammasoft.jp/blog/ocr-by-python/
658デフォルトの名無しさん (ワッチョイ 9263-zlm6)
2022/11/05(土) 21:58:41.35ID:j6cTC8iG0
自分で無料ライブラリーを作る、しか
659デフォルトの名無しさん (ワッチョイ f568-Cw2/)
2022/11/05(土) 22:07:24.17ID:MH3sXGrP0
>>657
ありがとうございます!
660デフォルトの名無しさん (ワッチョイ d204-ocuO)
2022/11/06(日) 18:38:56.63ID:hWJeexFN0
pythonでなんかかっこいいことがしたいです
でもやることが見つかりません。どうしたらいいですかね
今までポイントサイトをseleniumで自動化したりdiscordのbot作ったり動画編集自動化したりしてきたんですが先というか続きが見えません
661デフォルトの名無しさん (ワッチョイ b6e8-Dn6t)
2022/11/06(日) 19:03:47.89ID:tSvQZNnX0
PyPIザッピングして良さそうなモジュールみつけてかっこいい応用を書く
662デフォルトの名無しさん (ワッチョイ 6502-76so)
2022/11/06(日) 19:05:44.66ID:A20KyXoS0
ラズパイでIoT
リアルの物を動かせると、やれる事の幅が広がるよ
663デフォルトの名無しさん (ワッチョイ debb-URwm)
2022/11/06(日) 19:13:43.26ID:hyDfi3PG0
>>660
壁に落書きしてくるのがかっこいいと思ってるんなら大間違いだわw
664デフォルトの名無しさん (ワッチョイ d204-ocuO)
2022/11/06(日) 21:07:15.95ID:hWJeexFN0
PyPIで良さそうなモジュール見つけるってどうやるの?
PyPI サイト見てtrend moduleみたいなの適当に選んで説明見ても詳しい使い方がわからない
665デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/06(日) 21:15:54.96ID:2BZA6H+N0
電子工作もそうだけど、環境は整いすぎに整ってて、やりたいことがあれば何でもすぐにできる
でもやりたいことが見つからない

さてはみんな環境を整えることを目的にしているな
666デフォルトの名無しさん (テテンテンテン MM96-xcLn)
2022/11/07(月) 06:48:18.34ID:E9VDXcWoM
アホな質問だな~
まずやりたいことがあって、それからツールを探すものだろ
667デフォルトの名無しさん (アウアウウー Sacd-ocuO)
2022/11/07(月) 08:02:58.71ID:jFHCFA25a
その通りだけどやりたいことが見つからないんだわ
もしかすると勉強からの逃避のためにプログラミングという逃げ場を作りたいのかもしれない。やりたいことが自然と出てきたらやることにするよ
668デフォルトの名無しさん (テテンテンテン MM96-xvRb)
2022/11/07(月) 08:09:59.84ID:nVmoLWqcM
遠回りの人生それも人生
669デフォルトの名無しさん (ワッチョイ b110-o+MF)
2022/11/07(月) 10:49:11.04ID:vghVm0yU0
巨大数の実数計算は最先端だぞ。
670デフォルトの名無しさん (ワッチョイ b5da-D+ul)
2022/11/07(月) 14:36:29.74ID:ns7213lX0
>>654
EasyOCR は?
pytorch必須だが
671デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/07(月) 14:48:18.41ID:a5k3bCTy0
使い物になるOCRはみんなAIで有料なんだよな
客はDXしたい企業だから高い
672デフォルトの名無しさん (ワッチョイ b6e8-Dn6t)
2022/11/07(月) 15:15:22.15ID:dmSTAQ160
料金みたことある?業務で考えたらめちゃ安いとおもうが
673デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/07(月) 15:26:05.72ID:kmERiYaX0
有料OCR知ってる俺スゲー君なんて相手にすんなよ...
674デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/07(月) 15:26:54.13ID:a5k3bCTy0
OCRしたい書類なんて有限だから、あらかた終わったら需要が無くなる
そしたらgoogle様が無料開放してくれる筈
675デフォルトの名無しさん (ワッチョイ 8101-wRrB)
2022/11/07(月) 15:41:01.53ID:rtBnyCPM0
Pythonが「メインの利用言語」で2位にとどまる、1位に立ったのは定番のあの言語
https://xtech.nikkei.com/atcl/nxt/column/18/02246/110200002/
676デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/07(月) 15:51:46.76ID:a5k3bCTy0
AIだから教育が必須で、それなりにコストがかかる
こんなもんは公共事業で、どこかが代表してやって、コスト回収できたら無料化する
各国で自分のとこの言語についてやるのが筋だけど、
どうせ日本はやらないのでgoogleがやる
677デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/07(月) 16:22:49.11ID:a5k3bCTy0
似たようなので、音声からテキストへの変換も金かかる
あれが無料で出来たら過去の膨大な音声や動画の資料が検索したり分析可能になって、
文化が大きく前進するだろうに金がブレーキかけてる
国の事業としてやれば一人頭の負担なんて微々たるものなのに
678デフォルトの名無しさん (ワッチョイ b5da-D+ul)
2022/11/07(月) 16:28:42.14ID:ns7213lX0
この夏whisperが公開されたやろ?
679デフォルトの名無しさん (ワッチョイ f666-GkOZ)
2022/11/07(月) 16:32:21.66ID:a5k3bCTy0
そんなのあったのか
マスク様々やな
680デフォルトの名無しさん (ワッチョイ b18e-ly3j)
2022/11/07(月) 16:46:46.72ID:6QND4EcV0
>>675
Rubyオワコン
681デフォルトの名無しさん (ワッチョイ 5e10-OKK8)
2022/11/07(月) 21:52:40.91ID:J6xutGri0
>>677
つまり文字起こし言いたいんだろ?
なんかクソ認識悪いAPIだったら何かあった気がする
682デフォルトの名無しさん (ワッチョイ 12ad-6Mf9)
2022/11/08(火) 10:16:17.14ID:gvBOR9qA0
半島系帰化人は強姦魔ばかり
死ねよクズ帰化人!
683デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/08(火) 11:03:03.92ID:NJ3yWFAyM
何でこのスレで暴れてるんだよ
684デフォルトの名無しさん (ワッチョイ 9263-zlm6)
2022/11/08(火) 11:17:25.58ID:Z/fTsurM0
壊れちゃったんだろ
685デフォルトの名無しさん (アウアウウー Sacd-Z1Pq)
2022/11/08(火) 14:10:32.60ID:SId0EMb3a
ランダムに書き込んでるbotだよ
686デフォルトの名無しさん (ワッチョイ 5e63-xcLn)
2022/11/08(火) 19:27:53.62ID:h+Zmgne00
有料と言ってもgoogleAPIってかなり安いと思うんだけど
手持ちの本数十冊OCRして1,000円いかなかった気がする
687デフォルトの名無しさん (ワッチョイ b11d-rPWN)
2022/11/09(水) 17:03:12.36ID:a7tugATP0
某有名ゲーム会社で働いてる友人が、「Pythonではあまりクラスを使うべきではない。
それほど高度なプログラムでなければ関数を使えばいい」と言っていたんですが、
そうなんでしょうか?
皆さんの意見を聞かせて頂きたいです
688デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/09(水) 17:08:46.66ID:F89FAkjE0
関数でできればいいけど、引数たくさん渡したり、グローバル変数で渡してたり、
みたいな汚いことするくらいならクラスがいい
689デフォルトの名無しさん (ワッチョイ 1997-OSgl)
2022/11/09(水) 17:30:19.69ID:PaG6ZUsK0
Javaのようになんでもかんでもクラスを作る感じじゃないというのは事実。
でも、dataclassとかnamedtupleとかは使うかな。
とはいえやることによると思う。
690デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/09(水) 17:30:52.94ID:ugvw1ns9a
状態を持つオブジェクトを扱うならクラスは必然なのでは
691デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/09(水) 18:12:18.95ID:uDSXzENKM
pythonはメンバ変数にself必須なのがダルい
メインプログラムまでクラス化する必要はないと思う
規模が小さければモジュール変数をグローバル変数のように使うのが便利
vscodeならインテリセンス利くし
692デフォルトの名無しさん (ワッチョイ 5e46-1KES)
2022/11/09(水) 18:40:16.27ID:cOB3Ubn30
>>687
プログラム水準(?)の高低でなく、実行速度の遅速でそう言われるのを聞いたことはある。大昔ね。
事実かは知らぬ。
693デフォルトの名無しさん (テテンテンテン MM96-xcLn)
2022/11/09(水) 18:59:13.95ID:2JAkKfpeM
>>687
使うべきでない理由をなぜ聞かなかったのか?
それを書けば話は終わる
君の友人ほどスキルのある人はここにはいないからな
694デフォルトの名無しさん (ワッチョイ 5e89-AYzQ)
2022/11/09(水) 20:24:05.09ID:FPtq7UfL0
>>687
必要になるまで不要なもので汚すな
シンプルに書けってことかと
695デフォルトの名無しさん (テテンテンテン MM96-xvRb)
2022/11/09(水) 20:51:46.35ID:yZGUhxlRM
>>691
だなselfを二文字くらいの別名に出来ないのかな?
696デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/09(水) 20:56:49.26ID:F89FAkjE0
perlから来たからselfは当たり前だと思ってる
697デフォルトの名無しさん (ワッチョイ 7992-Dn6t)
2022/11/09(水) 21:06:27.04ID:EoOj57gu0
開発者間で同意取れるなら
ただの関数の引数だから好きに変えられはする
698デフォルトの名無しさん (ワッチョイ 9201-obsI)
2022/11/09(水) 21:10:50.26ID:5c+x4O200
>>687
理由を示さないお作法は無視していい
699デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/09(水) 21:21:40.38ID:uDSXzENKM
グローバル変数用のファイルを作ってas gでインポートってのをqiitaで見たけどかなり便利
g.nameみたいにアクセスする
700デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/09(水) 21:30:42.42ID:F89FAkjE0
それは他に影響しないというだけで、グローバル変数の欠点は何も解決しない
作って使ってすぐ捨てるならいいけど、保守が必要なら時間かけてシンプルにしとかないと
701デフォルトの名無しさん (ガックシ 0696-hUUh)
2022/11/09(水) 21:48:48.07ID:dM0Gb0+w6
>>695
すればいいじゃん
702デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/09(水) 21:57:03.34ID:uDSXzENKM
グローバル変数はプログラム全体を通した設定値とかに使うもんじゃない?
それこそメインプログラムにとってのselfよ
変に引数取りまくるより可読性高いと思う
規模にもよるんだろうけど
703デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/09(水) 22:03:03.05ID:F89FAkjE0
configを読んでグローバルに格納してmain()を呼ぶ
みたいな作りになってるのが多い
うちのスクリプト
704デフォルトの名無しさん (ワッチョイ 7992-Dn6t)
2022/11/09(水) 22:10:05.03ID:EoOj57gu0
設定値の保持ならぜんぜんOK
状態を丸見えで管理できないとこに置くなってことでしょ
705デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/09(水) 22:13:24.86ID:F89FAkjE0
関数の中に下請け関数があって、
なんかごちゃごちゃしてきたからリファクタリングだと外に出したらスコープから外れたので、
じゃあみんなグローバル化したれ、みたいにglobal付けて誤魔化す
706デフォルトの名無しさん (ガックシ 0696-hUUh)
2022/11/09(水) 22:23:48.43ID:dM0Gb0+w6
せめてconst できればいいのに
707デフォルトの名無しさん (ワッチョイ 927e-THRA)
2022/11/09(水) 23:03:08.26ID:a3eCQ+jX0
>>687
どうせ、いたずらにclassを多用したゴミトランプゲームを
見せたんだろ?いつまでも練習だからって言って、設計もしないで
ゴミコードを見せ続けるから嫌われかけてるんだよ。
708デフォルトの名無しさん (ワッチョイ 5ecf-o+MF)
2022/11/10(木) 00:21:13.04ID:8bOle1Do0
クラス化するのは、言語のタイプやプロジェクトの規模ではなくて
データ同士の相関を元に、見通しをよくすることが目的だと思う
あるいは自分用ライブラリとしてカプセル化しておきたいとか
そういう話を置いて、やらない方がいいレベルの問題があるのかw
709デフォルトの名無しさん (ワントンキン MM62-AYzQ)
2022/11/10(木) 00:21:46.71ID:a0I25TkAM
>>687
理由を示せないお作法は取るべきでない
710デフォルトの名無しさん (ワッチョイ b5da-D+ul)
2022/11/10(木) 00:24:11.32ID:KkTOa1Su0
>>687
おまいは友人に言われた事を何でも信じるのか?
この洗剤飲めるの。by アム・○○ぃ
711デフォルトの名無しさん (ワッチョイ 9263-zlm6)
2022/11/10(木) 00:27:36.22ID:OBeQnBIU0
匿名掲示板で聞いて得た答えを信じるというのもどうかと思う
712687 (ワッチョイ b11d-Cw2/)
2022/11/10(木) 00:32:26.74ID:ofaAiG0L0
レスしてくれた皆さんありがとうございます
参考にさせて頂きたいと思います

>>689
CUIの簡単なカードゲームではどうでしょうか?

>>693
失礼しました
曰く「クラスを下手に使わない方がコードが無駄に複雑にならなくてよい」
からだそうです

>>694
まさにそんな感じです

>>698
ちょっと彼に悪いかなって…

>>707
ゴミときたもんだ
彼の人柄はそんな感じじゃないよ
713デフォルトの名無しさん (ワッチョイ 6905-pSqO)
2022/11/10(木) 10:45:10.57ID:S46ME7RY0
ねえ、openpyxlとかでオンライン上のExcelファイルを修正できないの?
714デフォルトの名無しさん (ワッチョイ b6e8-Dn6t)
2022/11/10(木) 10:49:29.30ID:+lvrwnnZ0
どこかのクラウド(どこ?)に置いたファイルの意味なのか
Office365で作成したファイルなのか
715デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/10(木) 11:02:13.25ID:ci7p4+PJa
どっちにしても手元に持ってこないと厳しいんじゃないかねえ
716デフォルトの名無しさん (ブーイモ MMb2-bOnd)
2022/11/10(木) 11:46:55.13ID:rDE3wZvsM
関数とクラス両方使えるのがpythonのメリットなのだから、常に適切な方を選べってことじゃないかと。
717デフォルトの名無しさん (ブーイモ MMb2-bOnd)
2022/11/10(木) 11:47:43.94ID:rDE3wZvsM
>>695
好きな名前をつけていいのよ。meとか
718デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/10(木) 13:09:31.60ID:ci7p4+PJa
abcを使わないとできんことはあまりやりたくないねえ
719デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/10(木) 13:26:04.03ID:tUNuHkwK0
abcは知ってても
720デフォルトの名無しさん (アウアウウー Sacd-obsI)
2022/11/10(木) 13:50:13.84ID:99QPf7Vaa
>>716
> 関数とクラス両方使えるのがpythonのメリットなのだから、常に適切な方を選べってことじゃないかと。
なら初めからそう言えや
まあそう言われたら適切な方の決め方について小一時間は問い詰めたいけどなw
721デフォルトの名無しさん (ワッチョイ 09f0-Z1Pq)
2022/11/10(木) 15:41:21.49ID:avJI0YX/0
>>713
teamsで出来るぞ
722デフォルトの名無しさん (アウアウウー Sacd-obsI)
2022/11/10(木) 16:33:33.24ID:99QPf7Vaa
>>721
マジで?
やり方教えて
723デフォルトの名無しさん (ワッチョイ 09f0-Z1Pq)
2022/11/10(木) 16:41:09.55ID:avJI0YX/0
>>722
teamsに申し込んでoffice365に申し込めばクラウド上でエクセルが使えます
724デフォルトの名無しさん (ブーイモ MMd5-OSgl)
2022/11/10(木) 17:38:31.76ID:aw2UCTg8M
>>712
カードゲームならカードクラスは作ったほうがよさそう。
あとはカードゲームのルールによる。
725デフォルトの名無しさん (ワッチョイ 927e-THRA)
2022/11/10(木) 18:14:06.31ID:y5PDmjdo0
>>724
687が戒めたいのがまさに724みたいな馬鹿野郎なんだろうな。
目的と手段が入れ替わってclass考えて作るのに必死になる馬鹿。
726デフォルトの名無しさん (ワッチョイ 655f-nsye)
2022/11/10(木) 18:34:12.90ID:RApG3JqD0
カードクラス作ってもいいけど、同じカードが存在しない、記号4つと数字1〜13の組み合わせの
ものにクラスがいちいちいるかな。
カードクラスはカード1枚を表して、なにができればいいんだ?

記号クラスがあって、各記号クラスがあって、ナンバークラスがあって、
is_MarkMatchとかis_NumberMatchとかもってんの?
idとprintがあればいいのかな。まあいいけど、そんだけのために
classいちいち用意するのめんどくない?
複数枚のカードを扱うcardsクラスなのかな?機能はいろいろ持てそうだけど
ゲーム固有すぎてどうなのかな?
727デフォルトの名無しさん (テテンテンテン MM96-xvRb)
2022/11/10(木) 19:12:07.27ID:/sng0JalM
可読性考えるとクラスのほうが良いわな
自分だけが使うなら好きに作ればいい
728デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/10(木) 19:17:47.15ID:tUNuHkwK0
自分だけが使う場合でも後々困る
読みにくくていいのは再利用しないと判ってる場合
729デフォルトの名無しさん (ワッチョイ 1997-OSgl)
2022/11/10(木) 19:47:31.93ID:eS5awfmL0
>>725
689だが、トランプはクラスを作った方が(少なくともnamedtuple,dataclass)便利だと思うぞ
>>726
記号クラス、番号クラスなんて作らない
記号はenum、番号はそのまま1~13でいい
が、どの記号が黒だ赤だ、どの番号が絵柄か(JQKA)
みたいなのはたとえインスタンスが一個でもメソッドになってた方が便利だと思うけどなあ。

カードは内部表現とUI上の表現が異なるのが自然だし、そういう意味でもクラスにしておくのは悪くないと思うが

クラスにしすぎてもしょうがないというのは、ゲームのルールをクラスにして共通のインタフェース持たせて、バリエーションを切り替えられるようにしても大抵は仕方ないみたいなことだよ
もちろん、どんなゲームシステムを作るかによるし、ルールを共通インタフェースで入れ替えられるようにするメリットがある場合もあるけど
730デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/10(木) 20:15:59.37ID:1wmpgP/ea
>>726
ちょっと発想が変だよ
731デフォルトの名無しさん (ブーイモ MMad-bOnd)
2022/11/10(木) 20:18:11.54ID:TQxJo3Q4M
全てユースケース次第じゃね
13×4のブール配列で持っていたほうが都合がよい場合もあるだろうし
732デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/10(木) 21:05:35.45ID:tUNuHkwK0
とりあえず作って、必要に応じてリファクタリングしていけばいい
733デフォルトの名無しさん (ワッチョイ b12c-rDMU)
2022/11/10(木) 22:35:47.17ID:SvDTIviz0
カード型のインスタンスを生成するデッキクラスを作りたいやん

deck.suffle()
hands = deck.draw(5)

みたいなさあ
あとは各ゲームで処理つくろ
734デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/10(木) 22:41:30.18ID:tUNuHkwK0
カードのリストでよくね
735687 (ワッチョイ b11d-rPWN)
2022/11/10(木) 23:28:06.08ID:ofaAiG0L0
多くのレスを頂き、ありがたく思います
ちょっと自己顕示欲が強い気もしますが、俺のGitHubを公開させて頂くので、
よろしければご覧下さい
https://github.com/masa-gh/practice
のblackjack_3.pyがそれです
これでもクラス使わないで書けるのかな…
736デフォルトの名無しさん (ワッチョイ d201-+3fi)
2022/11/11(金) 00:15:20.89ID:ajyQllPs0
力作だね

友人のアドバイスは痛いほどよく分かる
クラス云々よりも「ここからメインの処理」以降の各処理を関数にまとめるほうがずっと大事だよ
737デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/11(金) 00:21:32.63ID:gNt5qX/T0
1関数がでけえ
ということを言いたかったんだろう
738デフォルトの名無しさん (ワッチョイ 09f0-Z1Pq)
2022/11/11(金) 00:23:24.86ID:Zi2NVkwv0
マサくん
739デフォルトの名無しさん (ワッチョイ 5e10-420S)
2022/11/11(金) 00:52:49.95ID:5ErmYwLs0
何のためにでっかい関数の中にクラス作るのか分からん
この設計センスなら友人のアドバイスは正しいな
740デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/11(金) 00:55:17.73ID:n0j9oGtca
blackjackで囲むのって意味あんのかね
741687 (ワッチョイ b11d-rPWN)
2022/11/11(金) 01:14:49.41ID:9Wk/PRlY0
レスありがとうございます

>>708
クラス使った方が見通し良くなりますよね?
スッキリJavaにもそう書いてありました(Pythonの本ではないですが)

>>709
複雑にならない方がいいからだそうです

>>710
ええ、ですので皆さんの意見をお聞きしたんです

>>711
うーん、明らかにプロと思われる方の書き込みもありますし、
信じられるレスはあると思います

>>716
ただ彼の主張では、なるべくクラスは使うな、ということでした
Javaを独習した経験がある俺からすると、少し疑問符が付くのです
742デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/11(金) 01:21:10.00ID:n0j9oGtca
クソクラスをクソと認識できるためにもそれなりの能力が要るからね
743687 (ワッチョイ b11d-rPWN)
2022/11/11(金) 01:28:18.01ID:9Wk/PRlY0
>>724
そうですよね
カードのクラス作りました

>>726
複数枚のカードを持つCardクラスです
ブラックジャックなので、A・J・Q・Kの値は別に決める必要があります

>>727
可読性は重視したいです

>>736
そう言って頂けると大変ありがたいです
やっぱりそこは1つの関数にまとめた方がいいんですね

>>737-740
それも友人に、グローバル変数は少なければ少ないほどいい、と言われたのを
受けてのことです
744デフォルトの名無しさん (ワッチョイ 515f-r/4M)
2022/11/11(金) 01:39:45.03ID:tK9Svk7P0
>>735
ざっと見た感じ、そりゃ色々言われるわ
クラス云々言ってるのに、blackjackっていうデカい関数の中にクラス切ってる時点で吹いたわ

あとクラスの役割分担というか、所属してる関数もおかしく感じるわ
プレイヤークラスっていう名前なのに、にルール関係のスコア計算、バースト判定とかが入ってるし
それこそblackjackのルールを管理をするクラスを作る方が自然だべ

あともうし自分で書くとしたら、ルールクラスにis_winっていう関数作って、そこで勝利判定してtrue/falseで返すわ
最後に全パターンで人間/CPUに対して勝利判定かけてるけど、参加プレイヤー/CPUが増えた時の勝利判定の実装とか
これベースだと面倒だろうなって思った
745デフォルトの名無しさん (ワッチョイ 515f-r/4M)
2022/11/11(金) 01:43:33.89ID:tK9Svk7P0
>>743
>グローバル変数は少なければ少ないほどいい
これはまず変数のスコープは狭い方が良い、っていう話だぞ
(グローバル変数だとそれこそスコープが広くてどこで書き変わるのかが不明瞭になるから、なるべく使うなって言われてる)
バカデカい関数を作るって何の解決にもなってねえwwwwwww
746デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/11(金) 05:10:58.43ID:dIH3TsNBM
使い回さないのに関数化やクラス化する意味ってあるんだろうか
747デフォルトの名無しさん (ワッチョイ 6914-hUUh)
2022/11/11(金) 06:45:32.82ID:fLgBQpEC0
is_<動詞> ってたまに見るけどどこかで流行ってるの?
748デフォルトの名無しさん (テテンテンテン MM96-xcLn)
2022/11/11(金) 07:35:28.77ID:BuWtLPbxM
>>746
この業界には、「一処理は100行に収めるべし」という格言があってな
つまり100行以上の処理があったら、100行以内にぶった切って関数にして順次呼ぶべしってことなんだよ
理由は知らん
749デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/11(金) 08:51:38.78ID:QYmFVFm/a
まあ分割っていうか処理に名前つけろやって感じだな
抽象的に書こう
750デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/11(金) 09:56:03.89ID:gNt5qX/T0
でかい関数はあれもやってこれもやってになってるから、
それを機能毎に分割すればいいだけ
1箇所からしか呼ばれない関数がいくつもできるけど、それは問題ない

うまく作ってあれば、関数の戻り値を次の関数に渡すだけ、みたいなシンプルな構造に自然となる
それぞれの機能が変数をいろいろ共有していて切り分けられなかったら、元々の書き方が悪い
751デフォルトの名無しさん (ワッチョイ 927e-THRA)
2022/11/11(金) 10:26:37.58ID:XH1qJoq+0
pythonではクラスをあまり作らないほうがいい、じゃなくて
お前にクラスは百年早い、って言いたかったんだろその友人は。
碌に関数も作れないのだからクラスなんて無用の長物。
752デフォルトの名無しさん (ワッチョイ 9263-zlm6)
2022/11/11(金) 10:31:34.23ID:PAETAgDl0
昔、関数ごとに仕様書作成が必要な現場があって、それを嫌って
ほとんどの関数が200行を超えるサイズで書かれる様になった
753デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/11(金) 11:00:27.63ID:gNt5qX/T0
テストができんやろ
754デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/11(金) 11:32:04.24ID:dIH3TsNBM
文書をアウトライン化するような感じで使うのね
メンテのときに不要な部分を読み飛ばせるのがメリットか
755デフォルトの名無しさん (ワッチョイ 36a6-BGGY)
2022/11/11(金) 11:49:07.64ID:VSBKZoKf0
何か楽をするためのプログラムを作るのはいけるけど、
サイトの仕様変更で動かなくなったときの修正が苦痛だな、、
そのまま放置になりがち、、
756デフォルトの名無しさん (ワッチョイ 7247-GkOZ)
2022/11/11(金) 11:59:14.38ID:gNt5qX/T0
スクレイピングはそのうち廃れる気がする
元データがあって人間用に加工して表示したものをまた元データに戻さなくても、
最初から元データで公開した方がお互い楽なことに気づき始めた
757デフォルトの名無しさん (ワッチョイ 5ecf-o+MF)
2022/11/11(金) 12:00:41.38ID:L/uUC/Rw0
C++でキー処理が数百行で、しかもファンクションキー毎に少しづつ違う
という構成のものを改修させれて辟易したことある
もしや、行数で成果が評価される現場だったのか
758デフォルトの名無しさん (ワッチョイ 927e-THRA)
2022/11/11(金) 13:05:05.34ID:XH1qJoq+0
>>756
人間向けのHTMLを解析すれば無料なのにAPI経由は有料ってのも多いしな。
759デフォルトの名無しさん (オッペケ Sr79-+MYa)
2022/11/11(金) 13:20:52.45ID:wT5HNNmtr
Python勉強してるけどどうやって初心者の粋を超えたらいいのかが分からない
何か作りたいけどその何かが思い浮かばないし
自動で巡回してエロビDLするとか電子書籍自動でスクショとかできるんだっけ?
760デフォルトの名無しさん (テテンテンテン MM96-xvRb)
2022/11/11(金) 13:23:31.34ID:RyfBFStrM
やってから聞けばいいのに
761デフォルトの名無しさん (ワッチョイ 5e42-E6qO)
2022/11/11(金) 14:22:12.06ID:Pyb1B8zp0
>>759
早速思い浮かんでるじゃん
誰かができないと言うからやらないというなら何の勉強にもならない
明確な目的が無く勉強自体が目的なら機能しないゴミしか作れなくても意味があるし思い浮かんだもの全部作ればいい
762デフォルトの名無しさん (ワッチョイ 1933-pSqO)
2022/11/11(金) 14:23:36.91ID:JQ5LhQOs0
>>756
もしかして、APIが存在しない世界から来た方ですか?
763デフォルトの名無しさん (ワッチョイ 1933-pSqO)
2022/11/11(金) 14:29:46.62ID:JQ5LhQOs0
別に既にあるものでも構わないから、何か作りたいというモチベーションがある内に色んなものを作った方がいい
独学は特に大事
764デフォルトの名無しさん (ワッチョイ 1933-pSqO)
2022/11/11(金) 14:34:12.48ID:JQ5LhQOs0
途中で奥ちゃった
そしたら、次に何か新しいもの作りたくなった時に何が足りないか自分で調べられるぐらいにはなってると思う
765デフォルトの名無しさん (ワッチョイ 5e89-AYzQ)
2022/11/11(金) 15:20:48.12ID:KvbVlUc20
奥り人なんだな
766デフォルトの名無しさん (ワッチョイ 1202-o+MF)
2022/11/11(金) 19:48:45.92ID:acI+Bjnd0
クラスを設計するのはものすごく難しい
作り始めないとわからないことも多いし
途中で仕様が変わったりしたら
簡単に破綻する
大きなプロジェクトでは
途中でクラス構成を変えることは
困難なので
しばしば大変なことになる
767デフォルトの名無しさん (テテンテンテン MM96-xcLn)
2022/11/11(金) 21:01:39.50ID:BuWtLPbxM
>>759
この前も同じこと言ってる人がいたよ
作りたいものがないのでなんかアイディアないですかって

まず、何のためにPythonを勉強しているのか聞きたい
普通は作りたいものがあったり、仕事だから、課題だからという
動機があるはずなんだ
動機もなく身に着けられるものじゃないよ。プログラミングは一応専門技能だから
768デフォルトの名無しさん (テテンテンテン MM96-xvRb)
2022/11/11(金) 21:43:58.80ID:zIrG+C10M
自分探しして働かない奴と同じだよな
769デフォルトの名無しさん (ワッチョイ 9e6e-PWVJ)
2022/11/11(金) 21:51:56.55ID:7hjsWVqY0
>>766
最初から完璧な要件・設計で開発なんて不可能だから
途中で構成変わる前提で組み立てるんだよ
クラスに限った話じゃないけど
770デフォルトの名無しさん (ワントンキン MM62-76so)
2022/11/11(金) 22:08:17.04ID:dIH3TsNBM
インスピレーションを得るなら多くの作品に触れることでしょ
771デフォルトの名無しさん (ワッチョイ 9263-zlm6)
2022/11/11(金) 22:16:07.93ID:PAETAgDl0
プログラムやりたいと思った動機ってそれぞれあるだろう
772デフォルトの名無しさん (テテンテンテン MM96-xvRb)
2022/11/11(金) 22:26:55.54ID:6yLWq/6IM
ズボラほど上達が早いように思う
やりたくないことは全部コンピュータにやらせたい
773デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/11(金) 23:18:07.02ID:ywa4HP4la
現実は必死に努力してQiitaにちょっとやってみたーみたいなこと書いてるやつばっかりだけどな
774デフォルトの名無しさん (アウアウウー Sacd-nZLu)
2022/11/11(金) 23:19:39.80ID:ywa4HP4la
部品の置き換えが利くってのは完璧なプログラムとほとんど同義だね
具体的にねっちょりと書くしか無いこともあるけど
775デフォルトの名無しさん (ワッチョイ 2389-UXd1)
2022/11/12(土) 11:00:15.35ID:jZf8/3In0
質問です。
これをヘッドレスモードで動かしたいのですがどうするといいでしょうか?

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
browesr = webdriver.Chrome(ChromeDriverManager().install())
776デフォルトの名無しさん (ワッチョイ 2389-UXd1)
2022/11/12(土) 11:41:37.67ID:jZf8/3In0
すいません。
解決しました。

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--headless')
browesr = webdriver.Chrome(ChromeDriverManager().install(), options=options)
browesr.quit()
777デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/12(土) 13:03:04.39ID:FJxDQgNh0
ちゃんと終わってる筈なのにタスクマネージャに残るんだよな
778デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/12(土) 14:06:44.73ID:QoJFyqg+0
async関数の終了を2箇所で待つ方法は無いですか?
普通にawaitを2回使うと既にawaitedした処理だぜってエラーが出ます。
779デフォルトの名無しさん (ワッチョイ 1563-rv4X)
2022/11/12(土) 14:23:25.37ID:ToW7pe8/0
答えは持ち合わせてないけど同じことを考えたことあるな
780デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/12(土) 14:24:45.91ID:T1+EK47n0
エラーなんか無視する
781デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/12(土) 15:22:28.94ID:QoJFyqg+0
>>780
エラー握り潰しても、肝心な処理待ちが出来ないので駄目です。
782デフォルトの名無しさん (ワッチョイ 1b3b-spp/)
2022/11/12(土) 15:46:37.70ID:AXYSbt7W0
メモ化する関数でラップ
頻発するならデコレータ書く
783デフォルトの名無しさん (ワッチョイ c597-AMkR)
2022/11/12(土) 15:58:01.40ID:pkT2sKDg0
>>756
廃れないよ。Webって広告で成り立っている基本人間向けの情報発信ツールなんだから、人間向けのデータ(文章とかね)のスクレイピングは依然として残る。
APIは有料というのは広告収入につながらないから割と当たり前の話で。
利益を目的としないデータ公開はオープンデータ化していくだろうけれど、そういうのって政府や自治体のデータ公開、大学などぐらいしか基本的にはないだろう。
784デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/12(土) 15:59:27.93ID:QoJFyqg+0
>>782
メモ化だと結果は再利用できますが、同時に待つことができないように思います。
785デフォルトの名無しさん (ワッチョイ a301-xL83)
2022/11/12(土) 16:11:11.71ID:2L2Z04CZ0
>>778
task = asyncio.create_task(async_fn())
result = await task
result = await task
786デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/12(土) 17:58:24.29ID:QoJFyqg+0
>>785
うまく行きました! ありがとうございます!
TaskというのがJavaScriptのPromiseみたいな事してくれるんですね!
787デフォルトの名無しさん (ワッチョイ cd02-EHNx)
2022/11/13(日) 15:06:45.34ID:mAjRS9pi0
なんでOpenCVはちょっとしたことでぶっ壊れるんですか?
788デフォルトの名無しさん
2022/11/13(日) 19:56:00.79ID:S7gZHHW/
_max=7
_min=3
a=2
if a>_max:
 a=_max
elif a<_min:
 a=_min
print(a)

これってもっとスマートに書けませんでしたっけ
789デフォルトの名無しさん
2022/11/13(日) 20:10:07.19ID:S7gZHHW/
ちなみに0を含む自然数で
range(_min,_max,1)
です
これの範囲外は判定できるのですが
_minより小さく外したのか、_maxより大きく外したのか
って一行で短く書けなかったかな、と。
記憶違いかもしれません、無かったような気がしてきました
790デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
2022/11/13(日) 20:12:10.16ID:cgKyROyF0
a=max(min(a,_max),_min)
791デフォルトの名無しさん
2022/11/13(日) 20:16:44.58ID:S7gZHHW/
>>790
できました!!
そうですこれです!

_max=7
_min=3
for i in range(10):
 print(i,max(min(i,_max),_min))

ありがとうございます!!
792デフォルトの名無しさん (ワッチョイ 4b89-SmiF)
2022/11/13(日) 20:31:52.48ID:J0JT7kUN0
>>787
それ依存関係が壊れてるからじゃね?
793デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/13(日) 20:32:48.89ID:xH4HHaxN0
最近excelで、答えがマイナスなら0にする、という処理がめんどくさいと思ったけど、
max(0,x)でシンプルに書けた
794デフォルトの名無しさん (テテンテンテン MM4b-SGX1)
2022/11/13(日) 20:47:55.89ID:ZI0YVyVbM
>>790は一見何をやっているのか、やりたいのかわからんし
メンテナンス性が悪そうだ
>>788の方はわかるし改造しやすい
コードは短ければ良いというものではないな
795デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/13(日) 21:04:49.96ID:xH4HHaxN0
やりたいことをまず自然言語で書く
minとmaxの範囲内ならそのまま出力
範囲外ならばminとmaxでガードする

これだけの情報量があるので、コードがそれなりの長さになって当然
796デフォルトの名無しさん (ワッチョイ 1563-rv4X)
2022/11/13(日) 21:55:42.10ID:tnJyg4LP0
コードゴルフは面白いけどコミットはしないで欲しい
797デフォルトの名無しさん (ワッチョイ a301-xL83)
2022/11/13(日) 22:26:40.02ID:0j2qr49h0
>>788
np.clip(array, _min, _max)
798デフォルトの名無しさん (ブーイモ MM69-AMkR)
2022/11/13(日) 22:58:00.99ID:6O/r8caVM
何がコードゴルフかはジャンルにもよるよなあ。シェーダーなんかだとminmaxみたいなのは常套句みたいなものだし、
pythonの内包表記もちょっと凝り出すとコードゴルフ的になる。コーディングガイドラインがあればいいけどね。
799デフォルトの名無しさん (ガックシ 064b-FE2V)
2022/11/13(日) 23:21:42.99ID:m9TsWVuY6
>>794
さすがにこのくらいはグラフ考えて分かってよ
800デフォルトの名無しさん (ブーイモ MM69-AMkR)
2022/11/13(日) 23:47:29.33ID:6O/r8caVM
まあ、minmaxの良くないところは、慌てて順番反転させたりする事故が起きると何もクリップしてくれなくなるところなんだけど(良く使うなら関数化しておくべき)
とはいえ、minmax的なのNGって、関数型言語全否定に近いものがあると思うんで、その立場でいいのかは考えるべきだと思うけど。
もちろん手続き型メインのPython使ってるんだからPythonではそんなのお門違いだという意見も否定はしないけど
801デフォルトの名無しさん (ワッチョイ 4b46-X/jP)
2022/11/14(月) 00:16:33.72ID:RdGM128m0
maxとminでもいいと思うけど
頻繁に使うならclamp(val,lo,hi)みたいな関数作ればいい
802デフォルトの名無しさん (ワッチョイ ad2c-WM47)
2022/11/14(月) 02:35:12.38ID:Msnzn9MH0
初コメです。質問させてください。
ウィジェットに、押すとnotepad.exeを起動するボタンを作ったのですが、起動したテキストに文字を書き込む(テンプレート)ボタンを作りたいのですが、どのようにすれば良いでしょうか…
803デフォルトの名無しさん (ワッチョイ 0509-BvCT)
2022/11/14(月) 06:45:05.17ID:gWXr0Wl00
>>802
PyAutoGUI
内容次第ではPythonやめてAutoItだけの方が楽
804デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/14(月) 08:17:37.42ID:z4y/4erZ0
AutoItとかAutoHotKeyとかキーボードやマウスをプログラムから操作して
自動化するツールはいろいろあるけど、
どれが最強なのか今ひとつ判らない

簡単にする為に出来ることを減らしていたり、
いろいろできるけど言語仕様が原始的すぎたり
pythonと同じ書き方ができて出来ないことがないのが理想
805デフォルトの名無しさん (アウアウウー Saa9-FFna)
2022/11/14(月) 11:56:34.09ID:EWF0SvAna
対象のプログラムやウィンドウが背面に行ったり最小化されててもちゃんと動くかどうかで選べばいい
806デフォルトの名無しさん (アウアウウー Saa9-OAfI)
2022/11/14(月) 12:07:38.76ID:K3emCbowa
対象プログラムが背面にあっても動くってウインドウハンドルにSendMessageを直接送る感じ?
807デフォルトの名無しさん (オッペケ Src1-wjvv)
2022/11/14(月) 13:25:46.58ID:99fRleugr
windowsのアプリをバックグラウンドで起動して動かすようなのが出来たらなぁ
マウス取られるから他の作業できないんだよね
808デフォルトの名無しさん (ガックシ 0669-AMkR)
2022/11/14(月) 15:23:33.25ID:yiG7YfVR6
WindowsをVMに入れるか、リモートデスクトップ複数人ログイン対応のWindowsならフォアグラウンドでも実質バックグラウンドにできるから困らなさそうだ
Win32APIを直で叩きまくればバックグラウンドでも動かせるような気がしないでもないけど、イベント処理のメインループが回るかは謎だね。全然詳しくないや。
809デフォルトの名無しさん (ワッチョイ 2302-9fhR)
2022/11/14(月) 21:26:19.81ID:LuassWmg0
>>790 がメンテ性悪いとか言う人は
プログラマー向いてないと思うの
810デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/14(月) 21:33:59.91ID:z4y/4erZ0
temp = min(input, upper_limit)
output = max(temp ,lower_limit)
これを合体させただけなんだけどな
811デフォルトの名無しさん (ワッチョイ 1b3b-spp/)
2022/11/14(月) 21:55:04.23ID:aUHlXgrZ0
関数化せずにインラインでそれ書いてきたらレビューでハネる
812デフォルトの名無しさん (ワッチョイ 2514-FE2V)
2022/11/14(月) 21:57:02.78ID:CWXyQGgF0
頻度次第
813デフォルトの名無しさん (ワッチョイ 2301-v+FM)
2022/11/14(月) 22:11:36.21ID:gxurLVtj0
>>809
まあ適宜空白入れろよとは思う
a = max(min(a, _max), _min)
814デフォルトの名無しさん (テテンテンテン MM4b-SGX1)
2022/11/14(月) 22:20:44.64ID:xHaIXgz6M
>>810
そもそもmaxの中にminがある時点で頭がおかしくなる俺の場合
815デフォルトの名無しさん (ワッチョイ 2379-zDZ1)
2022/11/14(月) 22:25:56.00ID:SUeRZblV0
import ctypes
SendMessage = ctypes.windll.user32.SendMessageW
hWnd = ごにょごにょ
pos = (y << 16) + x
SendMessage(hWnd, 513, 0, pos) # WM_LBUTTONDOWN
SendMessage(hWnd, 514, 0, pos) # WM_LBUTTONUP

>>806
こんな感じかな
どのみち、どう処理されるかは相手次第になってしまうけど
背面とか最小化とか、最悪トップに出てきたり
816デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
2022/11/14(月) 22:50:26.22ID:dRHiUVHI0
>>813
それは自動整形機能の仕事で人間が気遣うことではない
817デフォルトの名無しさん (スップ Sd03-WM47)
2022/11/14(月) 23:20:28.77ID:XZXiqJkqd
>>803
pyautoguiで一歩進みました!ありがとうございます!
818デフォルトの名無しさん (ブモー MMeb-p9cw)
2022/11/15(火) 01:47:11.37ID:qykSWSRkM
>>810
その2行なら受け入れるけど合体させるのは意味はないじゃんって思うよ
819デフォルトの名無しさん (ワッチョイ 2363-H0Ic)
2022/11/15(火) 01:54:09.53ID:JTzzJATw0
関数名と変数名を工夫すれば良いと思う
_付けるだけでそれを区別するのはちょっと
820デフォルトの名無しさん (ワッチョイ c597-AMkR)
2022/11/15(火) 01:57:43.67ID:7joAI/8k0
>>818
それは、+=や、f.write(','.join([若干長い内包表記]))が許されるかみたいな話とも繋がっていて、
ぶっちゃけ何度も出て来ればこんな簡単なのは1行にしたくなると思うよ
内包表記だって1行で書きたいから書くって側面もあるわけじゃない。
821デフォルトの名無しさん (ワッチョイ 2301-v+FM)
2022/11/15(火) 04:53:39.40ID:Ohwd0nE10
>>816
掲示板に書く時におまえが気遣えよって言う指摘だぞw
822デフォルトの名無しさん (ワントンキン MMa3-OAfI)
2022/11/15(火) 05:06:14.63ID:9j9A/xThM
a = range_ni_osameru(_min, a, _max)

どや!
823デフォルトの名無しさん (ワッチョイ 2379-zDZ1)
2022/11/15(火) 07:01:01.67ID:+rxWDVlZ0
def range_ni_osameru(_min, a, _max):
 return _min if a < _min else a if a < _max else _max

こうかな!
824デフォルトの名無しさん (アウアウウー Saa9-v+FM)
2022/11/15(火) 07:23:39.25ID:GEd0aXfXa
>>823
俺なら
return _min if a < _min else _max if _max < a else a
って書くかな
825デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 07:58:14.56ID:gBqAZwZY0
行数というよりは、中間の変数を登場させたくない
合体させるにしても、後ろに繋げていく方式とネストを深くしていく方式があって、
ネストだとどうしても可読性を損なう
826デフォルトの名無しさん (オッペケ Src1-wjvv)
2022/11/15(火) 09:57:28.98ID:8PAOVKkjr
普段可読性重視だけどリスト内包表記だけは速度変わりすぎるから超複雑にしちゃう
827デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 10:05:08.85ID:gBqAZwZY0
100倍変わるなら考えるけど、倍程度ならどうでもいい
828デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/15(火) 10:09:34.58ID:UuLVn12M0
内包表記も+=も三項演算子もlambdaも、(言語設計者に対して)日和って半端なもん入れてんじゃねーよって思う。
829デフォルトの名無しさん (ブーイモ MM69-fwKM)
2022/11/15(火) 11:23:10.48ID:kX2rkZkfM
lambdaは1.0からあったような
830デフォルトの名無しさん (アウアウウー Saa9-qc8G)
2022/11/15(火) 11:40:36.69ID:f326q+3ca
ごてごて書けるラムダを入れないのは良心を感じるけどなあ
831デフォルトの名無しさん (ガックシ 0669-AMkR)
2022/11/15(火) 11:49:44.03ID:Hm3rex5D6
>>827
処理時間がめちゃ長くて100倍速くしたいならそもそもCythonとか考える
処理時間ちょっとイラッとするぐらいだったら内包表記で倍速くなれば十分なので内包表記止まりかな
832デフォルトの名無しさん (ワッチョイ 05e0-spp/)
2022/11/15(火) 12:21:34.90ID:8tiGCKxN0
サンプルコードがlambdaで書かれがちなのもあって
その場で関数定義できるの知らずにごてごて書くケースよく見かける
悲しい
833デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/15(火) 12:29:38.05ID:UuLVn12M0
なるほどlambdaに関しては色々意見あるな。半端な知識で物言った俺が悪かったわ。
834デフォルトの名無しさん (テテンテンテン MM4b-Os9u)
2022/11/15(火) 12:41:30.32ID:LyOwpv5bM
ランバダはアローより判りやすいとは思う
835デフォルトの名無しさん (アウアウウー Saa9-hD5E)
2022/11/15(火) 15:38:19.98ID:0yW3pQONa
Pythonやるならまず「多重継承」な!

なぜ多重継承かというと、自然言語処理において語句の意味は「文脈」によって異なるからだ!

随意筋  不随意筋
  ↖   ↗
   チンポ

チンコの随意筋と不随意筋
http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650

https://mobile.twitter.com/daikidomon/status/1385368820240437248

土門大貴/Daiki Domon
@daikidomon
Pythonの多重継承がわかりづらい。
継承クラスの左のクラス名を指定とかあたおか。
https://twitter.com/5chan_nel (5ch newer account)
836デフォルトの名無しさん (アウアウウー Saa9-FFna)
2022/11/15(火) 16:33:43.21ID:QGmQMBHUa
>>827
30分かかるループの中心で何度も使われてたら
倍速になったら15分短縮出来るし
100分の1なら数秒で終わるんだが
837デフォルトの名無しさん (アウアウウー Saa9-FFna)
2022/11/15(火) 16:35:27.51ID:QGmQMBHUa
>>828
内包表記: あり
+=: あり
lambda: あり

三項演算子: お前は遺憾
838デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 17:03:46.50ID:gBqAZwZY0
とりあえず読みやすいように書いて、速度で困ったら考える
839デフォルトの名無しさん (ワッチョイ 4bcf-gPc0)
2022/11/15(火) 21:46:19.64ID:9SlnRoJw0
>>837
内包表記? あり
:+= ? あり
:lambda ?あり
:三項演算子?お前は遺憾
:以下略
ということですね
840デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 21:56:48.23ID:gBqAZwZY0
C言語とかの伝統的な三項演算子と違って、
pythonのはなかなかいけてると思うけど
841デフォルトの名無しさん (ワッチョイ a300-9aJV)
2022/11/15(火) 21:57:19.12ID:UuLVn12M0
他の言語なら三項演算子は大好きなんだけどPythonだと異物感がある
842デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
2022/11/15(火) 22:05:16.10ID:1JRqHGzu0
並びが
(Trueの場合) (条件) (Falseの場合)
になるのが気に食わん
843デフォルトの名無しさん (ワッチョイ 4b10-S5Kl)
2022/11/15(火) 22:26:23.67ID:5Bygj+p/0
わかる
慣れだろうけどさ
844デフォルトの名無しさん (ワッチョイ 2301-v+FM)
2022/11/15(火) 22:38:17.97ID:Ohwd0nE10
英文的には違和感無いのかもしれないけどねぇ...
845デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 22:47:36.70ID:gBqAZwZY0
if <condition> then <val1> else <val2>
も英語として不自然さは無い
それを、?と:にするのは無理がある

冒頭からifで始まるとif文と区別が付かないので、少し倒置して、
<val1> if <condition> else <val2>
も一応文として読める
C言語よりはまし
846デフォルトの名無しさん (ワッチョイ 4bcf-gPc0)
2022/11/15(火) 22:59:00.88ID:9SlnRoJw0
通常のif文でも処理(結果)を先に書く新しい言語を作るか
847デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
2022/11/15(火) 23:05:11.16ID:1JRqHGzu0
プログラミング言語に英文的な自然さとか求めて無いんだわ
読む順と評価順が入れ替わってんのがセンス無いと思う
848デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 23:08:14.86ID:gBqAZwZY0
処理をifで修飾するというのは既にある
elseは知らん
849デフォルトの名無しさん (ワッチョイ 2363-H0Ic)
2022/11/15(火) 23:10:56.55ID:JTzzJATw0
~よりはましって、自信がないみたいな感じ
850デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/15(火) 23:17:01.94ID:gBqAZwZY0
C言語よりは遥かにましである、ふはははは
851デフォルトの名無しさん (ワッチョイ 2363-H0Ic)
2022/11/15(火) 23:20:26.27ID:JTzzJATw0
そうする合理的理由を説明すれば納得するものじゃないの?
そういうのを聞きたいんだよ
852デフォルトの名無しさん (ワッチョイ 2302-gPc0)
2022/11/16(水) 02:18:10.64ID:+BRGBknF0
英語だと if が後置されることもあるからなあ
内包表現は数学の集合の書き方からすれば普通
ラムダは lisp のラムダ関数から考えれば普通

一応理屈はあるけど
853デフォルトの名無しさん (ワッチョイ 0509-BvCT)
2022/11/16(水) 06:47:02.50ID:hZtfMd7O0
三項演算子だけじゃなくて、Perlみたいに後置ifを実装してれば違和感ないんだろうね

(Trueの場合) if (条件)

Falseの場合はなにもしないけど、Pythonだとpassがあるから三項演算子だけで十分って判断かな
854デフォルトの名無しさん (ワッチョイ a300-5Hvp)
2022/11/16(水) 07:48:59.49ID:Mu0tRvhG0
そうか結構、式である三項演算子や内包表記やlambdaも受け入れられてるんだなぁ。そうなるとなんでmatchを式にしなかったのか。コレガワカラナイ
855デフォルトの名無しさん (ブモー MMeb-p9cw)
2022/11/16(水) 08:23:43.73ID:kn7mTN5OM
>>847
これ正解
856デフォルトの名無しさん (ワッチョイ 4bcf-H0Ic)
2022/11/16(水) 08:33:48.92ID:16ZvLDN40
後置ifは文だから値を返す必要がない(=elseは不要)。三項演算子は式だから値を返すのに必要。
なんでこの2つを混ぜたような文法にしたのかなんとも不思議。
857デフォルトの名無しさん (アウアウウー Saa9-89mF)
2022/11/16(水) 10:19:45.94ID:8bWIhcn5a
どこが変なのかわからん
俺の英語スキルが高杉なせいか…
858デフォルトの名無しさん (ワッチョイ 0557-spp/)
2022/11/16(水) 11:29:27.97ID:hZGrSsPO0
lambdaといっしょでゴチャゴチャ書きづらいのが良心
実際は構文解析が楽だとか余計な()が不要とかあるんだろうけど
859デフォルトの名無しさん (アウアウウー Saa9-+rXr)
2022/11/16(水) 11:35:19.24ID:OkTwZqPda
lambda calculus のif then else combinatorの語順やろ

https://ja.m.wikipedia.org/wiki/%E3%83%A9%E3%83%A0%E3%83%80%E8%A8%88%E7%AE%97
860デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/16(水) 11:56:49.17ID:g3qERw/e0
lambdaは綴りが覚えられないから嫌だ
861デフォルトの名無しさん (アウアウウー Saa9-89mF)
2022/11/16(水) 12:13:16.57ID:8bWIhcn5a
ランバダっておぼえとけ
862デフォルトの名無しさん (ブーイモ MM69-fwKM)
2022/11/16(水) 12:27:19.92ID:U3lBmIjhM
全部英単語でつなげるから、エディタで色変えたとしても見づらいってのはすごく感じる
863デフォルトの名無しさん (アウアウウー Saa9-FFna)
2022/11/16(水) 17:37:03.73ID:z+sJwdsYa
>>846
uby
864デフォルトの名無しさん (アウアウウー Saa9-FFna)
2022/11/16(水) 17:39:14.54ID:z+sJwdsYa
>>845
findall で解決
865デフォルトの名無しさん (アウアウウー Saa9-FFna)
2022/11/16(水) 17:39:41.33ID:z+sJwdsYa
アンカ間違ってた >>854
866デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/17(木) 17:09:06.64ID:HF5V3LeY0
import re
str = 'abc123456defg'
s = 'bc'
m = re.search(f'{s}(\d{2})', str)
if m:
 print(m.groups()[0])

\d{2}だと12が表示される
\d{1}とか\d{6}だと想定と違う
なんで?
867デフォルトの名無しさん (ワッチョイ 237e-AMcT)
2022/11/17(木) 17:18:01.85ID:AwlB4ADs0
そりゃ、想定が間違えているから、以外になんか考えられるのかい?
何を想定していてどうなったかも説明しないで、想定と違う!って
言われてもね、人に説明する気も無けりゃ教えを乞う態度でもないし
何したいの?日記ならよそでやってくれる?
868デフォルトの名無しさん (ワッチョイ 05cd-spp/)
2022/11/17(木) 17:57:04.97ID:WlhESVTj0
>>> f'{s}(¥d{2})'
'bc(¥d2)'
869デフォルトの名無しさん (ワッチョイ 15cf-gPc0)
2022/11/17(木) 18:01:06.12ID:F2Az3Gmh0
インデントが全角スペースなのが全てを表してる
870デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/17(木) 18:02:37.66ID:HF5V3LeY0
f文字列の中で{m,n}を使うにはどうすれば
871デフォルトの名無しさん (ワッチョイ dd08-G/DK)
2022/11/17(木) 18:20:55.05ID:OILH8ycX0
口のきき方覚えてから出直せ
872デフォルトの名無しさん (ワッチョイ ed02-OAfI)
2022/11/17(木) 18:28:04.25ID:qm+2WY7I0
まあまあ、お勉強スレなんだし未熟者同士で問題解決していくスタンスで良いんじゃないの
873デフォルトの名無しさん (ワッチョイ a301-xL83)
2022/11/17(木) 18:31:28.74ID:p1aORMOX0
そんなイライラしなくても{{´·ω·`}}
874デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/17(木) 18:42:18.14ID:HF5V3LeY0
>>873
できた
875デフォルトの名無しさん (ワッチョイ cb68-Os9u)
2022/11/17(木) 19:51:50.25ID:SY2MYyO/0
f文字列で¥とか/区切りの一部だけを取るような事出来ないのかな?
splitしてスライスで取るのはどうも好かん
876デフォルトの名無しさん (ワッチョイ c533-BvCT)
2022/11/17(木) 21:45:06.27ID:SeoZPm6s0
>>1>>866
> ★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
>   ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
> https://techiedelight.com/compiler/  Run Code機能あり。
> http://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
> http://pastebin.com/     まずまずシンプル。
> http://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
877デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/17(木) 21:54:06.61ID:HF5V3LeY0
それも必要悪だな
貼った先が無くなった後でログを見た人に何の知見も残せない
878デフォルトの名無しさん (US 0Ha3-XgLS)
2022/11/17(木) 23:08:46.05ID:kmneQuTyH
>>876
>デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
一回 python を選択すれば、あとはずっと選択したpythonのままになりますよ
879デフォルトの名無しさん (US 0Ha3-XgLS)
2022/11/17(木) 23:09:37.45ID:kmneQuTyH
>>877
いまのところ ideone はずっと消えずに残っていますよ
http://2chb.net/r/tech/1434079972/
880デフォルトの名無しさん (ワッチョイ 2363-H0Ic)
2022/11/17(木) 23:12:16.09ID:lsW0mIad0
何年くらい残れば良いんですかい?
881デフォルトの名無しさん (ワッチョイ 6347-gR3A)
2022/11/17(木) 23:18:26.59ID:HF5V3LeY0
外部を利用する根拠がインデントの崩壊だけなら、崩壊していないのだから不要
なるべく単体で完結していた方がいい

コードが長いとか、修正後のコードと比較したいとかになると、
さすがに掲示板の機能を超える
882デフォルトの名無しさん (ワッチョイ 2363-H0Ic)
2022/11/17(木) 23:37:59.57ID:lsW0mIad0
そういうのは公開する本人が決めれば良いのでは
883デフォルトの名無しさん (ワッチョイ 4bcf-gPc0)
2022/11/17(木) 23:48:46.20ID:mPrTa5cw0
今更ここで議論する課題でもない
この件はペンディングとして、運用時に自己判断でよいだろう
884デフォルトの名無しさん (ブーイモ MM4b-5kBA)
2022/11/18(金) 01:00:39.04ID:pHizXfulM
短いコードなら直接貼ったほうが断然いいわな
885デフォルトの名無しさん (ワッチョイ ad2c-WM47)
2022/11/18(金) 01:14:15.49ID:E2GzXrNb0
日付(○年○月○日 ○時○分)を抽出してクリップボードにコピーするのってどんな感じでやればいいですかね…
886デフォルトの名無しさん (ワッチョイ 2514-FE2V)
2022/11/18(金) 01:26:07.35ID:wTg9qmzl0
何からだよ
887デフォルトの名無しさん (ワッチョイ 05cd-spp/)
2022/11/18(金) 02:58:16.10ID:q5cRZ16n0
コピーはコマンドでできるから
Windowsならcopy、Macならpbcopy
テキスト抽出して外部コマンド実行するだけ
888デフォルトの名無しさん (ワッチョイ 154f-FFna)
2022/11/18(金) 09:55:43.93ID:Wj1K/ZC10
例えば、Ruby でクリップボードを使うなら、

あらかじめ、クリップボードへ「 あい 」を入れておいてから、
以下のスクリプトを実行すると、
文字列の前後にある、空白類が削除されて「あい」となる

ただし、RubyはUTF-8 だから、Windows のCP932 と変換する必要がある

# クリップボード内の複数行文字列の、各行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
889デフォルトの名無しさん (ワントンキン MMa3-OAfI)
2022/11/18(金) 11:23:40.68ID:P6oHPIQ5M
ググったらpyperclipって便利なモジュールがあるらしいよ
前レスから予想するにウィジェットの日付けをメモ帳に貼り付ける感じかな
ウィジェットからのデータ取得はウィジェット作成時にStringVarを関連付けてget,setで取得すれば良い
ログを残すならファイル入出力でやるべきではと思うけど
890デフォルトの名無しさん (ワッチョイ 4bbb-fwKM)
2022/11/18(金) 12:03:10.69ID:r5yXYIm80
>>888
891デフォルトの名無しさん (ワッチョイ 9b66-gR3A)
2022/11/18(金) 12:36:54.85ID:xtaMWlke0
このrubyの人はpython使ってるの?
892デフォルトの名無しさん (ワッチョイ 4b5f-4ilx)
2022/11/19(土) 00:25:37.14ID:GBhwsA7a0
すみません、質問いいですか?
893デフォルトの名無しさん (ワッチョイ 77f0-b3EZ)
2022/11/19(土) 00:47:22.64ID:UL/detO70
rubyの人最近見なくなったと思ったら
また自己主張してきたな
894デフォルトの名無しさん (ブーイモ MM8e-nsJM)
2022/11/19(土) 11:12:56.68ID:mOhQy7yjM
半島人は日本人女性を強姦しまくってる!
895デフォルトの名無しさん (ワッチョイ 0610-zeL/)
2022/11/19(土) 11:38:44.50ID:N2zY4TUb0
千葉県民に喧嘩売ってんのかコラ
896デフォルトの名無しさん (ワッチョイ 5701-kfYZ)
2022/11/19(土) 12:30:11.97ID:o7Lf802R0
千葉県は恐ろしい田舎なうえ、今もドンドン衰退してる最中。
でも、関東以外の人はそんなこと知らないから、東京の一部みたいな顔できるよ。
897デフォルトの名無しさん (ワッチョイ e263-TaOI)
2022/11/19(土) 12:31:01.14ID:xRYqKE7Q0
横須賀市民 「東京原人と一緒にしないでくれ」
898デフォルトの名無しさん (ワッチョイ 5701-kfYZ)
2022/11/19(土) 12:43:32.19ID:o7Lf802R0
逆に考えることもできるよ。
電車一本で東京に出れる田舎って最強。
みたいな。
899デフォルトの名無しさん (JP 0H43-NYGE)
2022/11/19(土) 13:00:44.68ID:A7QHTxNqH
ぶぼぼ
900デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/19(土) 13:04:21.61ID:zkXQWCUr0
沿線の人だけやん
901デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
2022/11/19(土) 16:23:26.89ID:F8GIHVyHa
久里浜も上総一ノ宮も似たようなもんやろ
902デフォルトの名無しさん (ワッチョイ ef14-kfYZ)
2022/11/20(日) 02:18:52.83ID:Wzaj0Q6e0
すみません、python超初心者なのですが
https://github.com/ihopenot/LpkUnpackerのpython LpkUnpacker.py /path/to/lpk outputdir /path/to/config.jsonのコードを使いたいのですが、何回やっても

python LpkUnpacker.py "C:\11302997995514316369.lpk" "C:\aaaa" "C:\config.json"
^^^^^^^^^^^
SyntaxError: invalid syntaxのエラーが出てできません。

どうかご教授の程よろしくお願いいたしますm(__)m
903デフォルトの名無しさん (ワッチョイ 9714-mZSb)
2022/11/20(日) 02:34:00.03ID:TRWjspKo0
>>902
そのコードをpythonから読み込んでいますか?
904デフォルトの名無しさん (ワッチョイ 86bb-hSjh)
2022/11/20(日) 04:33:04.83ID:ehdgoKhb0
>>902
SyntaxErrorなんで構文に間違いがあるんだけど、ここじゃ正確なコードが貼り付けられないから、自力解決を目指すか、外部サービスを利用してコードを晒すかしてください
905デフォルトの名無しさん (ワッチョイ 4b02-kiOm)
2022/11/20(日) 06:11:26.69ID:ZkE4F4/w0
>>902
ファイルパスの¥を2個つけないとエスケープ文字になるんじゃ
906デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/20(日) 09:38:29.85ID:f5Y3Vp3X0
Cドライブのルートなんかに置くなよ
907デフォルトの名無しさん (ワッチョイ 6290-kfYZ)
2022/11/20(日) 12:40:41.69ID:zjEDBX2J0
うろ覚えで関数名だけわかってるような状態で
関数の使い方がよくわからなくなることがある
たまにドットが前に来るやつあるじゃん

kansu(引数)
.kansu(引数)
aaa.kansu()

モジュールがどうとかいう話なんだろうけど
こういうのみんなどうやって覚えてるの?
908デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/20(日) 12:46:02.71ID:+Dw5cfeT0
組み込み関数は全部覚える
そこに無ければオブジェクトのメソッド
.sort()とsorted()みたいに両方にあったりもする
909デフォルトの名無しさん (ワッチョイ 8286-Gbp4)
2022/11/20(日) 13:01:55.30ID:7a4yJys50
IDEを頼るのです
ここかここがええんかと関数名をちょっとタイプしてみてああんそこはダメぇ(OKという意味)と出たシグネチャを使えばよい
910デフォルトの名無しさん (ワッチョイ 8247-QT9j)
2022/11/20(日) 13:12:36.84ID:oY/pzgY90
関数一覧を印刷した下敷きとか無いのか
911デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/20(日) 13:14:27.88ID:AxU0uBeT0
>>907
ググる
912デフォルトの名無しさん (ワッチョイ 0610-ub0s)
2022/11/20(日) 13:35:47.19ID:mq06SBbE0
>>902
LpkUnpacker.pyがあるディレクトリまで移動して
python LpkUnpacker.py だけでやってみて
usage:ほにゃららってでてるか?
913デフォルトの名無しさん (ワッチョイ b684-qpCx)
2022/11/20(日) 16:06:56.79ID:V6m7XEpp0
https://mobile.twitter.com/yukiya285/status/1594225137171451904

ゆきや@創薬エンジニア
@yukiya285
機械学習の分野でPythonがよく使われる理由は、ざっくり言ってしまうと、理論の根底にある数式が理解できていなくても機械学習ができるから、ということになります。理論の理解は後回しにして、とりあえずいろいろやってみる、ということができるのがPythonということになります。
https://twitter.com/5chan_nel (5ch newer account)
914デフォルトの名無しさん (ワッチョイ e263-TaOI)
2022/11/20(日) 16:21:51.45ID:u5cvtrdO0
考えるな、感じるんだ!
915デフォルトの名無しさん (オッペケ Srdf-zeL/)
2022/11/20(日) 17:32:04.11ID:DbVvLhq7r
理由が理由になってなくね?
NumPyやsklearnのようなお手軽ライブラリが充実してることが理由じゃないのか
916デフォルトの名無しさん (ワッチョイ 4b02-kiOm)
2022/11/20(日) 17:50:29.42ID:ZkE4F4/w0
cをやろうがアセンブラをやろうが
誰かが作った技術の上でしょ
スクリプト言語を使う1番の理由は生産性の高さだよ
917デフォルトの名無しさん (ワッチョイ 06cf-zHbW)
2022/11/20(日) 17:55:33.30ID:mdre8ZhB0
Pascal なんかは
プログラミング教育を意識して作られてたものだが
真逆の発送のツイートだな
918デフォルトの名無しさん (ワッチョイ 0610-Wmq2)
2022/11/20(日) 22:48:59.09ID:LvscILW00
>>913
どうだろ
俺は数学できるけど早いcが書けないからライブラリに頼れるpython選んだのが始まり
919デフォルトの名無しさん (ワッチョイ 8247-QT9j)
2022/11/20(日) 23:19:03.19ID:rB1ul6QT0
ライブラリとか言っても判らない人向けの説明なんでしょ
920デフォルトの名無しさん (ワッチョイ a30c-7h5B)
2022/11/20(日) 23:22:17.03ID:oxX6pjp40
やってみるのはいいことだけど
ライブラリ任せにするのは他力過ぎて草
921デフォルトの名無しさん (ワッチョイ 0e02-7/Ma)
2022/11/21(月) 00:00:01.51ID:MXiqZevU0
ライブラリ最高や!ワイよりちゃんとした実装してるしな。ワイが書く必要なんて無いんや………

って気持ちになるから嫌い
922デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/21(月) 00:08:01.41ID:KDDXOYAA0
ライブラリ任せにするのはダメな人はコンパイルはコンパイラに任せずに自分でやってるのかな...
923デフォルトの名無しさん (ワッチョイ 8286-Gbp4)
2022/11/21(月) 00:08:51.60ID:5iZ5HFRw0
人生は短いんやで
924デフォルトの名無しさん (ワッチョイ a30c-7h5B)
2022/11/21(月) 00:10:28.72ID:Q4I6Hwd50
もしかしてライブラリに使われてるcのソース読まない人たちばかりなのw
925デフォルトの名無しさん (ワッチョイ a30c-7h5B)
2022/11/21(月) 00:11:26.61ID:Q4I6Hwd50
プププー
926デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/21(月) 00:52:51.07ID:KDDXOYAA0
必要ならライブラリのソースも読むけど普通は読まんな
>>924はコンパイラのソースを読んでるの?w
927デフォルトの名無しさん (ワッチョイ 62ad-nsJM)
2022/11/21(月) 00:54:44.72ID:ZuT5szBi0
>>916
おめーらホント視野の狭いクズばっかだな

最適な言語を使うのは
プログラマの基本中の基本だぞ?

それとスプリプト言語使う仕事なんてのは
どんなバカでも出来る仕事であって、
それだからこそ、プログラマはスプリプト言語を使う機会は少ないのだよ。

おめーのようなバカは
プログラマ気取りの
ただのコーダーだw
半島ヘかえれよチョソ!
928デフォルトの名無しさん (ワッチョイ a30c-7h5B)
2022/11/21(月) 01:09:57.53ID:Q4I6Hwd50
>>926
ライブラリの話からなんでコンパイラが関係してくるんだよ
それとコンパイラってソース公開されてたっけ?
読めるかどうか自信ないけど、公開されてんなら読んでみたい
929デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/21(月) 01:13:37.10ID:KDDXOYAA0
>>928
> それとコンパイラってソース公開されてたっけ?
マジで言ってるのか?
そんなレベルでよく
> もしかしてライブラリに使われてるcのソース読まない人たちばかりなのw
なんて煽れるもんだな
930デフォルトの名無しさん (ワッチョイ a30c-7h5B)
2022/11/21(月) 01:15:39.89ID:Q4I6Hwd50
>>929
どっちだと思う?w
ここではっきりさせないほうがあなたのためになるんだと思うよ
931デフォルトの名無しさん (ワッチョイ 0610-zeL/)
2022/11/21(月) 01:23:32.91ID:fZMCNRrt0
>>928
他人の書いたコード任せというのはコンパイラを使うことにも当てはまるからだろ
932デフォルトの名無しさん (ワッチョイ e201-IwB9)
2022/11/21(月) 01:35:32.06ID:KDDXOYAA0
>>930
> それとコンパイラってソース公開されてたっけ?
なんて聞く奴なんてどっちでもいいわw
933デフォルトの名無しさん (ワッチョイ cf5f-pjEt)
2022/11/21(月) 01:57:19.90ID:mQv3uxAK0
たまにPythonの実装(C言語)を読めるのが正義、みたいに思ってるやつおるけど
大抵の場合は読む必要は無いし、勉強がてら読むか、
ライブラリ使ってて気になる挙動(不具合の可能性があるやつ)に遭遇した時に
実装確認するぐらいじゃね?
934デフォルトの名無しさん (ワッチョイ 8286-Gbp4)
2022/11/21(月) 02:12:22.30ID:5iZ5HFRw0
最速を争う言語ならコンパイラの実装に寄せて速度を稼ぐのもアリだけど、Pythonでそんなことする意味は1㍉もない
935デフォルトの名無しさん (ワッチョイ 4b02-kiOm)
2022/11/21(月) 06:45:31.12ID:rqiuWDpI0
>>927
生産性の高さという使い分けの話をしてるのに何を言ってるんだ
プログラマがPythonを使わないと言うならそうなんだろうよ
マ版に帰れよ
936デフォルトの名無しさん (ワッチョイ 86bb-hSjh)
2022/11/21(月) 07:28:42.29ID:+ijCE8q30
>>935
さわるなよ...
937デフォルトの名無しさん (テテンテンテン MM8e-l88T)
2022/11/21(月) 08:01:45.80ID:ctQ1pKCNM
ノーガードで背中向き合わせて殴り合うのやめろよ
938デフォルトの名無しさん (ワッチョイ 77f0-b3EZ)
2022/11/21(月) 12:00:35.94ID:JkH4gCyV0
伸びてると思ったらまたいつもの彼だった
939デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
2022/11/21(月) 14:37:06.50ID:LzW8OiBha
pythonのC実装ってPyObject*観たらおしまいやで
940デフォルトの名無しさん (ワッチョイ e263-TaOI)
2022/11/21(月) 15:00:05.29ID:V6ODuo3F0
死ぬのか、考え直せ
941デフォルトの名無しさん (ワッチョイ fb32-Wmq2)
2022/11/21(月) 17:00:36.18ID:p4sth+TF0
韓国どーたら言ってるスクリプトかと思ってた
942デフォルトの名無しさん (ワッチョイ 62da-fSBT)
2022/11/21(月) 17:55:36.53ID:QoaHhDq70
a = [0.2,0.6,0.1,0.3,0.9]
b = ['A','B',C''D,'',E'']
とあって、aを0.5以上ならTrue、違えばFalesの真偽値に変えて、
bからTrueのところだけ抜き出すにはどのように書けば良いですか?
943デフォルトの名無しさん (ワッチョイ 4b5f-YIey)
2022/11/21(月) 18:03:20.26ID:QQ2H2Fut0
a = [0.2,0.6,0.1,0.3,0.9]
b = ['A','B',C''D,'',E'']
c = [y for (x, y) in zip(a, b) if x >= 0.5]
944デフォルトの名無しさん (ワッチョイ 62da-fSBT)
2022/11/21(月) 18:13:38.64ID:QoaHhDq70
>>943
リスト内でfor文とif文使うんですね
ググってそれっぽい感じではあったのですが
Rのノリで書けないかなと困ってました
ありがとうございました
945デフォルトの名無しさん (ワッチョイ 0610-zeL/)
2022/11/21(月) 19:45:08.40ID:fZMCNRrt0
>>942
numpy使えば直感的にできる
a = np.array([0.2,0.6,0.1,0.3,0.9])
b = np.array(['A','B',C''D,'',E''])
print(b[a>=0.5])
946デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/21(月) 19:59:08.53ID:A4AutIcl0
numpyとかpandasのループの処理を一言に圧縮してしまう書き方は流石だよな
947デフォルトの名無しさん (ワッチョイ 62da-fSBT)
2022/11/21(月) 22:16:33.81ID:QoaHhDq70
>>945
うおお、凄くすっきりしましたね
直感で分かりやすい
ありがとうございます
948デフォルトの名無しさん (ワッチョイ 12bd-5AI7)
2022/11/21(月) 22:57:27.68ID:oF3OxSUK0
b = b'\xfc\xfc\x8a\xbf\x8e\x9a'
j = b.decode('sjis', 'ignore')
print(j)
↑これと同じ書き方をC/C++もしくはGO言語で教えて下さい
ようは、変換できないバイトは読み飛ばして残りを変換してくれればいいだけなんですけど、
調べても分かりませんでした。
949デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/21(月) 23:13:36.69ID:A4AutIcl0
古い言語は文字コード周りは苦手
950デフォルトの名無しさん (ワッチョイ 4b02-kiOm)
2022/11/22(火) 00:11:07.60ID:Bp+X7OPb0
スクリプト言語はマルチプラットフォームで高度な機能を使えるのが強みよね
windowsならMutiByteToWideCharみたいなAPIがあったはず
サクラエディタのソースコードみると良いかも
951デフォルトの名無しさん (ブーイモ MM8e-nsJM)
2022/11/22(火) 00:25:18.78ID:+xD7yK0XM
半島系帰化人w
952デフォルトの名無しさん (ワッチョイ 12bd-5AI7)
2022/11/22(火) 00:42:24.43ID:slO7/hzp0
みなさま
ありがとうございます。
エディタのソースコード、確かによさそうですね。
バイナリエディタとか凄い重いファイルでも一瞬で開くので実装参考にしたいですね。
理解できるか分かりませんが・・。
勉強してみます。
953デフォルトの名無しさん (ワッチョイ 8284-IZXK)
2022/11/22(火) 01:51:55.36ID:f0vxwxjs0
愚直に(lib)iconvで変換でいいんじゃない?
止まったら飛ばして変換続けるだけの単純な作業
それかiconvにかわる何かがあれば逆に知りたい
954デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
2022/11/22(火) 10:09:35.89ID:E0zMoWY7a
ICUって息してる?
955デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
2022/11/22(火) 10:17:27.77ID:E0zMoWY7a
>>954
自己レス
一応生きてるのか
https://www.nslabs.jp/icu-conversion.rhtml
しかし成績悪そう
956デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 11:34:21.49ID:9/2xLKFJ0
文字コードから文字コードへのmapがちゃんとしてないので、
文字コード変換は本質的に不完全
957デフォルトの名無しさん (ワッチョイ c363-IwB9)
2022/11/22(火) 11:47:50.42ID:KtDRh9XQ0
MSが変な実装したせいだろう
「~」辺りがおかしくなる
958デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 12:00:04.37ID:9/2xLKFJ0
間違ったかなり後で修正したので、どっちもありというさらにややこしいことに
959デフォルトの名無しさん (ワッチョイ ef4f-kfYZ)
2022/11/22(火) 12:31:19.51ID:p3XTSB6d0
Ruby では、NKF を使う

Iconvは、Ruby 1.9から非推奨
960デフォルトの名無しさん (ワッチョイ 86bb-hSjh)
2022/11/22(火) 12:36:55.88ID:JTJ5aKX00
>>959
NKFを利用する理由とIconvが非推奨な理由を書かなければ、ここでは無駄なレス
961959 (ワッチョイ ef4f-kfYZ)
2022/11/22(火) 13:19:03.79ID:p3XTSB6d0
Ruby では、UTF-8 がデフォルトなので、
そのバイナリをCP932 として入力・解釈し、CP932として変換・出力すると、
解釈できない文字はデフォルトで、? に置き換えられる

bin = "\xfc\xfc\x8a\xbf\x8e\x9a"
p bin.encoding #=> <Encoding:UTF-8>

bin.encode!( 'CP932', 'CP932', :invalid => :replace )
p bin.encoding #=> <Encoding:Windows-31J>

p bin #=> "\x{FCFC}\x{8ABF}\x{8E9A}"
puts bin #=> �漢字
962デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/22(火) 22:26:00.01ID:ntrRKrLv0
Pythonにボロクソに負けて悔しいRubyキチガイ
Rubyはもう終わってるから出てくるなよ
963デフォルトの名無しさん (アウアウウー Sa3b-t8YJ)
2022/11/22(火) 22:32:18.24ID:XgKPIgaCa
てか今ruby使う意味あるの?
どう考えても乗り換えた方がいいよね?
どう贔屓目に見ても衰退していく一方でしょ?
964デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 22:43:14.72ID:9/2xLKFJ0
Ruby on Railsは今でも生き残ってるのでrubyも使われていると言えなくもない
そんなこと言ったら、perlだって今でもいろんな所で使われ続けている

それらは今更新しいもので置き換えるコストもかけてられないし、
今後も使い続けられるだろうけど、新規で何かを作ろうとは思わない
単に保守され続けるだけ
965デフォルトの名無しさん (ワッチョイ 8208-IZXK)
2022/11/22(火) 22:45:50.82ID:zrKnB8vd0
とにかく動くサービスつくりたいならTSかRuby(Rails)と思うけどな
べつにひとつの言語に縛られるわけじゃなしよくわからん
966デフォルトの名無しさん (ワッチョイ 06cf-TaOI)
2022/11/22(火) 23:08:58.16ID:OdNuXGxn0
この急落ぶり
https://www.itmedia.co.jp/news/articles/2211/18/news120.html
967デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 23:13:41.08ID:9/2xLKFJ0
JavaScriptが1位を独走するようなサンプリング空間はどうでもいい
968デフォルトの名無しさん (ワッチョイ c363-TaOI)
2022/11/22(火) 23:15:48.79ID:KtDRh9XQ0
世の中で一番使われている言語って何だろう
969デフォルトの名無しさん (ワッチョイ ef8e-P3Qh)
2022/11/22(火) 23:17:45.60ID:ntrRKrLv0
英語
970デフォルトの名無しさん (ワッチョイ c363-TaOI)
2022/11/22(火) 23:19:46.87ID:KtDRh9XQ0
https://www.mext.go.jp/b_menu/shingi/chukyo/chukyo3/004/siryo/attach/1379956.htm

ううむ・・・w
971デフォルトの名無しさん (ブーイモ MM8e-nsJM)
2022/11/22(火) 23:22:54.71ID:2AIJDKvEM
半島系帰化人のように
ゲリ便をジュルジュルと食べる!
おいしい!
972デフォルトの名無しさん (ワッチョイ 0610-zHbW)
2022/11/22(火) 23:33:20.26ID:JScWF1cX0
>>968
そらC言語よ
973デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 23:34:19.78ID:9/2xLKFJ0
最もライトな層まで含めると、VBAとかになるじゃない?
974デフォルトの名無しさん (ワッチョイ 06cf-zHbW)
2022/11/22(火) 23:39:13.16ID:tXIkHCtk0
今の時代は、HTML・CSS・JavaScript がかなり使われているだろうなあ
975デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 23:42:03.33ID:9/2xLKFJ0
うちのサイトは今でもhtml手書きだけど、自動生成でないhtmlなんてごく僅かだろう
976デフォルトの名無しさん (ワッチョイ c363-TaOI)
2022/11/22(火) 23:42:27.60ID:KtDRh9XQ0
開発現場で使われている言語で評価するか、
稼働しているシステム上の実行イメージ数で評価するか、
稼働でみると意外にCobolやFortranが浮上してきたりするかも
ファームまで含めればC言語なのかな?(アセンブラは除くとして)
977デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/22(火) 23:49:09.81ID:9/2xLKFJ0
動いてる、で勘定するとJavaの35億なんじゃないの
新たにコードを書いている件数でないと
978デフォルトの名無しさん (ワッチョイ 8286-Gbp4)
2022/11/22(火) 23:56:29.46ID:lS6Dux4J0
C#じゃないの
Windowsマシン一台につき何十本単位で常時動いてるわけで
979デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/23(水) 00:08:36.59ID:GanADpvO0
intel CPUのマイクロコードはもっと動いてるな
動いてる禁止
980デフォルトの名無しさん (ワッチョイ c363-TaOI)
2022/11/23(水) 00:11:55.71ID:aRKGS4gV0
Windows機とスマホとどちらが多いかな・・
981デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/23(水) 00:32:13.84ID:GanADpvO0
スマホで開発してる人はおらんので無視してok
982デフォルトの名無しさん (ワッチョイ c363-TaOI)
2022/11/23(水) 00:33:38.11ID:aRKGS4gV0
そうなると開発環境が入っていないPCは除外しないといけなくなる
983デフォルトの名無しさん (スッップ Sd02-OF5o)
2022/11/23(水) 07:35:48.94ID:+HF9qHMxd
>>969
中国語だぞ
984デフォルトの名無しさん (ブーイモ MMdb-7Dqo)
2022/11/23(水) 07:44:50.17ID:z/dj8+x2M
cscはVista以降標準だから
985デフォルトの名無しさん (アウアウウー Sa3b-kfYZ)
2022/11/23(水) 11:05:03.50ID:DxhXFxCJa
>>964
ほんそれ

>>965
だから新規でわざわざ覚える必要無い言語のphaseになってるって話
986デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/23(水) 11:15:16.02ID:GanADpvO0
過去に作ったperlのツールに機能追加とかしたくなった時に、
折角だからpythonに移植したりする

正規表現周りはperlの方が優れてる気がする
987デフォルトの名無しさん (ワッチョイ a361-Os4M)
2022/11/24(木) 09:39:50.37ID:mTxkC9sF0
l = [0, 1 ,2 ,5, 7]
n = 4

ln = [0, 1, 2, 4, 5, 7]

数値比較をして、prev <= x <= next位置に挿入する
myInset()関数作りたいんだけど、ループと代入連打して泥臭く書いてくしかないですか?

ちなみにリストは全部int型、重複あり、ソート済み
入力値もint型、既存要素と同値ありです
988デフォルトの名無しさん (ワッチョイ 9714-mZSb)
2022/11/24(木) 09:46:01.19ID:pE6vyhc80
追加してソートしたほうがはやそう
989デフォルトの名無しさん (ワッチョイ 0646-7h5B)
2022/11/24(木) 09:47:30.34ID:hkNOvNmL0
bisectとlist.insert
990デフォルトの名無しさん (ワッチョイ 9714-mZSb)
2022/11/24(木) 09:48:18.83ID:pE6vyhc80
手順を守りたいならfindとinsertでしょうね
991デフォルトの名無しさん (ワッチョイ ef33-mBx9)
2022/11/24(木) 09:50:39.01ID:A6xfpKBe0
れすつくんはやすぎん?
992デフォルトの名無しさん (ワッチョイ 067b-DbPa)
2022/11/24(木) 09:51:07.83ID:8kN4Xh6N0
元が重複ありソート済みなら>>988で問題ないんでないの?
993デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/24(木) 09:51:12.68ID:rkq3RdV60
殆どソートされてるものをソートするコストは低そう
やろうとするのはソート処理の一部を自前で書こうというもので、
既製品を使った方が簡単で速い
994デフォルトの名無しさん (ワッチョイ 6279-X10Z)
2022/11/24(木) 10:24:14.77ID:tW757r1O0
>>987
import bisect
bisect.insort(l, n)
リストに挿入ならこれ一発で
995デフォルトの名無しさん (JP 0Haf-Os4M)
2022/11/24(木) 10:31:16.11ID:un5pV6iGH
一見面白そうな話かと思ったが普通にappend後ソートしかなかった
996デフォルトの名無しさん (ワッチョイ ef33-stRS)
2022/11/24(木) 10:55:43.29ID:A6xfpKBe0
こういう時は大抵、insort_leftみたいに専用のモジュール使った方がだいぶ早い
997デフォルトの名無しさん (オッペケ Srdf-zeL/)
2022/11/24(木) 16:38:02.61ID:svdfhu67r
append後ソートは流石に無駄が多すぎ
上で答え出てるが木構造ベースのアルゴリズム使えばO(logN)で挿入出来る
998デフォルトの名無しさん (ワッチョイ 4e66-QT9j)
2022/11/24(木) 17:21:29.41ID:rkq3RdV60
そういうのは速度で困ってから考えればいい
999デフォルトの名無しさん (ブーイモ MM02-p73K)
2022/11/24(木) 18:42:35.06ID:w9TFu4+VM
速度に困りそうなときはbisect、一発動けばいいときはsortで済ませちゃうかもな
bisectは標準モジュールだし、辞書でC++のmapのlower_bound/upper_bound相当のことをしたいときにも使えるから知っていて損はないと思うけどね
本当に速度を追求するなら、Pure PythonじゃないB treeとかを使いたくなるよね。
めんどくささは速度を追求するほど上がっていくから確かにどの程度速度で困っているかによってベストの実装は変わるとは思うけど。
1000デフォルトの名無しさん (ワッチョイ 0610-zHbW)
2022/11/24(木) 21:18:28.52ID:gexHL2NZ0
1000
ニューススポーツなんでも実況


mmp
lud20250923225348nca

ID:Z2W6Vqfk0のレス一覧:


245デフォルトの名無しさん (ワッチョイ ff14-51cu)
2022/10/07(金) 19:08:20.49ID:Z2W6Vqfk0
pyautogui素晴らしい最初に知りたかった
246デフォルトの名無しさん (ワッチョイ 6f66-58Gi)
2022/10/07(金) 20:11:45.22ID:f7Qxxz6p0
ぴゃうとぐい
247241 (ワッチョイ c34f-LIzE)
2022/10/07(金) 23:54:53.64ID:cLCpsl3k0
TOML のValidator で、TOMLファイルの形式が正しいかどうか、チェックすれば?
「toml validator online」で検索!

プログラマーなら、VSCode で、〜/toml/decoder.py をデバッグするとか、

decoder.pyを差し替えて、
raise ValueError("Duplicate keys!") の前後で、ログ出力してみるとか
248デフォルトの名無しさん (ワッチョイ 0666-37Vs)
2022/10/08(土) 07:10:23.20ID:kX9hT5zA0
PyAutoGuiも便利だけど何でもできるかというとかなり限定的

画面がこういう状態になったらこの条件に合う部分を探して、
この範囲をコピーしてこのアプリに切り替えてコピペ
みたいなことはできない
249デフォルトの名無しさん (ワッチョイ de10-QDWw)
2022/10/08(土) 07:26:14.47ID:Qqe7/SLY0
ディスプレイを切ったら動かないのも使いづらい
250デフォルトの名無しさん (アウアウウー Sa2f-mRh5)
2022/10/08(土) 11:25:58.24ID:TDMvIP2Ta
ライブラリ関数の情報を調査する方法についての質問です
sagemathというpython wrapperにあるpolygon3dという関数がどういうキーワード引数を持っているのか調べたいのです
ググるとinspect.signature関数というのが見つかります
コレでpolygon3dを調べてみると
signature = inspect.signature(polygon3d)
print(signature.parameters)

OrderedDict([('points', <Parameter "points">), ('options', <Parameter "**options">)])
と出ます
おそらく位置引数'points'とキーワード引数がいくらかあるという意味だと思うのですがやはりコレが限界なんでしょうか?
どんな名前のキーワード引数を持ってるかの一覧表を出力するような方法はないもんなんでしょうか?
251デフォルトの名無しさん (ワッチョイ de10-XciQ)
2022/10/08(土) 12:37:16.55ID:ymJkU01o0
>>250
オープンソースなんだからGitHubに見に行けばいいじゃん
252デフォルトの名無しさん (アウアウウー Sa2f-mRh5)
2022/10/08(土) 14:49:02.11ID:hw6LN7oLa
>>251
そうなんです
実際sagemathは割とドキュメントもしっかりしててググれば一覧とかもあります
でもいちいちめんどくさいじゃないですか
もしかしたら各オプジェクトで利用可能なキーワード引数のリストを得る方法とか容易されてたら便利でいいなぁと
結構ググったのでなさそうではあるんですけど、調べて「あった」場合はともかく「ないなぁ」の場合、やはり最終的には強者に聞いてみないとダメかなと
253デフォルトの名無しさん (ワッチョイ 4aa5-gAv1)
2022/10/08(土) 15:06:18.06ID:lWG3uN0c0
ドキュメントをぶっこ抜いてその関数がどんな引数とるかのポップアップをエディタで出せばいい
254デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/08(土) 15:13:56.04ID:bWQzA1rj0
pyautogui
エラー出さずにできましたが最適ではない気がします
下記のやり方より良い方法があれば教えて欲しいです


pyautogui.write() でエクスプローラーのアドレスにパスを打ち込む時
日本語や \ が入力できなかったり、最初の C: が C* に勝手に変わったりしました
・pyperclip を使って値をコピーしてから、pyautogui.hotkeyで貼り付けました


pyautoguiを使って検索したりクリックしたりする時
・画像認識してから次の処理する時は、while pyautogui.locateOnScreen() is None: で time.sleep(1) させて
・検索結果表示とか全選択とか、少し時間がかかりそうな箇所は逐一改行して「time.sleep()」を書きました
これを書くのが結構あってcodeが余計に長くなりました
255デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/08(土) 15:27:35.37ID:bWQzA1rj0
pyautogui 便利だけどマウスとモニターが使用不可になるのだけは面倒でした
下のソフトの処理ができるなら別のもので構わないのですが、pyautogui以外でやってる人がいたら教えてください

・Adobe Acrobat
・Evernote ※Legacy版
・ソシャゲ全般(デイリー回収用)
256デフォルトの名無しさん (ワッチョイ 0666-37Vs)
2022/10/08(土) 15:49:00.05ID:kX9hT5zA0
ahkで簡単なことはやらせてる
python化されたahkがあればいいのにと思っている
257デフォルトの名無しさん (ワッチョイ b301-3XK+)
2022/10/08(土) 15:57:12.38ID:IpF+MZYD0
ahkって何?
258デフォルトの名無しさん (ワンミングク MM3a-TLx9)
2022/10/08(土) 16:00:09.87ID:xEoQJfh1M
sleepが面倒なら画像名を指定するだけで待ち&クリックする関数を作れば良いんでない
バックグラウンドでの使用は、昔VPCを多重起動して使ってたことあるけど今でも出来るんかな
昔、某MMOでプロセスメモリの内容を読み取って動くマクロとか作ったけど
プロセスメモリが読めればエスパーなマクロが作れるよ
259デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/08(土) 20:40:05.22ID:bWQzA1rj0
>>258
それでやってみます
ゲームに使えるならプロセスメモリもその内手を出しそうです
260デフォルトの名無しさん (ワッチョイ 034f-6jYr)
2022/10/09(日) 00:21:51.03ID:t9JKJStV0
>>252
VSCode, Ruby では拡張機能で、関数の説明なども見れる

また端末から、そういうコマンドを実行しても見れるけど、
ブラウザで見た方が見やすいので、
一旦コマンドで説明をHTML ファイルにしてから、それをブラウザで見て、
見た後に、HTMLファイルを削除する。
これが自動で行われる

ただし、その関数・モジュールの作者が、
Doc コメントみたいな決められた様式で、コメントを書いている場合のみ

たいてい、Doc コメントの説明などは、
パーフェクトRuby などのパーフェクト・シリーズ本に書いてある
261デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/09(日) 04:21:23.14ID:L81MTKQk0
クリップボードにpathlibのPathで指定した、不特定多数のファイルをコピーをしたいのですが方法が分かりません
コピーするファイルは、フォルダー・テキスト・画像・動画・PDF関係なく、PC上で選択してCtrl+Cできるファイル全てが対象です

pyautogui.hotkey(“Ctrl”,”v“) を使って貼り付ける予定です。※Evernote Legacyというメモアプリ上で使いたい

pyperclip、shutil、pillow関連の記事は見つかるのですが、クリップボードに複数・拡張子問わずコピーする方法が見つかりません
どうすればできるのか教えてください
262デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/09(日) 04:59:04.96ID:L81MTKQk0
今のところPathにあるファイル名いじって、検索かけてから全選択して、pyautogui.hotkeyでコピーするという遠回りなやり方でしてみました
263デフォルトの名無しさん (ワンミングク MM3a-TLx9)
2022/10/09(日) 11:51:56.93ID:xdRBYpSIM
FileDrop形式に変換できれば良いんだろうけどパッと検索してみた限り難しそうだね
VSを使ってクリップボードを監視してファイル名が含まれていたらFileDrop形式に変換するアプリを自作するか
コピー用のtempフォルダにファイルを一旦コピーしてから全選択→貼り付けとかでも良さそう
264デフォルトの名無しさん (ワッチョイ ca14-0xn2)
2022/10/09(日) 16:29:09.15ID:L81MTKQk0
>>263
FileDrop形式という単語を知れただけでも良かったです。ありがとうございます
265デフォルトの名無しさん (ワッチョイ cb63-rqSc)
2022/10/09(日) 20:19:39.13ID:nf8IBTFd0
chm形式のヘルプが3.7までしか野良に無いんだけど、3.10(stable)のchmどこかに無い?
公式はDLしたいけど404でオンラインでしか参照できなくて困ってる
266デフォルトの名無しさん (ワッチョイ de63-KmYx)
2022/10/09(日) 20:45:08.96ID:Ozrjh9EB0
>>265
公式にpython3107.chmあるし、落ちてくるよ
267デフォルトの名無しさん (ワッチョイ cb63-rqSc)
2022/10/09(日) 20:53:03.75ID:nf8IBTFd0
>>266
すまん、日本語版希望。。。
githubに3.7jpビルドしてる人の使ってる
268デフォルトの名無しさん (ワッチョイ 034f-iygP)
2022/10/09(日) 23:28:35.38ID:t9JKJStV0
>>261
漏れは、Ruby で、drag&drop での複数ファイルの移動処理を作ったけど、
これはファイルのみに適用される。
フォルダの再帰的コピーも出来るみたい

require 'fileutils'

dest_dir = "C:/Users/Owner/Documents/tmp/"

# ARGV は、ドロップした複数のファイルパスの配列
ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
file_name = File.basename( full_path ) # ファイル名のみ

FileUtils::DryRun.move( full_path, dest_dir + file_name)
end

sleep # 出力したコマンドプロンプト画面を閉じないようにする
269デフォルトの名無しさん (ワッチョイ 9eda-y5q7)
2022/10/11(火) 09:09:33.80ID:L++CLq2X0
すみません、jupyter labで下記のように記述して実行したんですが、エラーでサイトが開きません。原因わかる方いらっしゃいませんか?
url = ''https://telegram.org/''
browser.get(url)

エラー内容
NoSuchWindowException: Message: no such window: target window already closed from unknown error: web view not found

browser.getをdriver.getに変えて試してもみましたがダメでした。
urlについてはサイトに飛べることをurlクリックで確認しました。
270デフォルトの名無しさん (ワッチョイ 5ebb-Ir1l)
2022/10/11(火) 09:22:50.72ID:S+x+TbIN0
エラーメッセージの内容を切り分けて質問しろよ

エラーの原因はすぐわかるだろ
web view not found

まぁ、こんな状態でスクレイピングとかアホかって感じだけど
271デフォルトの名無しさん (ワッチョイ 9eda-y5q7)
2022/10/11(火) 09:43:03.84ID:L++CLq2X0
>>270
回答どもでーす
272デフォルトの名無しさん (ワッチョイ 674f-eeYm)
2022/10/12(水) 16:39:03.55ID:+cq2T5fE0
python 3.10.8インストールしようとしたらエラー出る

こういうやつな
https://pullanswer.com/questions/python-3-10-8-amd64-exe-fails-with-access-is-denied
273デフォルトの名無しさん (ワッチョイ 9fda-3XK+)
2022/10/12(水) 16:41:57.24ID:Q9qje2Sc0
ご愁傷様
274デフォルトの名無しさん (ワッチョイ ca26-eeYm)
2022/10/13(木) 13:50:28.26ID:uklwGmra0
>>272だけど今試したら3.10.8インストール出来た
https://www.python.org/ftp/python/3.10.8/amd64/ のフォルダの属性設定を間違えてたらしい

よって>>273は昨日の時点ではインストールしてないとすぐに分かるんだね
275デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/13(木) 18:02:26.26ID:SD2zWMPC0
import pandas as pd
df = pd.DataFrame(
[[10,"a", True],
[20,"b", False],
[30,"c", False],
[40,"d", True]])
#というデータフレームを定義したとして、0列目、2列目を独立して処理したとします
#これを最終的に結合したいのですが、
a = pd.DataFrame(df.iloc[:,0],df.iloc[:,2])
# というようにすると
0 1
0 10 True
1 20 False
...
というデータフレームではなく、
0
2
True NaN
False NaN
False NaN
True NaN
というデータフレームになってしまいます。なんで欠損値になってしまうのか
わからないのですが、求めるデータフレームを作るにはどういう結合方法をとればいいでしょうか。ちなみに、
p=df.iloc[:,0]
に対して
p["A"] = df.iloc[:,2]
という方法は、pがSeries型なので取れないです。一旦Series型にして取り出してから処理して結合させたいのです。どうすればいいでしょうか。
276デフォルトの名無しさん (ワッチョイ 6717-0bkW)
2022/10/13(木) 18:15:58.69ID:rU12tc+I0
んちんちん
277デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/13(木) 18:37:05.73ID:1c9Wc9kf0
pandas詳しくないけど
a=df.iloc[[0,2]]で出来たお
278デフォルトの名無しさん (ワッチョイ 0666-37Vs)
2022/10/13(木) 18:44:41.46ID:7YLMS5Bz0
pandasはそれだけでスレ作ってもいいくらい複雑で深いな
279デフォルトの名無しさん (ワッチョイ de10-QDWw)
2022/10/13(木) 19:07:19.22ID:ZrA3PYH80
二重のforループ抜けるときフラグを使ってるんですけどもっとかっこいいやり方ありますか?
for i in range(10):
flag = False
for j in range(10):
if hoge[i][j] == fuga:
piyo()
flag = True
break
if flag:
break
280デフォルトの名無しさん (アウアウウー Sa2f-luLW)
2022/10/13(木) 19:21:12.59ID:glAi4q7Na
二重ループを使わない
281デフォルトの名無しさん (ワッチョイ de10-bGEg)
2022/10/13(木) 19:23:22.28ID:0KS7pmji0
for-else

for i in range(10):
__for j in range(10):
____if condition:
______break
__else:
____continue
__break

例外

try:
__for i in range(10):
____for j in range(10):
______if condition:
________raise Exception
except:
__pass

他には関数にして脱出はreturnとか
282デフォルトの名無しさん (ワントンキン MM3a-TLx9)
2022/10/13(木) 20:02:02.53ID:PAZSTe6jM
検索ならin演算子を使って1ループに出来そう
for i in range(10):
if fuga in hoge[i]:
print("piyo")
break

他にはnumpyのany使うとか
def is_contain(l, data):
a = np.array(l)
return np.any(a==data)
283デフォルトの名無しさん (ワッチョイ 8a63-KmYx)
2022/10/13(木) 20:03:15.66ID:QL8so1O30
よほどのクリティカルなイシューが解決されたのでなければ
アップデートされたからと言って、慌てて入れないもんだよ
284デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/13(木) 20:15:24.40ID:SD2zWMPC0
>>277
一回それぞれ個別のSeries型を抽出してからくっつけたいんです。
285デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/13(木) 20:24:16.77ID:SD2zWMPC0
わかりました。Series型だと追加できないので一回一列だけのDataFrame型に変換すればいいみたいです。

a = pd.DataFrame(df.iloc[:,0])
そのあと、列追加で
a.loc[:,"new column"] = df.iloc[:,2]
とやれば追加できました。
286デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/13(木) 20:32:37.12ID:1c9Wc9kf0
こうかな
a = pd.DataFrame([df.iloc[0, :], df.iloc[2, :]])
print(a)

numpyになると[行, 列]になってややこしくなるのを思い出した
287デフォルトの名無しさん (ワッチョイ de10-QDWw)
2022/10/13(木) 20:43:16.18ID:ZrA3PYH80
>>281
breakしたらelse飛ばす挙動は知らなかったです
ありがとう
288デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/13(木) 20:45:51.49ID:1c9Wc9kf0
l = list()
l.append(df.iloc[0, :])
l.append(df.iloc[2, :])
a = pd.DataFrame(l)
print(a)

見やすくするならこうやね、勉強なるわ
289デフォルトの名無しさん (ワッチョイ 9fda-3XK+)
2022/10/13(木) 21:15:44.80ID:Tqa4ZL2z0
>>274
WSL2+Docker使ってるからな
実機には入れない
290デフォルトの名無しさん (ワッチョイ 8a01-761C)
2022/10/13(木) 21:37:50.04ID:vk/pladO0
>>281
その三択なら読みやすさ的に
関数にしてearly return一択だと思うんだけどなぁ
291デフォルトの名無しさん (ワッチョイ 6717-0bkW)
2022/10/13(木) 23:54:28.43ID:rU12tc+I0
んチンチンンンンンンン
292デフォルトの名無しさん (ワッチョイ 6b10-SUfT)
2022/10/14(金) 01:29:03.54ID:0UzEEAJh0
>>286
行・列逆
293デフォルトの名無しさん (ワントンキン MM3a-TLx9)
2022/10/14(金) 05:44:04.16ID:WQ3ra/reM
>>292
ごめん文盲やったわ
294デフォルトの名無しさん (ワッチョイ 6f02-TLx9)
2022/10/14(金) 05:58:04.32ID:CNXM2/Lz0
sr1 = df.iloc[:, 0]
sr2 = df.iloc[:, 2]
a = pd.DataFrame({"0" : sr1, "1": sr2})
print(a)

辞書型で登録
今度こそどや
295デフォルトの名無しさん (ワッチョイ 6b10-c2gf)
2022/10/14(金) 23:30:33.11ID:0UzEEAJh0
>>294
できました!辞書型なら列追加できるんすね
296デフォルトの名無しさん (ワッチョイ 0b10-spri)
2022/10/15(土) 01:53:05.91ID:gy4T8Zz60
df_merged = pd.concat([df.iloc[:, 0], df.iloc[:, 2]], axis=1)
297デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 08:25:41.38ID:w1fQiwU/0
iloc()じゃなくてiloc[]の時点で、何しとるのかよく判らん
298デフォルトの名無しさん (ワッチョイ 1f84-TyQf)
2022/10/15(土) 10:37:21.32ID:Awb5Gbls0
https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.iloc.html
ドキュメント嫁
299デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 14:09:18.62ID:wUAlKc2l0
質問です。
配列内にアルファベットの要素がランダムに複数個入っています。
これらの要素をなるべく隣り合わないように並べ替えるにはどうするといいでしょうか?
例:AAABBC -> ABACAB
300デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 14:14:45.53ID:w1fQiwU/0
不可能なパターンがあるな
301デフォルトの名無しさん (テテンテンテン MM7f-w9bA)
2022/10/15(土) 14:20:59.88ID:1JUKlkYAM
>>299
なるべくっていう処理はコンピュータには不可能
きっちり仕様として示せる処理でなければならない
302デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 14:30:34.17ID:ttRM3D3c0
>>299
隣合うのが不可避の場合どうするのか
前に溜めるのか後ろに溜めるのか
2文字ずつ並ぶ→3文字ずつ並ぶのように緩和するのか
303デフォルトの名無しさん (アウアウウー Sacf-gp7B)
2022/10/15(土) 14:38:02.16ID:PHpzEK3Ka
>>301
最短を目指すとかよくあると思うけど
304デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 14:45:59.33ID:wUAlKc2l0
>>302
前後に貯めるのではなく、2文字ずつ並ぶ→3文字ずつ並ぶのように緩和できるようにしたいです。
例:AAAAAABBC -> AABAACABA
305デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 14:49:24.73ID:w1fQiwU/0
AABAACABA はNG箇所が2だけれど、
AAABACABA にすると1箇所で済む

2連続2箇所よりも3連続1箇所の方がスコアが低くなる評価関数の定義が必要
306デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/15(土) 14:49:49.52ID:VXb7W7XW0
こういうパズル的なのはプログラミングお題スレで出題する方が早く回答が付きそうだな
307デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/15(土) 14:51:37.73ID:VXb7W7XW0
>>305
n連続は1箇所につき2^n点のペナルティを課すとかは?
308デフォルトの名無しさん (テテンテンテン MM7f-w9bA)
2022/10/15(土) 14:55:21.58ID:1JUKlkYAM
>>306
いや、ていうかよく考えたらこの質問Python関係ないじゃんね
309デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 15:03:04.47ID:wUAlKc2l0
>>308
すいません。
使っているのがpythonだったのでここで質問しました。

やはり難しいようなので、皆さんのコメントを参考に自力で考えてみようと思います。
ありがとうございました。
310デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 15:15:21.01ID:ttRM3D3c0
>>304
26要素のリストで各文字の個数をカウント
最大のものを見つけ出す
最大/他全部で連続個数が分かる
最大の文字を連続個数並べて他の文字を順番に挟む
挟む時は各文字の文字数をつじつま合うようにリストをカウントダウンして調整

同じ文字は可能な限り離したいとか条件追加するともっと難しくなる
311デフォルトの名無しさん (ワッチョイ 0fbb-BCAW)
2022/10/15(土) 15:17:51.26ID:ubtsaD1N0
>>300
ちゃんと確認してないけど、交互に置けない場合が条件になるのかな?

不可能条件
最頻出文字数 > 文字総数/2
かな
312デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 15:17:59.84ID:ttRM3D3c0
文字の挿入は総数がつじつま合うようにもっと工夫が必要だな
まあ頑張ってくれ
313デフォルトの名無しさん (ワッチョイ 0fbb-BCAW)
2022/10/15(土) 15:18:54.05ID:ubtsaD1N0
かぶった上に劣化だった><
314デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/15(土) 15:33:35.79ID:wUAlKc2l0
>>310
>>311

ありがとうございます。
試してみます。
315デフォルトの名無しさん (ワッチョイ 9f01-QrOW)
2022/10/15(土) 15:53:38.83ID:2u2iBEwS0
>>303
「なるべく」は結果についての話
最短は手順の話だから違うよね
316デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 16:21:01.13ID:w1fQiwU/0
ガチでなるべくなヒューリスティックな問題の方が現実には多い
317デフォルトの名無しさん (アウアウウー Sacf-gp7B)
2022/10/15(土) 16:39:39.77ID:ywjmScUEa
>>315
今回は結果の話しかないよな
318デフォルトの名無しさん (ワッチョイ bb02-003c)
2022/10/15(土) 17:41:55.96ID:Hv7z/9nw0
思いつきだけど
[合計文字数][26]の2次元配列を作る
各文字ごとに均等に配置
空白部分には空白なりNoneなり入れる
2次元配列を縦方向に連結して1次元配列にする
空白を除去する
ってのはどう?

aaabbc
[a,n,a,n,a,n]
[b,n,n,b,n,n]
[c,n,n,n,n,n]
abcaba
319デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/15(土) 17:50:25.10ID:ttRM3D3c0
>>318
合計じゃなくて最大個数の文字数でいいな
320デフォルトの名無しさん (ワッチョイ 9f14-Z7Nq)
2022/10/15(土) 18:29:11.63ID:a1geBJ2n0
for文の途中で条件に当てはまったら、for文の任意の値から処理を再開させる書き方とかありますか?
例えば「for x in range(10):」とあったとして、7の途中で条件に当てはまったら、3から再開してそのまま最後まで処理するみたいな
321デフォルトの名無しさん (ワッチョイ 0f10-cJ6U)
2022/10/15(土) 18:32:12.78ID:VXb7W7XW0
while使った方がいい
322デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/15(土) 18:48:06.23ID:w1fQiwU/0
処理で条件が変わるような場合は、whileにしてもハマる
いつ終わるか判らないようなループは本質的に不安定
323デフォルトの名無しさん (ワッチョイ 9f90-JnlY)
2022/10/15(土) 18:48:39.13ID:i+M+Mx9R0
再帰でいいのでは?
324デフォルトの名無しさん (ワッチョイ 9f01-QrOW)
2022/10/15(土) 18:52:19.28ID:2u2iBEwS0
>>320
そういうジェネレータ作ってrangeと置き換えればいいんじゃね
325デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 19:03:32.69ID:jl8SG5IY0
あんま綺麗じゃないけど、こんな感じでいいのか?
競プロの連中ならもっとスマートなの書いてくれるはず

text = "aaabbc"
char = "abcdefghijklmnopqrstuvwxyz"

char_dict = []
for c in char:
____count = 0
____for t in text:
________if c == t:
____________count += 1
____if count > 0:
________char_dict.append({"name":c, "count":count, "left":count})

char_dict = sorted(char_dict, key=lambda e: (e["left"], -e["count"]), reverse=True)
result = ""
pre = ""
for _ in text:
____ci = 0
____while True:
________now = char_dict[ci]["name"]
________if now == pre:
____________ci += 1
________else:
____________result += now
____________pre = now
____________char_dict[ci]["left"] -= 1
____________char_dict = sorted(char_dict, key=lambda e: (e["left"], -e["count"]), reverse=True)
____________break

print(result)
326デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 19:10:00.74ID:jl8SG5IY0
よく見たら、聞くまでもなくダメなやつだなすまん
327デフォルトの名無しさん (ブーイモ MMbf-g1uO)
2022/10/15(土) 19:57:10.99ID:icx3tYx0M
>>325
とりあえずcollectionsのCounterだけは覚えようか
328デフォルトの名無しさん (ワッチョイ bb02-003c)
2022/10/15(土) 20:30:20.03ID:Hv7z/9nw0
Numpyで作ってみたで
https://ideone.com/nQcfVW
329デフォルトの名無しさん (アウアウウー Sacf-zhLr)
2022/10/15(土) 20:30:36.10ID:Ji35UDrea
きったね
330デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 20:48:46.65ID:jl8SG5IY0
>>325
ありがとう

このソートって思ったよりも難しいな
ツリー構造は理解できねえわ
331デフォルトの名無しさん (ワッチョイ 0f02-9zfq)
2022/10/15(土) 21:15:49.97ID:jl8SG5IY0
アンカミスってた

>>327
ありがとう
332デフォルトの名無しさん (ワッチョイ 9f79-7iBv)
2022/10/16(日) 01:02:14.69ID:moLuv1n40
>>299
https://ideone.com/b6vqgk
すごーく分かりづらいけど、2種類に分けて導き出した
区切り文字中心に考えたのに、そこで処理を分けてない体たらく
あと、同じ文字は出来るだけ遠く?は難しかった

〆切ってそうな話題ですまん、Python覚えたくてやってみた
333デフォルトの名無しさん (ワッチョイ 6b01-apoB)
2022/10/16(日) 20:28:46.68ID:MD6QHwBW0
質問です。
vscordとpycharmと他のパイソン系なのですが
「マルチグラボ」対応してるのを探してます。
お勧めはありますか?
334デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/16(日) 20:56:42.88ID:tl8sUwzf0
Windowsで作成した画像を外付けHDDに保存する。
※macとWindows共通で使えるFAT32使用
それをmacPCのpythonのglobで画像のパスを読み込んだ時に
「バスケ」や「ポケモン」などの濁点と半濁点の検索ができません。
※printで中身を見るとあります。
原因や対処方法がありましたら教えて下さい。
335デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/16(日) 21:20:40.98ID:F/Fiy6Pc0
unicodedata.normalize()
336デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/16(日) 21:28:07.05ID:cG9YvU2e0
あれはあれでunicodeなんだよな
統一できてない
337デフォルトの名無しさん (ワッチョイ 9f89-2yG4)
2022/10/16(日) 21:50:36.51ID:tl8sUwzf0
>>335
ありがとうございます。
うまくできました。
338デフォルトの名無しさん (スププ Sdbf-OxQn)
2022/10/16(日) 22:24:25.86ID:U1duiFVid
>>299
これ貪欲法で解ける??
解けるならAtcoderのCくらいででそう
339デフォルトの名無しさん (ワッチョイ 2b4f-spri)
2022/10/16(日) 22:53:43.69ID:1lEHOAQp0
Mac は「ハ + 濁点」「ホ + 半濁点」に分割しているのか

1文字にまとめるのが普通
340デフォルトの名無しさん (ワッチョイ ef66-MUdf)
2022/10/16(日) 23:02:52.94ID:cG9YvU2e0
昔からそうだったとかでもないのに
デファクトスタンダードに合わせるのは嫌というイキりたいOSの性格が現れている
341デフォルトの名無しさん (ワッチョイ 9f63-7iBv)
2022/10/16(日) 23:16:15.14ID:N+fxT3Y10
昔はバやパを平気で使ってたぞ
342デフォルトの名無しさん (ワッチョイ 5b08-1SGr)
2022/10/17(月) 00:13:29.63ID:uAMFVFmC0
半角カナを全角に変換した時に
文字数が変わるのを許容できるかという問題
343332 (ワッチョイ 9f79-7iBv)
2022/10/17(月) 01:43:17.91ID:fAAk7KG50
>>299
https://ideone.com/7qVDRD
内包表記とスライスを使ってみた
・・・Pythonヤバすぎる、便利すぎる
344デフォルトの名無しさん
2022/10/18(火) 01:25:14.77ID:zc0QoIzs
単純なy1,y2の差ではなく、
y1がy2をcrossover(上抜け)したところの値とy2との差を、crossunderするまで取り続ける
y1がy2をcrossunder(下抜け)したところの値とy2との差を、crossoverするまで取り続ける
そのデータを取得したいのですが
何かうまい具合にできないものでしょうか
where使って切り替わりの判別はできたのですが

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()
t = np.linspace(0, 10, 1000)
y1 = np.sin(t)
y2 = np.cos(t)

ax.plot(t, y1)
ax.plot(t, y2)

fig.tight_layout()
plt.show()

np.where(y1>y2,1,0)
345デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/18(火) 10:34:44.39ID:jjMTEoo10
test = set(A[‘A1’] for B in C[‘C1’] for A in B[‘D’] )

ってどういうコマンドなんでしょうか。
入れ子が多すぎてよくわからず…
何がどう処理されてtestには何が入るんでしょう?
346デフォルトの名無しさん (テテンテンテン MM7f-2LS2)
2022/10/18(火) 10:55:11.72ID:RkLeKawPM
バラせば済む話だわな
347デフォルトの名無しさん (ワッチョイ 1f2c-TyQf)
2022/10/18(火) 11:05:17.60ID:xDZsbnE90
test = set(...) は
https://docs.python.org/ja/3/library/stdtypes.html#set-types-set-frozenset
なんで置いといて中身の話だけど
A['A1'] の所を一時的に C B A と順に3回置き換えて動かすとみえてくるかも
348デフォルトの名無しさん (ワッチョイ ab5f-40n0)
2022/10/18(火) 11:09:45.56ID:jjMTEoo10
>>346
バラす場合は

test = set(A[‘A1’]
      for B in C[‘C1’]
          for A in B[‘D’] )
ここでバラすってことですかね?

レス:1-200 201-400 401-600 601-800 801-1000 ALL

このスレへの固定リンク: http://5chb.net/r/tech/1663235546/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「Pythonのお勉強 Part68 YouTube動画>1本 ->画像>6枚 」を見た人も見ています:
M-1グランプリ2019 Part16
【LG】 インド工場でガス漏れ、13人死亡 無人状態で化学反応か★3 [05/09] [荒波φ★]
LAA vs KC ★1
【悲報】韓国の文在寅大統領、知的能力が足りないのではないかという声 司法試験にも合格してるのに…
プロ野球の視聴率を語る7311
【俳優叩きの底辺婆出禁】ドラマ予想スレ427
【NNT】2018卒だが内定がない54【専用】
タニノフランケル強すぎワロタwwwwwwwwwwwwwwwwww
広陵vs秀岳館
ブロッコリースプラウトに育毛効果
■■速報@ゲーハー板 ver.43313■■
beatmaniaIIDX 中伝スレ☆49
鬼滅の刃 愚痴スレpart35
SpaceX 総合スレ Part8 ワ無
なんだか田中美久に興奮を覚える
NHK総合を常に実況し続けるスレ 223637 中山かな?
【速報】安倍元首相を撃った山上徹也容疑者が供述した宗教団体は「統一教会」 ★26 [Stargazer★]
【国内】原発再稼働、各地で抗議活動 京都、市民団体は抗議文提出
年の差婚 10歳以上年上の男性と結婚します 14
【悲報】 サキオタさん、また一人鍵垢に追い込む
【釜山・慰安婦像設置】慰安婦像の“公共物化”が進む韓国 撤去にはほど遠く 駐韓日本大使の帰国から9日で2カ月[3/08]
リアリティ藤沢 ♯7 ©bbspink.com
【9/18 (水) 今夜 19:30〜】 新番組「AKB48のエンタメ委員会」スタート!!
1/8(日) 第57回日刊スポーツ賞シンザン記念(GⅢ) part2
8月のコミュニティデイはイーブイ
【バカッター】マンションの受水槽で泳ぐ動画を投稿したのは「大和ハウス工業」の委託作業員。「重く受け止め再発防止を徹底したい」
鶯谷立ちんぼ10 ©bbspink.com
2021年ウルトラマン ネタバレスレ Part.1
まさかレンドリースとNATOの備蓄使い果たしてもロシアに勝てないとか誰が想像出来た?
【兵庫】中学校で女子生徒が転落か 上半身骨折の重傷 「自分で落ちた」と説明 /宝塚
リスパダール39錠目
【日本政府】Go To キャンペーン、22日から開始 まずは宿泊代割引から【国内旅行支援】【コロナ】 ★10 [1号★]
韓国、昨年の知識サービス収支赤字72億ドル…研究・開発で51億ドルの赤字 [3/20] [昆虫図鑑★]
鬼滅の刃アンチスレ18
アフターコロナでは映画の上映時間を短くするべき
( ・(ェ)・ )熊本県の鉄軌道と公共交通66クマ目
◆◆◆芸スポ+自治議論&雑談スレッド★772◆◆◆
乃木坂、日向坂ヲタの皆さん、もう私達は永遠にアナル坂って言われるんですか?
 な ん で マ ス ク し な く ち ゃ い け な い の ?
受動型アスペルガーからの被害報告 5
パリピ孔明:コミックス累計100万部突破 テレビアニメ化も話題 [鳥獣戯画★]
新型クラウンのデザイン判明 2022年の未来に発売(画像あり)
自粛で客が激減。飲食店のために何ができるか考えようぜ。
アイドルマスターSideM 愚痴スレ146
もしかして顔だけで言ったら西野より高山の方が可愛い?
【速報】東京都、新たに480人感染 重症者は70人 12月13日 ★4 [ばーど★]
月曜から夜ふかし★3
警察に取り押さえられ死亡したた黒人男性 新型コロナウィルスに感染していたと発表
人間の意識って物理的になんなの part 2
★071015モ娘(狼)「マンコ魚」「整形」スレ乱立と継続保全報告スレ
【芸能】家に彼氏?田中みな実 愛犬前でメーク直し報道の違和感…アヤパンの例に学ぶ [爆笑ゴリラ★]
【モデル】堀田茜、熱烈なアタックを受け交際した男性からフラれた理由がキツすぎる「何年もトラウマ」
【デレステ】スターライトステージ★7244
全身ユニクロって普通にアリだよな?
【朗報】話題のスイッチのシノビリフレ、間違って買う人が多すぎて遂にeshopランキング1位へ!
【エロ】桜田さくら【すぎ】 ©bbspink.com
【朝ドラ】NHK連続テレビ小説『花子とアン』 NHK総合で2021年1月より再放送 [湛然★]
【不正ランキング操作問題】新・小説家になろう5817【相互評価クラスタ・複垢ポイント水増し】
【中国】当局が押収した大量の「シェア」用自転車[8/19]
【音楽】ハマ・オカモト、51歳で死去したハイスタ恒岡章さんを追悼「フェス出る約束、叶わなかったの悔しい」思い出の写真アップ [muffin★]
【メンバー5人】セクゾ応援スレ【21】
山本大介 1001周目
大乱闘スマッシュブラザーズ SPECIAL 2172【スマブラSP】スマブラ攻略まとめ隊 ウィルス 覚醒剤販売
ホモだけどテナントビルの警備で夜勤メインで働ける人いるいませんか?
催眠オナニーしたら手を使わずに射精した
09:53:50 up 11 days, 7:02, 1 user, load average: 123.91, 130.58, 132.34

in 3.9044580459595 sec @[email protected] on 092322