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

■ このスレッドは過去ログ倉庫に格納されています
2021/01/09(土) 05:22:25.24ID:IpHIsox4
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2021/02/24(水) 07:16:58.73ID:DnTJTT30
最初から最後までtry-exceptの中に入れろ
2021/02/24(水) 08:50:21.17ID:Aqfq6kO9
チャレンジ
638デフォルトの名無しさん
垢版 |
2021/02/24(水) 10:01:18.51ID:9y8r/1OE
>>635
エラーがおきたらそれより先は進まずに、どこでどんなエラーが起きたか教えてくれるように出来てるので安心してください
2021/02/24(水) 10:14:31.53ID:a2nKO+B9
言語に関係ないプログラミングの基礎を理解してないにもかかわらず
「pythonでは〜できないの?」と毎日聞くやつは学習方法が間違ってると思うぞ
640デフォルトの名無しさん
垢版 |
2021/02/24(水) 11:26:58.48ID:cfx9fHIS
>>639
毎日同じこと聞くのは
○国人の習性だからwww.
2021/02/24(水) 11:31:22.80ID:SnbZdOj2
プログラミングの入門として使われることも多いpythonの、
それも超初心者用のスレで、それを言うのは野暮ではないかね
2021/02/24(水) 11:43:39.32ID:EH/DbHjP
python以外の言語を習得しているかのような質問の仕方がダメなんだろ
基礎を理解してないということを理解してないのが問題
643デフォルトの名無しさん
垢版 |
2021/02/24(水) 11:55:02.38ID:aiTBro5g
>>635
try節以外でエラーが発生したらプログラムが停止する
エラー発生の可能性があって、特に対処したい部分にtry節を使う
python特有の話じゃないが
2021/02/24(水) 11:55:06.93ID:jCbAP6tB
初心者スレでそれ言ってもしょうがない
2021/02/24(水) 12:24:45.37ID:clp8d1Sx
コボおじは戻り値だけで判定してきたから例外が何かを知らないってことだよ
気持ちを汲んでやれ
2021/02/24(水) 12:30:33.09ID:CLu4HI+L
Goおじ「・・・」
2021/02/24(水) 13:07:22.50ID:LMkBx6gV
>>643
いまseleniumでchromeを動かしてスクレイピングをするプログラムを作ってるんだが、
スクレイピングだからネットの状態によってはすべての箇所でエラーが発生する。
てことはすべての行をtry節に入れるてことになるの?
エラーが起きたらchromeを閉じて次のプログラムを走らせたいんだが、
エラーが起きて止まったら困る。
on errorみたいなやつがあれば助かるんだが。
2021/02/24(水) 13:17:56.15ID:Xj3zAfy1
>>647
そもそも初心者はスクレイピングするもんじゃない
やめとけ
649デフォルトの名無しさん
垢版 |
2021/02/24(水) 13:35:57.65ID:jCbAP6tB
>>647

import スーパーすごいぼくのseleniumモジュール

try:
____スーパーすごいぼくのseleniumモジュールを実行
except 例外1:
____例外1の処理
except 例外2:
____例外1の処理
except:
____ほかの例外全部の処理

こんだけだよ
ちょっと頭かたすぎなんじゃねーかと
2021/02/24(水) 14:04:57.70ID:2cGpZtVv
みえる
みえるぞ…
>>647がタイーホされるみらいが…!
2021/02/24(水) 14:49:12.40ID:0d7ZIMo6
pythonの例外処理は
elseとfinallyが地味に便利だったりする
2021/02/24(水) 14:57:15.43ID:7Ynmy8c9
finallyは他の言語でも見るけどelseは見たことないな
他の言語でも取り入れて欲しいわ
2021/02/24(水) 15:22:24.12ID:2cGpZtVv
>>652
VBスクリプト・・・
654デフォルトの名無しさん
垢版 |
2021/02/24(水) 17:09:14.43ID:1iaQM7ct
tryのelseは、流れが分かり易くなるよね。正常系なのにelseという名前に若干引っ掛かるが。
whileのelseは、使わないけどあってもいいか。もともとBooleanで判定しているからね。
forのelseは、初見では絶対にわからないだろこれ、思考の妨げになるだけで邪魔。
655デフォルトの名無しさん
垢版 |
2021/02/24(水) 17:09:51.85ID:aiTBro5g
for〜elseが何気に使えるから他言語にも取り入れられて欲しい
2021/02/24(水) 17:17:33.14ID:1BXBrSOO
for else嫌いだな
フラグ立てた方が明確
657デフォルトの名無しさん
垢版 |
2021/02/24(水) 18:12:35.29ID:FNeBH8xI
在日が知らないだけだろ
2021/02/24(水) 18:21:58.41ID:9gaCPeun
tryのelseもwhile/forのelseも意義を見いだせないな

Effectiee Pythonではwhileとforのelseは使うな
tryのelseは活用しろとあったがtry/elseの例はすげー微妙なコードだった
2021/02/24(水) 18:40:11.47ID:7Ynmy8c9
for〜else使えるのにフラグとかないし思考の妨げとか単に慣れてねーだけだろ
2021/02/24(水) 19:38:52.19ID:OePWDmP0
コロナ対策と同じで自分以外の人の
ために使わないでほしい
661デフォルトの名無しさん
垢版 |
2021/02/24(水) 20:08:35.09ID:FNeBH8xI
在日クソチョン乙
2021/02/24(水) 20:16:04.49ID:CLu4HI+L
俺が理解できないから他の奴も使うな!
俺が馬鹿みたいに見えるだろ!!
2021/02/24(水) 20:29:16.98ID:RQHABlQe
elseもfinallyも使いどころがわからん
elseはtry内に書けばいいしfinallyはただ最後に付け足せば両方通る
2021/02/24(水) 20:34:52.22ID:RutGemqn
>>663
俺もそう思う。
2021/02/24(水) 20:39:23.92ID:lUgQ+/6Y
>>663
こーゆーの初学者にはありがたい
2021/02/24(水) 20:45:52.10ID:lUgQ+/6Y
日本語化されてなくても良いのですが、muエディタのように一行ずつ添削してくれるやつでオススメってあります?
2021/02/24(水) 20:49:56.05ID:1BXBrSOO
>>659
慣れてないっていうか他の言語も当然使うからPythonに戻って来た時混乱するのよ
混乱するならそもそも使わない方が良い
Pythonしか使わないならそれで良いんだろうけどね
2021/02/24(水) 21:00:34.63ID:CQQJwOCp
>>663
エラーでメッセージ出ても止まらないようにするんじゃなかったけ?
サーバーからデータ取れなくても空白文字入れたり
無理やり戻ったり
2021/02/24(水) 21:24:17.14ID:9gaCPeun
>>663
finallyは最後に付け足しても両方通らないよ
2021/02/24(水) 21:51:54.78ID:jNf+xxX4
try内でreturnやbreakした時もelse/finallyは実行される
2021/02/24(水) 21:57:40.34ID:2cGpZtVv
>>667
> 戻って来た時混乱するのよ
> 混乱するならそもそも使わない方が良い
「英語話すと日本語に戻ってきたとき混乱するから
英語使いません!」とおなじこといってるぞ
あふぉ自慢はあったまさらにわるくみえるぞ
2021/02/24(水) 22:10:30.68ID:CLu4HI+L
喩えうまいなw
2021/02/24(水) 22:22:28.79ID:HJ50OjUD
>>669
「両方通らないよ」は
「片方しか通らない」なのか
「全く通らない」なのか分からないよ。
2021/02/24(水) 22:24:22.09ID:7Ynmy8c9
>>663
そりゃそんな理解力だとfinallyもelseも使いどころかわからんわな
てか、例外使っちゃダメレベル
2021/02/24(水) 22:25:50.95ID:9gaCPeun
これはelse使ったほうがいいだろっていうtry/elseのコードない?

Effective Pythonの「Item 65: Take Advantage of Each Block in try/except /else/finally」に書いてあったサンプルコードはこれ
https://www.techiedelight.com/compiler/?VLdi
これ見てもelseを使いたくはならない
2021/02/24(水) 22:28:26.74ID:7Ynmy8c9
>>667
まあ一瞬混乱したりなんでこの機能ねーんだよとかはあるけどそんなの言い出したらキリなくね?
言語や環境によってライブラリなんかも違うし
2021/02/24(水) 22:31:11.53ID:avHANqSb
混乱しないように全部の行にセミコロンをつけなきゃ!
2021/02/24(水) 22:42:05.45ID:9gaCPeun
Pythonだけでも
if-else、while/for-else、try-elseのそれぞれのelseで
んん?ってなる

loopのelseはbreak-or-elseのelse
tryのelseはexcept-or-elseのelse
と理解すれば意味はわかるがif-elseと違い過ぎるから
よほどのメリットがある場合じゃなければ使おうとは思わない
2021/02/24(水) 22:49:17.28ID:GQvsnMXY
>>632さん、>>633さん
ありがとうございます、もう少し調べてみます。
プロセスとスレッドの違いがいまいちわかってないですが、コレも日々勉強ですね
2021/02/24(水) 23:53:39.31ID:2cGpZtVv
>>672
ありがとーん

>>677
おもたおもた、最初おもた!www
681デフォルトの名無しさん
垢版 |
2021/02/25(木) 02:12:11.24ID:291z1RhV
質問です。

jupiter (旧jupiter notebook)上でpythonを動かす際、処理が飛ばされることがあるのですが、これと同じ状況になられた方はいらっしゃいますでしょうか? また、このようなことはありえるのでしょうか?

ご回答お願い致します
2021/02/25(木) 03:15:47.41ID:PF1Nn8ga
「ノートブックには数え切れないほどの隠された状態があり、簡単にめちゃくちゃになってしまい、論理的に考えるの難しい。」by Joel Grus

I Don't Like Notebooks
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/mobilepresent?slide=id.g362da58057_0_1
2021/02/25(木) 09:39:32.72ID:HDmJbLoC
ウィンドウのキャプチャーを撮って、動画にするアプリを作っているのですが、
下記部分で特定の回数実行すると9969回目で下記エラーとなります。
エラーメッセージで検索すると、DeleteDCの前に古いビットマップを戻すようなアドバイスがあったのですが、
意味がよくわからず、どなたかお助けお願いできませんでしょうか。
こちらの環境は3.8で、9969回目にエラーが出ました。

エラーメッセージ
   CreateCompatibleDC failed

ソースコード
for Z in range(10000):

print(Z)
# ウィンドウのデバイスコンテキスト取得
windc = win32gui.GetWindowDC(hnd)
srcdc = win32ui.CreateDCFromHandle(windc)
memdc = srcdc.CreateCompatibleDC()
# デバイスコンテキストからピクセル情報コピー, bmp化
bmp = win32ui.CreateBitmap()
bmp.CreateCompatibleBitmap(srcdc, 100, 200)

memdc.SelectObject(bmp)
memdc.BitBlt((0,0), (100, 200), srcdc, (0, 0), win32con.SRCCOPY)
# 後片付け
# srcdc.DeleteDC()
memdc.DeleteDC()
# win32gui.ReleaseDC(hnd, windc)
win32gui.DeleteObject(bmp.GetHandle())
2021/02/25(木) 11:19:59.37ID:wUmGW86/
9969ってのは、GDIオブジェクトの最大数にひっかかってるような気がする
リリースしてないハンドルとかがないかチェックしてみては?
2021/02/25(木) 16:30:42.42ID:OWCUu+hy
vscodeでblack使って自動フォーマットしてるんだけどこの前から急にフォーマットされないファイルが出てきた
同じフォルダ内の他のファイルは普通にフォーマット出来てるし訳がわからない
Blackのエラー出力とか見れないのかな?
2021/02/25(木) 17:27:50.59ID:OWCUu+hy
↑は自決しました

NamedTupleをデータ保管庫として使おうとしてるんだけど、
インスタンスを初期化するときにちょろっと引数に対して処理をしてから内部変数に代入することって出来ないのかな?
簡単に言えばinitがしたいんだけどエラーが出てできない
AttributeError: Cannot overwrite NamedTuple attribute __init__
2021/02/25(木) 17:38:22.46ID:VhwBlxTz
そういのはNamedTupleじゃなくてdataclass
データ型がほしい -> NamedTuple
データ型にメソッドとかもほしい -> dataclass
2021/02/25(木) 17:54:03.83ID:cAbWQIRq
>>686
immutableだから__new__をoverwriteすればいいんでない
2021/02/25(木) 18:12:49.19ID:V/hSl7BP
まあでもそんなことするくらいだったらdataclass使うよね
2021/02/25(木) 18:21:47.84ID:OWCUu+hy
ありがとうdataclassの方だったのか
あと凄くニッチな需要だとは思うんだけど
initの際の引数で1つの変数に対して複数の型を許容するようにして
型ごとに異なるinit処理をすることって出来るのかな?
2021/02/25(木) 18:43:42.30ID:cAbWQIRq
dataclassは__post_init__()を使って初期化処理をする
frozen=Trueの場合はobject.__setattr__()を使わないと変更できないので注意
692デフォルトの名無しさん
垢版 |
2021/02/25(木) 18:47:26.95ID:rcOltu0H
>>681
毎回 Reset して最初から実行させれば飛ばされない
693デフォルトの名無しさん
垢版 |
2021/02/25(木) 18:48:48.06ID:rcOltu0H
>>683
Win32API スレで聴いた方が良い
2021/02/25(木) 20:06:22.11ID:9bodhAOn
>>684
>>693
返信ありがとうです
ソースコードはこれとhndを取得しているところだけで、見当がつかず。。。
WIN32APIスレが有るのですね、こちらでの質問取り下げてそっちで聞いてみます。
お手数おかけしました
2021/02/25(木) 20:12:44.60ID:22HRW9MD
超初心者用板なので質問!
例えばiと打つと変換候補にifが出てきたり、fを打つとforがでるとか、その文字の意味によって色が変わったりするのは、所謂エディタを使ってるってことですか?
2021/02/25(木) 20:16:22.53ID:Odue14P3
>>695
うん
せやで
物による
2021/02/25(木) 20:20:41.50ID:22HRW9MD
>>696
ありがとナス!
自分に合うやつ探してみる!
2021/02/25(木) 20:42:17.22ID:xMUZ/pXS
>>695
板とスレの区別つくようになってな
5ちゃんの初心者からは脱出してーな
2021/02/25(木) 21:20:13.32ID:22HRW9MD
>>698
みんなそのうち見分けつくようになるから!
初心者脱出がんばれよ!
2021/02/26(金) 00:27:39.21ID:LIvaJcIb
正しいPythonのイントネーションは?
自分はyにアクセントを置くけど、oに置く人のほうが多い印象
2021/02/26(金) 00:34:50.50ID:/5hr8X55
パイソンでしょ?
ダイソンと同じじゃないの?
2021/02/26(金) 00:37:43.61ID:3s3KCcUn
アメリカ人も普通にパ↑イソ↓ンって言ってたよ
2021/02/26(金) 01:01:00.66ID:6PWfZ28Y
ぱぃすん
2021/02/26(金) 01:03:52.47ID:tFK0PlkJ
「廃村」と同じでフラットなアクセントの人もいるらしい
リアルでは聞いたことがないけどPaizaの音声がそれだった
2021/02/26(金) 01:09:00.11ID:TEyAu0Bq
おっ、ぱいそん
2021/02/26(金) 06:15:21.39ID:kpiIv0Zu
>>696
便乗ですが、ericで入力補助の設定ありませんか?
2021/02/26(金) 08:48:38.56ID:i06a2uQv
キャラメルと同じか
都会人ほどかっこつけて↓キャ↑ラメル
2021/02/26(金) 12:19:00.24ID:BR0FHe5J
oにアクセントを置くってのは
Oh my God!のmy godと同じイントネーションでパイソンって言うことになるんだけど
そんなやついる?
2021/02/26(金) 12:39:55.01ID:0cHE169k
ちゃらい男が言ってそう
2021/02/26(金) 14:36:13.94ID:w2bvpH1M
>>683
リソース使い過ぎ
こっちだと 9994 で死ぬ
回避版
windc = win32gui.GetWindowDC(hnd)
srcdc = win32ui.CreateDCFromHandle(windc)
memdc = srcdc.CreateCompatibleDC()
bmp = win32ui.CreateBitmap()
bmp.CreateCompatibleBitmap(srcdc, 100, 200)
o = memdc.SelectObject(bmp)
memdc.BitBlt((0,0), (100, 200), srcdc, (0, 0), win32con.SRCCOPY)
memdc.SelectObject(o)
win32gui.DeleteObject(bmp.GetHandle())
memdc.DeleteDC()
srcdc.DeleteDC()
win32gui.ReleaseDC(hnd, windc)
2021/02/26(金) 15:07:56.58ID:LIvaJcIb
>>708
フラットというべきだった
2021/02/26(金) 15:20:17.73ID:5CAI4NX0
>>708-709
おれのいもうとは熱心なアンチオブジェクト指向だから
ちょうどそんなかんじで
「ぱいそーん」て発音してばかにしてくる
2021/02/26(金) 15:33:51.73ID:VLFgiwVz
>>710
25回も増えてる!
2021/02/26(金) 19:01:57.36ID:aJT073mH
プログラミング知識ゼロで昨日から始めました
公式ホームページの「ゼロからのPython入門講座」が終わったところで現在2週目復習中です
今後簡単なアプリかゲームをゆっくり作ってみたいのですが、
復習が終わった後に何に手を出したらよいかわかりません
参考になる本やサイトを教えていただけると嬉しいです
2021/02/26(金) 19:20:14.71ID:5CAI4NX0
>>714
改訂3版-これからはじめるプログラミング-基礎の基礎
ISBN-10 : 4297101181
ISBN-13 : 978-4297101183
716デフォルトの名無しさん
垢版 |
2021/02/26(金) 19:27:20.65ID:aJT073mH
>>715
レスありがとうございます
amazonで購入してみますね
挫折しないように頑張ります
2021/02/26(金) 22:09:28.00ID:bhKccw0u
sum(iterable,/,start=0)
説明にこう書いてある場合/はどういう意味ですか
2021/02/26(金) 22:32:11.07ID:JQWH2W1r
>>717
/より前の引数に対して
sum(iterable=[1,2])っていう引数指定を禁止して
sum([1,2])っていう形式を強制する
https://docs.python.org/ja/3/faq/programming.html#what-does-the-slash-in-the-parameter-list-of-a-function-mean
2021/02/26(金) 22:58:42.43ID:tFK0PlkJ
スラッシュより前が位置引数、後がキーワード引数
2021/02/26(金) 23:17:26.73ID:bhKccw0u
なるほど
検索でひかからなくて
困ってました
ありがとうございます
2021/02/26(金) 23:18:44.76ID:U0l21RSc
自前のデコレータって使ってます?
2021/02/27(土) 04:47:25.88ID:W4QL4Nh3
ひっでぇ文法w
ここで / かよw恣意的すぎる
せめてキーワードだったら
2021/02/27(土) 05:04:33.36ID:skJFTcxi
だってほんとに恣意的なんだから仕方ないじゃん
2021/02/27(土) 07:44:17.20ID:nYZXhYHq
スライダーで一つの値は設定できたのですが、
一つのスライダーで範囲指定をしたくて
一つのスライドで2つのポッチがあるスライダーってありませんでしょうか
2021/02/27(土) 07:47:54.96ID:IvOqzPST
誤爆?
2021/02/27(土) 10:16:53.64ID:3qgM7V/3
以下の例のように、「こんにちわ」が出てきたときに反応させるプログラムを作りたいのですがどうしたら出来ますか?

testWord = "こんにちわ"

testList = [
"こんにち",
"こんにちわ、赤ち", #→ここで初めて「こんにちわ」が出てきたので判定させたい
"こんにちわ、赤ちゃん、私がママよ。",
"こんにちわ、赤ちゃん、私がママよ。こんにち",
"こんにちわ、赤ちゃん、私がママよ。こんにちわ、5ちゃん、私がねらーよ"] #→ここで2回目の「こんにちわ」が出てきたので判定させたい

1度判定した「こんにちわ」には反応させずに
次にまた「こんにちわ」が登場したタイミングで判定を行うようなことをしたいです
2021/02/27(土) 10:23:46.83ID:1dh3P6Cc
>>726
一つ前の文字列分を削除して、「こんにちわ」を検索すれば?
728デフォルトの名無しさん
垢版 |
2021/02/27(土) 11:15:48.03ID:nZVzeDc8
>>724
python - Dash range slider with input on each side - Stack Overflow
https://stackoverflow.com/questions/61896144/dash-range-slider-with-input-on-each-side

こんなのが欲しいんだろう
2021/02/27(土) 11:28:12.17ID:i9vxP9X9
"こんにちは...こんにちは".count("こんにちは") > 1
2021/02/27(土) 12:13:58.61
こんにちわ の回数で反応なのか
こんにちわ の場所と回数で反応なのか

"こんにちわ、赤ち", #反応
"てすと、こんにちわ、赤ち",#には反応していいのかどうか
2021/02/27(土) 12:22:23.28
MeCab案件なら簡単に終わりそうだが
そこまでするようなことでもなさそうか
732デフォルトの名無しさん
垢版 |
2021/02/27(土) 12:54:27.21ID:ZzS9Utpn
>>726
正規表現オブジェクト.search() の第二引数で検索開始位置を指定する
https://docs.python.org/ja/3/library/re.html#re.Pattern.search

pattern = re.compile(re.escape(testWord))
startpos = 0
for s in testList:
    m = pattern.search(s, startpos)
    if m:
        startpos = m.end(0)
        print(m, s)
2021/02/27(土) 13:23:09.85ID:6pVfj7hb
Graphpl、つかってますか?
2021/02/27(土) 14:37:55.21ID:nYZXhYHq
>>728
まさにこれです。
range sliderっていうのですね、Dashというのをいんぽーとしてみす!ありがたや〜
2021/02/27(土) 17:32:55.95ID:Mamfw3xC
>>733
使ってるよ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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