Pythonのお勉強 Part68

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (ワッチョイ 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る「横着」禁止)
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

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

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

〇前スレ〇
Pythonのお勉強 Part67
https://mevius.5ch.net/test/read.cgi/tech/1653540315/

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ### ​
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
0783デフォルトの名無しさん (ワッチョイ c597-AMkR)
垢版 |
2022/11/12(土) 15:58:01.40ID:pkT2sKDg0
>>756
廃れないよ。Webって広告で成り立っている基本人間向けの情報発信ツールなんだから、人間向けのデータ(文章とかね)のスクレイピングは依然として残る。
APIは有料というのは広告収入につながらないから割と当たり前の話で。
利益を目的としないデータ公開はオープンデータ化していくだろうけれど、そういうのって政府や自治体のデータ公開、大学などぐらいしか基本的にはないだろう。
0788デフォルトの名無しさん
垢版 |
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)

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

ありがとうございます!!
0795デフォルトの名無しさん (ワッチョイ 6347-gR3A)
垢版 |
2022/11/13(日) 21:04:49.96ID:xH4HHaxN0
やりたいことをまず自然言語で書く
minとmaxの範囲内ならそのまま出力
範囲外ならばminとmaxでガードする

これだけの情報量があるので、コードがそれなりの長さになって当然
0798デフォルトの名無しさん (ブーイモ MM69-AMkR)
垢版 |
2022/11/13(日) 22:58:00.99ID:6O/r8caVM
何がコードゴルフかはジャンルにもよるよなあ。シェーダーなんかだとminmaxみたいなのは常套句みたいなものだし、
pythonの内包表記もちょっと凝り出すとコードゴルフ的になる。コーディングガイドラインがあればいいけどね。
0800デフォルトの名無しさん (ブーイモ MM69-AMkR)
垢版 |
2022/11/13(日) 23:47:29.33ID:6O/r8caVM
まあ、minmaxの良くないところは、慌てて順番反転させたりする事故が起きると何もクリップしてくれなくなるところなんだけど(良く使うなら関数化しておくべき)
とはいえ、minmax的なのNGって、関数型言語全否定に近いものがあると思うんで、その立場でいいのかは考えるべきだと思うけど。
もちろん手続き型メインのPython使ってるんだからPythonではそんなのお門違いだという意見も否定はしないけど
0802デフォルトの名無しさん (ワッチョイ ad2c-WM47)
垢版 |
2022/11/14(月) 02:35:12.38ID:Msnzn9MH0
初コメです。質問させてください。
ウィジェットに、押すとnotepad.exeを起動するボタンを作ったのですが、起動したテキストに文字を書き込む(テンプレート)ボタンを作りたいのですが、どのようにすれば良いでしょうか…
0804デフォルトの名無しさん (ワッチョイ 6347-gR3A)
垢版 |
2022/11/14(月) 08:17:37.42ID:z4y/4erZ0
AutoItとかAutoHotKeyとかキーボードやマウスをプログラムから操作して
自動化するツールはいろいろあるけど、
どれが最強なのか今ひとつ判らない

簡単にする為に出来ることを減らしていたり、
いろいろできるけど言語仕様が原始的すぎたり
pythonと同じ書き方ができて出来ないことがないのが理想
0808デフォルトの名無しさん (ガックシ 0669-AMkR)
垢版 |
2022/11/14(月) 15:23:33.25ID:yiG7YfVR6
WindowsをVMに入れるか、リモートデスクトップ複数人ログイン対応のWindowsならフォアグラウンドでも実質バックグラウンドにできるから困らなさそうだ
Win32APIを直で叩きまくればバックグラウンドでも動かせるような気がしないでもないけど、イベント処理のメインループが回るかは謎だね。全然詳しくないや。
0815デフォルトの名無しさん (ワッチョイ 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
こんな感じかな
どのみち、どう処理されるかは相手次第になってしまうけど
背面とか最小化とか、最悪トップに出てきたり
0816デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
垢版 |
2022/11/14(月) 22:50:26.22ID:dRHiUVHI0
>>813
それは自動整形機能の仕事で人間が気遣うことではない
0817デフォルトの名無しさん (スップ Sd03-WM47)
垢版 |
2022/11/14(月) 23:20:28.77ID:XZXiqJkqd
>>803
pyautoguiで一歩進みました!ありがとうございます!
0820デフォルトの名無しさん (ワッチョイ c597-AMkR)
垢版 |
2022/11/15(火) 01:57:43.67ID:7joAI/8k0
>>818
それは、+=や、f.write(','.join([若干長い内包表記]))が許されるかみたいな話とも繋がっていて、
ぶっちゃけ何度も出て来ればこんな簡単なのは1行にしたくなると思うよ
内包表記だって1行で書きたいから書くって側面もあるわけじゃない。
0825デフォルトの名無しさん (ワッチョイ 6347-gR3A)
垢版 |
2022/11/15(火) 07:58:14.56ID:gBqAZwZY0
行数というよりは、中間の変数を登場させたくない
合体させるにしても、後ろに繋げていく方式とネストを深くしていく方式があって、
ネストだとどうしても可読性を損なう
0831デフォルトの名無しさん (ガックシ 0669-AMkR)
垢版 |
2022/11/15(火) 11:49:44.03ID:Hm3rex5D6
>>827
処理時間がめちゃ長くて100倍速くしたいならそもそもCythonとか考える
処理時間ちょっとイラッとするぐらいだったら内包表記で倍速くなれば十分なので内包表記止まりかな
0835デフォルトの名無しさん (アウアウウー 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)
0836デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/15(火) 16:33:43.21ID:QGmQMBHUa
>>827
30分かかるループの中心で何度も使われてたら
倍速になったら15分短縮出来るし
100分の1なら数秒で終わるんだが
0837デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/15(火) 16:35:27.51ID:QGmQMBHUa
>>828
内包表記: あり
+=: あり
lambda: あり

三項演算子: お前は遺憾
0842デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
垢版 |
2022/11/15(火) 22:05:16.10ID:1JRqHGzu0
並びが
(Trueの場合) (条件) (Falseの場合)
になるのが気に食わん
0845デフォルトの名無しさん (ワッチョイ 6347-gR3A)
垢版 |
2022/11/15(火) 22:47:36.70ID:gBqAZwZY0
if <condition> then <val1> else <val2>
も英語として不自然さは無い
それを、?と:にするのは無理がある

冒頭からifで始まるとif文と区別が付かないので、少し倒置して、
<val1> if <condition> else <val2>
も一応文として読める
C言語よりはまし
0847デフォルトの名無しさん (ワッチョイ 4b10-TWxH)
垢版 |
2022/11/15(火) 23:05:11.16ID:1JRqHGzu0
プログラミング言語に英文的な自然さとか求めて無いんだわ
読む順と評価順が入れ替わってんのがセンス無いと思う
0852デフォルトの名無しさん (ワッチョイ 2302-gPc0)
垢版 |
2022/11/16(水) 02:18:10.64ID:+BRGBknF0
英語だと if が後置されることもあるからなあ
内包表現は数学の集合の書き方からすれば普通
ラムダは lisp のラムダ関数から考えれば普通

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

(Trueの場合) if (条件)

Falseの場合はなにもしないけど、Pythonだとpassがあるから三項演算子だけで十分って判断かな
0863デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/16(水) 17:37:03.73ID:z+sJwdsYa
>>846
uby
0864デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/16(水) 17:39:14.54ID:z+sJwdsYa
>>845
findall で解決
0865デフォルトの名無しさん (アウアウウー Saa9-FFna)
垢版 |
2022/11/16(水) 17:39:41.33ID:z+sJwdsYa
アンカ間違ってた >>854
0867デフォルトの名無しさん (ワッチョイ 237e-AMcT)
垢版 |
2022/11/17(木) 17:18:01.85ID:AwlB4ADs0
そりゃ、想定が間違えているから、以外になんか考えられるのかい?
何を想定していてどうなったかも説明しないで、想定と違う!って
言われてもね、人に説明する気も無けりゃ教えを乞う態度でもないし
何したいの?日記ならよそでやってくれる?
0876デフォルトの名無しさん (ワッチョイ c533-BvCT)
垢版 |
2022/11/17(木) 21:45:06.27ID:SeoZPm6s0
>>1>>866
> ★Pythonのソースコードを5ちゃんに直貼はインデントが崩壊するので、
>   ↓等のコードうp用サイトに貼ってきてくだしあ。(スクリーンショットをうpる「横着」禁止)
> ttps://techiedelight.com/compiler/  Run Code機能あり。
> ttp://ideone.com/      デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
> ttp://pastebin.com/     まずまずシンプル。
> ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
0878デフォルトの名無しさん (US 0Ha3-XgLS)
垢版 |
2022/11/17(木) 23:08:46.05ID:kmneQuTyH
>>876
>デフォ設定がCなので、Pythonするには言語種選択ボタン押下がピコ手間かも。
一回 python を選択すれば、あとはずっと選択したpythonのままになりますよ
0881デフォルトの名無しさん (ワッチョイ 6347-gR3A)
垢版 |
2022/11/17(木) 23:18:26.59ID:HF5V3LeY0
外部を利用する根拠がインデントの崩壊だけなら、崩壊していないのだから不要
なるべく単体で完結していた方がいい

コードが長いとか、修正後のコードと比較したいとかになると、
さすがに掲示板の機能を超える
■ このスレッドは過去ログ倉庫に格納されています

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