Pythonのお勉強 Part66

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9f02-4fXk)
垢版 |
2021/11/15(月) 18:59:43.37ID:f2uNQEAt0
!extend:default:vvvvv:1000:1024
!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://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Pythonオフィシャルサイト http://www.python.org/
◇まとめwiki ttp://python.rdy.jp/

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

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

次スレの建立は>>985が挑戦する。(980通過して24h後も落ちなくなった)
### END of TEMPLATE ###
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
408デフォルトの名無しさん (ワッチョイ b501-ez/W)
垢版 |
2022/04/05(火) 22:49:51.63ID:hHj4ru+60
>>406
アドバイスあざーす
2022/04/05(火) 22:54:09.41ID:saYBpjkL0
>>407
Pythonは公式ほかWebサイトが充実してるから本はいらんおもう
大学の講義ノートもいっぱい公開されてる
410デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
垢版 |
2022/04/05(火) 22:58:04.48ID:dfVFJu6e0
>>409
webサイトは意味不明なのが多すぎる
何を参考していいのか分からん
2022/04/05(火) 23:03:57.97ID:saYBpjkL0
わかるw
だから公式サイトか適当な大学の講義ノートでいいんじゃない?
Python関係なく非公式なサイトは知見を得るためで教科書がわりにしない方がいい
2022/04/05(火) 23:09:06.02ID:+KUidK0I0
なんか変なエラー出た
みたいな時はぐぐるとあっさり解決したりする
デバッグにネットは便利
2022/04/05(火) 23:16:00.25ID:J34PMljY
>>403
こういうことか
管理はやりにくそうだが
https://colab.research.google.com/drive/1Pt_OpflcqhA7ZoshdtiLzQgBfs59SbsM
items={
"安倍":[
{"id":"abeshinzo13","pass":"purinkure3"},
{"id":"abeshinzo14","pass":"purinkure4"},
],
"岸田":[
{"id":"kishida13","pass":"purinkure3"},
{"id":"kishida14","pass":"purinkure4"},
],
}

def ck(card):
res=input(f'{card}カード: ')
res = ck(card) if res!="" else input('"アカウント" "ID" "パスワード" いずれかを入力してください。')
_items=items[card]
if res=="アカウント":
return [ item for item in _items ]
elif res=="ID":
return [ item["id"] for item in _items ]
elif res=="パスワード":
return [ item["pass"] for item in _items ]
else:
ck(card)
return
print( *ck("安倍") )

暗証番号追加したければ{"id":"","pass":""}のとこに暗証番号のキー追加と
条件分岐のとこで増やしてやるだけ
2022/04/05(火) 23:27:57.61ID:J34PMljY
訂正
>>413だと二回目のinputで無い値を入力するとエラー吐いてしまう
2022/04/05(火) 23:29:26.87ID:EtikemGCa
日本語はどんどん使うほうが良い
2022/04/05(火) 23:35:33.16ID:J34PMljY
途中で送信してしまっていた
→ return ck(card)
更新しといた
>>413,414
2022/04/06(水) 06:00:22.07ID:ectiuS9Ja
>>410
ちょっと前に紹介されてただろ ⇒ >>389
すでに実行できる環境あるなら最初の方はすっ飛ばして3章から読めばいい
2022/04/06(水) 08:18:27.18ID:eECC6ZwCM
全角アンチは過激派?
2022/04/06(水) 08:27:37.40ID:9/E23nPzM
そもそも入力めんどくて効率落ちるだろ
少なくともローマ字打ちで補完してくれる機能がないと無理
2022/04/06(水) 08:37:41.91ID:AJGoEzsz0
コーディングしている中で変数名を決定してる時間なんてごく僅か
あとはコピペとか一覧から選ぶだけなんだから何バイト文字だろうが同じ
2022/04/06(水) 08:45:14.38ID:sx1QEzgKa
時間の半分以上変数名関数名考えてるが…
2022/04/06(水) 08:52:30.71ID:9/E23nPzM
それは流石にだるすぎ
2022/04/06(水) 08:55:36.92ID:996roFDIr
最近ファイル名に日本語いけることを知った
使わんけど

テスト.py
print("hoge")

main.py
import テスト

hoge
2022/04/06(水) 10:28:54.41ID:tVvTTFdNr
困った時の辞書型か
425デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
垢版 |
2022/04/06(水) 11:18:58.65ID:V6m5p1Ce0
https://www.python.jp/train/string/method.html

これの一番下の練習問題が解けない……

text = input("A") # 変数 text に文章を入力
lower_text = text.lower("A") # 入力した文字列を小文字に変換
print(text, "を子文字に変換すると、", lower_text, "になります。")

これだと何故かエラーになる
何が間違ってるのか
2022/04/06(水) 11:23:48.85ID:sx1QEzgKa
lowerの引数なに?
2022/04/06(水) 11:26:32.14ID:Svke+2Xid
text.lower()
2022/04/06(水) 11:35:39.53ID:KjCsX+rW0
>>425
text.lower()でしょ。引数は受け付けない。
エラーが出たらエラーも内容書かないと。

つか質問内容的にこっちでしょ。
http://mevius.5ch.net/test/read.cgi/tech/1640536690/l50
2022/04/06(水) 12:10:24.51ID:Zq17ImTq0
引数とか変数の代入とか関数とか、どこに書いた値がどこに入るのかという、
基本の基本の基本を勉強しないと

y = f(x)って書いておいて、yをさらに変換したいのに、
z = f(x)って書くようじゃ数学から勉強しなきゃダメじゃない?というレベル
2022/04/06(水) 12:11:25.49ID:Zq17ImTq0
z = g(x)か
431デフォルトの名無しさん (スッップ Sd43-kuSK)
垢版 |
2022/04/06(水) 12:17:33.71ID:Gm88HsPQd
クラス関数は初学者には分かりにくい
俺はオブジェクト指向じゃない言語から入ったから、むしろクラスを理解するだけで「そういうもの」と分かったけど、
初学者は関数に引数として変数を与える場合と、変数のクラス関数を使う場合の区別の仕方が難しいんじゃないかな
432デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
垢版 |
2022/04/06(水) 12:56:47.14ID:V6m5p1Ce0
>>428
A
Traceback (most recent call last):

lower_text = text.lower("A") # 入力した文字列を小文字に変換
TypeError: str.lower() takes no arguments (1 given)
2022/04/06(水) 12:57:36.01ID:3uPNH9WcM
>変数のクラス関数
お前も初学者だろ
2022/04/06(水) 12:59:52.71ID:AJGoEzsz0
method
りぴーとあふたみ?
めそっど
めそっど

おけ
2022/04/06(水) 13:08:18.65ID:KjCsX+rW0
>>432
Traceback (most recent call last):は
text = input(“A”)を実行した後何も入力していないから
AAAって入力してみ

その後、上に書いた通り
lower_text = text.lower()で実行
2022/04/06(水) 13:11:06.40ID:3uPNH9WcM
そこじゃねーよ
オブジェクト指向の文脈なんだから関数かメソッドかなんて言語によっても呼び方違うし正直どうでもいい
2022/04/06(水) 13:13:33.65ID:XDrR8E8Nr
>>432
初心者のしがちなミスですね

print(text.lower())
で、小文字でaと出てくる筈です

()が付いているからついその中に代入しないといけないかと思われたのでしょうが、

これはオブジェクトのメソッドで、引数なしで動くものなので

文字列変数の後にピリオドでつなげて、
()の中は何も書かなくて大丈夫です

まあ、少しずつ文法覚えていって、
分からなかったら検索して用例を見ましょう
438デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
垢版 |
2022/04/06(水) 13:18:39.68ID:V6m5p1Ce0
>>435
ごめん正解はこのままでよかったのね

text = input() # 変数 text に文章を入力
lower_text = text.lower() # 入力した文字列を小文字に変換
print(text, "を子文字に変換すると、", lower_text, "になります。")

適当にAIUEOって入力したらできた

AIUEO
AIUEO を子文字に変換すると、 aiueo になります。
2022/04/06(水) 13:24:52.63ID:XDrR8E8Nr
GJ!!!
2022/04/06(水) 13:49:08.09ID:r+m0Iqav
詰まったら分解して考えるといいかと
(1)text = input("A")
(2)lower_text = text.lower()
(3)print(lower_text)

この程度だと出てきたエラー見て解決できるのが大前提ではるが
それを置いておくと
(1)inputのドキュメントみる
(2)lowerのドキュメントみる
(3)printのドキュメントみる
ドキュメント見るのが億劫なのであれば少なくとも
(1)inputで試行する
(2)lowerで試行する
(3)printで試行する
をやればいい
例えば
(1)
text = input("A")
print(text)
(2)
text="AIUEO"
print( text.lower() )
(3)
text="AIUEO"
text="OEUIA"
print( text )
などなど。

いきなり(1)(2)(3)合わせ技から入るとそもそも何がわかからないのかがわからない状態に
441デフォルトの名無しさん (スプッッ Sd03-kuSK)
垢版 |
2022/04/06(水) 14:06:50.56ID:oXFBIC4yd
>>433
あー、確かに言い方はおかしいな
だけど正確に簡潔にはどう言えば初学者に伝わる?
文字列を入れた変数は文字列型(クラス)のオブジェクト(インスタンス)で、
その文字列型のクラス関数(メソッド)を…

ファルシのルシがコクーンでパージされたレベルだと思うわ

変数の型宣言とかの「省略できるようになった」ことが、省略されてるだけで実際には処理されてるってことを知ってないと分からないと思う
Pythonは書くのには便利だけど初めて勉強するのにはどうだろ
関数とか条件式の定義の始まりとか終わりもなんとなく分かりにくいし
面倒くさいけど宣言しなきゃ変数を使えなくて{}で囲まなきゃシンタックスエラーが出る言語の方が、
理解はしやすい
2022/04/06(水) 14:16:43.73ID:AJGoEzsz0
オブジェクト指向とはそういうもんだと飲み込むしか

プログラミングのパラダイムシフトなんか2回しか起きてないんだから
BASICみたいな何でもありから、pascalみたいに構造化されて、
それで行き詰まったからオブジェクト指向になった
どこかの言語でマスターしとけば当分使える
2022/04/06(水) 14:20:12.75ID:ogQpv1VG0
> その文字列型のクラス関数(メソッド)を…

>>> text.__class__.lower(text)

>>> str.lower(text)
'aiueo'

コードの構造や統一感からこう書くときもある?わからん
444デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
垢版 |
2022/04/06(水) 15:40:11.39ID:V6m5p1Ce0
>>440
分かりました
プログラミングって方程式が得意じゃないと難しいですね
445デフォルトの名無しさん (ワッチョイ 0d33-2JBZ)
垢版 |
2022/04/06(水) 17:06:40.17ID:LhkpmHw80
>>444
https://www.python.jp/train/index.html
でもやってみたらいいんじゃない
446デフォルトの名無しさん (ワッチョイ 155f-2JBZ)
垢版 |
2022/04/06(水) 17:10:54.79ID:V6m5p1Ce0
>>445
そのサイト参考にして勉強してます
2022/04/06(水) 17:15:43.87ID:ogQpv1VG0
python.jp は公式サイトではなく
雑多な趣味サイトのひとつなのでよろしくお願いします。
2022/04/07(木) 05:53:17.46ID:kD80L8Q0a
import webbrowser, time
[(webbrowser.open('=q?/moc.ogkcudkcud//:sptth'[::-1] + x),time.sleep(21)) for x in [
'兵願志02%旗日旭02%wt!'[::-1],
'省務外02%旗日旭のてしと化文統伝02%ty!'[::-1],
'画動ーリフ】VT項条間水【】旗日旭【回1第』編結完題問史歴アジア東『02%ty!'[::-1],
'reV02%NPJ02%VM02%eineG02%ty!'[::-1],
'wJ-fwbL_c4A02%ty!'[::-1],
'】NAPAJめたるな【出続々人るす惑困」!ろだ話り作「→」すまり語を実真に後最。すで人老の歳59「】応反の外海【02%ty!'[::-1],
'】VT項条間水【回885第』るすにから明てべすを密秘の下投」)年3102(弾爆識認史歴「で会国が員議院議衆彬成山中『02%ty!'[::-1],
'版地外02%蔵聞02%ihasa!'[::-1]]
]
449デフォルトの名無しさん (ワッチョイ 4b10-7Nbo)
垢版 |
2022/04/07(木) 08:16:28.59ID:F7M3b5EM0
>>447
その癖ググるとpython.orgより上位に出るんだよな
2022/04/07(木) 08:37:15.39ID:NQLstles0
Stackoverflowよりコピーサイトを上に出してくるマヌケ検索エンジンだから仕方ないだろ
451デフォルトの名無しさん (ワッチョイ a389-zoQf)
垢版 |
2022/04/07(木) 22:03:32.13ID:CVXmLsvy0
macのAutomatorにマウスやキーボードの操作を記録して再生できる機能を再現させたい
ざっくりでいいから作り方教えてほしい
pyautoguiは多少覚えてます
2022/04/07(木) 22:12:52.44ID:bWKh8TzS0
最近必要に迫られてselenium使ってみたけどなかなか面白い
ちゃんと動くようにしようと思うとエラー処理の固まりみたいになるな
2022/04/07(木) 22:24:52.90ID:mc5hILqJ0
>>451
Automator上からCLIのcliclick叩くのもシンプル
Python関係なくなるけど

>>452
Playwrightという選択肢も
2022/04/07(木) 22:40:15.09ID:CY3kh5ar0
tensorflowを2.8に上げるに伴って対応CUDAを日本語で調べたのが失敗だった
Google一番上に出てきた金子なんちゃら研究室の通りにCUDAとcuDNNのバージョン入れたらGPU使う動作でデバグできないエラー出てかなり悩んだわ
結局あれやこれや試したあと環境見直すときにTFの公式ページ熟読してバージョンが一致してないことが発覚
pythonに限ったことじゃないけど情報を集める場所は考えたほうがいいわ
2022/04/08(金) 00:32:49.12ID:ZCeEf8ov0
AIプログラミング初心者のための勉強ってどんな教材がいい?
ネットの月額教材は月額万単位のものも多いし、書籍はTensorflow1.xにしか対応してないものも多くて何を使えばいいのかさっぱり
2022/04/08(金) 00:51:37.04ID:aiXehUxt0
やりたいことがあればそれに突き進めばいいんだけど
英語が苦じゃなければいきなりKaggle
あとはこんなの
https://campaigns.google.co.jp/kids_ai/
2022/04/08(金) 01:07:42.82ID:r95liLn00
nn console
458デフォルトの名無しさん (ワッチョイ 4b10-7Nbo)
垢版 |
2022/04/08(金) 01:11:12.45ID:ViZWtTWj0
公式チュートリアル1から嫁
2022/04/08(金) 05:20:03.80ID:RDLEcCmed
ん10年ぶりに何かつくろうかとpython触ってみて
動的にクラスが作れるのはびっくり
2022/04/08(金) 11:20:08.15ID:pzSgmDvP0
seleniumのwebドライバはサウンド機能もあるので、
起動すると音量ミキサーに追加される
でも閉じる時に何故か消えてくれないので、
何度も起動してると音量ミキサーにブラウザが無限に並んでえらいことに
461デフォルトの名無しさん (ワッチョイ e568-eL9I)
垢版 |
2022/04/08(金) 12:08:05.20ID:ZCeEf8ov0
AI教材の件
教えてくれてありがとう
いろいろ試してみる
2022/04/08(金) 12:13:33.91ID:pzSgmDvP0
driver.close()の他にdriver.quit()も要るのか
463デフォルトの名無しさん (ワッチョイ a389-zoQf)
垢版 |
2022/04/08(金) 12:39:02.65ID:6ypNPyRK0
>>453
ありがとうございます。
やはりpython内でできるようにしたいので他の方法を考えてみます。
2022/04/08(金) 15:03:37.81ID:CY2NgfkZ0
すみませんPython初心者ですが質問です

MAX/MSPから常に値をOSCで送って、配列を長くしていきたいんですが、
.appendしても配列が常に更新されて長さが1のままです
ソースは下です

https://dpaste.com/2F4FM24EE

OSCで値が送られてくるたび配列に格納していきたいのですが、それでトライ&エラー的に
変数aをインクリメントしようとしてるのですが、ずっと1のまま
なぜでしょうか
教えてください
2022/04/08(金) 15:07:23.70ID:ty7rgx/da
>>464
pythonの基本的な書き方確認すればええよ
2022/04/08(金) 15:10:50.60ID:CY2NgfkZ0
>>465

レス有難うございます、もう少し具体的に教えていただけませんか。。
2022/04/08(金) 15:12:51.87ID:ty7rgx/da
>>466
いや全然わからんわけでしょ?
現状では無理よ
2022/04/08(金) 15:17:52.05ID:CY2NgfkZ0
ではPythonではなく一般論として、まず普通関数が呼び出されたらそのつど実行されますよね
そこで単に呼び出されるたびに数字をひとつづつ足したものを表示していけば数字は増えていくはずなのに、
そうなっていない

これはなぜなのですか?
Pythonに特有の現象なのですか?
2022/04/08(金) 15:19:50.44ID:ty7rgx/da
>>468
数字を一つずつ足す関数が書けるんですか?
2022/04/08(金) 15:25:52.75ID:CY2NgfkZ0
>>469

関数を呼び出すたびに
a += 1

これでいけませんか?
文法的な間違いはないようですが
2022/04/08(金) 15:29:34.61ID:pzSgmDvP0
インデントの間違いでは
2022/04/08(金) 15:37:04.91ID:CY2NgfkZ0
>>471

インデント、ほかの言語と違ってかなり重要なんですね、有難うございます
揃えましたが、結果的には同じようです・・・
2022/04/08(金) 15:44:58.02ID:+3oW9fkFM
同じなわけ無いだろ
もっかい確認しれ
2022/04/08(金) 15:45:50.65ID:pzSgmDvP0
あとは変数のスコープ関連だな
2022/04/08(金) 16:23:41.40ID:CY2NgfkZ0
>>473, 474

有難うございます、インデントを揃え、スコープもググったうえで関数内の変数をグローバル変数にしましたが、
11111111111111111111111111111111111111111111111

と出ます
ソース↓
https://dpaste.com/G7LWT56FW

なぜでしょうか・・・
2022/04/08(金) 16:39:41.66ID:pzSgmDvP0
呼ばれ方が判らないけど、毎回初期化してるのでは
2022/04/08(金) 16:42:17.38ID:CY2NgfkZ0
あ、上のソースで出来ました・・・お騒がせしました。
みなさんありがとうございました。
2022/04/09(土) 12:10:03.12ID:clV5r5o80
forのループのやり直しってできないのかな
continueはやり直しではなく、残りの処理を飛ばして次のループになってしまう
そうではなくて、今のループをもう一度
2022/04/09(土) 12:20:19.97ID:qQptZxW8a
成功するまでやった方が健康には良さそうだが…
480デフォルトの名無しさん (ワッチョイ 4f5f-n8Mu)
垢版 |
2022/04/09(土) 12:22:58.15ID:V7cnhGCg0
それ、ちょっとミスると無限ループだよね

何をやりたいのか分からないけど、例えばforループの中での処理を関数で定義しておいて、
条件を満たすときだけその関数をもう一度呼び出すとかじゃダメなの?

def funcA(int):
 hogehoge
 fugafuga

for i in range(20):
 funcA(i)
 if hoge == fuga: funcA(i)
2022/04/09(土) 12:38:06.09ID:clV5r5o80
やりたいのはエラー時のリトライだけど、どうやっても無限ループの可能性は残るので、
リトライ回数とか見て抜ける仕組みはどうせ必須で、
それならwhileループをもう一重増やしても大差ないし遥かに読みやすい

需要が無いから機能も無いんだろうな
2022/04/09(土) 12:52:43.14ID:qQptZxW8a
ループじゃなくて、キューを用意した上で動的にスケジュールすると考えた方がよいのかも
483デフォルトの名無しさん (ワッチョイ 0610-3n4s)
垢版 |
2022/04/09(土) 13:00:31.56ID:DVQDA1Qq0
>>478
詩的だね
484デフォルトの名無しさん (ワッチョイ 0610-3n4s)
垢版 |
2022/04/09(土) 13:02:55.56ID:DVQDA1Qq0
単純にwhileで成功時のみカウントをインクリメントするか
2022/04/09(土) 13:49:13.82ID:a9m8EYfTM
無理にrange使う必要ないもんな
2022/04/09(土) 14:50:19.51ID:clV5r5o80
リトライ処理の書き方

for _ in range(リトライ回数)
 処理
 if error:
  continue
 break
else:
 エラー処理

正常終了したら必ずbreakで抜けるというのは、驚きなく読まれるだろうか
487デフォルトの名無しさん (ワッチョイ 67b1-WWIQ)
垢版 |
2022/04/09(土) 15:56:36.21ID:dKyIxCe60
whileを使え。
無理矢理、力技やると後から見てワケわからん状態になるぞw
2022/04/09(土) 16:03:55.14ID:8+YqGKMM0
過ぎ去った青春をやり直したい
2022/04/09(土) 17:02:20.14ID:clV5r5o80
forでもwhileでも本質的には変わらない
正常時にbreakで抜けるのは慣用句かどうか
2022/04/09(土) 17:24:47.82ID:mo38de660
複数のif文をループ内で続ける場合は
breakを使えば次のif文はelifでなくてもいいという違いはあるな
2022/04/09(土) 17:38:36.12ID:87umrizs0
俺が引き継ぐとしたらwhileにしておいてほしい
2022/04/09(土) 17:38:52.45ID:fKWuF8Ed0
forとかWhile文にelse文付けるやり方って可読性落ちるからやりたくねーな……

よく見かける書き方だとこんな感じでね?
While isError AND リトライ回数 < リトライ上限:
2022/04/09(土) 17:43:24.27ID:jgJoozbM0
StopIterationやAttributeErrorも正常系でつかうし
こねくり回したコードになるならbreakでスッキリ書きたいしありかな
2022/04/09(土) 17:46:50.44ID:132nXd6zM
よくわからんけど関数化してデコレータでリトライすればいいんじゃないの?
495デフォルトの名無しさん (ワッチョイ 232c-TG4f)
垢版 |
2022/04/09(土) 17:53:31.16ID:lCz4U8HD0
limit = 00
count =0
while True and count <= limit:
__count +=1
__try:
___for
__except:
2022/04/09(土) 18:26:43.74ID:clV5r5o80
>>492
ループ抜けた後に、結局処理できたのかできなかったのかはカウンタ見るの?
2022/04/09(土) 19:01:16.37ID:erlZKZM80
>>486
普通こうじゃないの?
for _ in range(リトライ回数)
 処理
 if success:
  print('正常終了')
  break
else:
 print('リトライオーバー')
2022/04/09(土) 19:10:11.63ID:clV5r5o80
確かに
出口を2つも書くのは追いにくい
2022/04/09(土) 19:30:36.35ID:fKWuF8Ed0
>>496
カウンタで見ても良いけど、
結局ループ抜けた直後はisError(エラーかどうか)の値は変わってないから
そっちで判定しても問題ない
2022/04/09(土) 19:46:27.41ID:clV5r5o80
どっちにしても流用してる感があるなあ

エラーかどうかが戻り値や式なら変数に入れなくてもいいのに、
後で参照する為に変数を増やさないといけない
それより、elseの方が明示的
2022/04/09(土) 19:57:04.93ID:jgJoozbM0
運悪くクソコードで学んでしまってそこで止まってるんだからしょうがない
切り替えていこう
2022/04/09(土) 20:09:17.21ID:fKWuF8Ed0
>>500
>後で参照する為に変数を増やさないといけない
変数を増やすことに抵抗感じる人とかおるのか……
そら極端に細かく分ける事はないけど
エラーチェック結果ぐらいは変数に入れてもええやん
2022/04/09(土) 20:14:18.56ID:TiDOyS5/0
新しい職場でpyspark使うことになったけど日本語ドキュメント少な過ぎて困る
せめてpandas主体ならいいのにデータ量多くてpandasだと処理しきれないことがある
2022/04/09(土) 22:19:11.52ID:ybdxAeLn0
>>478
breakで不適切な数値の時に対処してないかな?

passかcontinueで
2022/04/10(日) 00:38:55.00ID:YY9dKz/y0
pylintかけると、
continue, breakで抜けてる場合は
elseは余計と怒られるな
2022/04/10(日) 00:43:35.19ID:dAyCsfYJ0
>>478
やり直しのためのループとメイン処理のループは目的が違うんだから一つにまとめず分けたほうがいい
結果として2重ループになるわけだけどもインデントが深くなるのを避けるために関数化
2022/04/10(日) 07:40:38.07ID:Cd8Fw5+60
continueで終わった時もelseは実行されるでしょ
そこに混乱は無いと思う
breakとelseは当然排他するけど、その性質を使いたいのに使うと怒られるのか
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。