【まず1嫁】くだすれPython(超初心者用) その60 (333レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

195
(1): デフォルトの名無しさん [] 2025/04/03(木) 11:38:06.49 ID:vmJuPnVe(1/5) AAS
pythonでこういう処理ってできます?
gotoを使わずに処理をスキップしたいのだが。

#何かの演算をして評価するブロックのはじめ
a= (何かの演算)
if a==0:
  a= (何かの演算)
  goto ここに飛ぶ #下のif分はやらない

a= (何かの演算)
if a==0:
  a= (何かの演算)
  goto ここに飛ぶ #下のif分はやらない

a= (何かの演算)
if a==0:
  a= (何かの演算)
  goto ここに飛ぶ #下のif分はやらない

#何かの演算をして評価するブロックのおわり

label ここに飛ぶ
198: デフォルトの名無しさん [] 2025/04/03(木) 12:11:55.61 ID:vmJuPnVe(2/5) AAS
>>196
196(2): デフォルトの名無しさん [] 2025/04/03(木) 11:57:03.44 ID:6V8WkUdO(1/4) AAS
>>195
それは goto でなく return で実装するんじゃないの。処理を関数化して。
「label ここに飛ぶ」がコール元。
このifのとこの処理を関数にするとグローバル変数とかのややこしいことを考えなきゃいけないので関数にしたくないんだが。
コードも読みにくくなるし。
なんとかこの部分を入れ子にして、何かの条件に達したら入れ子を抜けるてことをしたい。
考えたのが1回だけ回るfor分にしてbreakで抜けるってことやったんだが、pythonてこういうロジックを組む命令ってないのかな。
208
(1): デフォルトの名無しさん [] 2025/04/03(木) 16:10:16.44 ID:vmJuPnVe(3/5) AAS
>>207
207(1): デフォルトの名無しさん [sage] 2025/04/03(木) 14:59:53.43 ID:qoBzzZNd(1/2) AAS
gotoはないからそのままの形の実装はできない
関数化してearly returnが常道
関数化すると変数は関数内と関数外で別物になってしまう。
195のサンプルではa= (何かの演算)になっててaしかいじってないから、
aだけ戻り値を返せばいいけど、
a= (何かの演算)のところには実際はいろんな処理がはいる。
そうなるとそこで使う変数は全部関数に引数で渡して戻り値を返すてことをする必要が出てくる。
それかglobal宣言するかだね。
それがpythonの常道なの?
211: デフォルトの名無しさん [] 2025/04/03(木) 17:34:05.57 ID:vmJuPnVe(4/5) AAS
THX.
なんかいい例を出せなくて申し訳ない。
212
(3): デフォルトの名無しさん [] 2025/04/03(木) 17:50:29.44 ID:vmJuPnVe(5/5) AAS
結局やったコード。
for i in range(1):
  いろんな処理
  if 判定:
    いろんな処理
    break
  いろんな処理
  if 判定:
    いろんな処理
    break
  #いろんな処理とかif 判定が結構続くので、if elif elseで書くと分岐が面倒になる

#label breakしてここに飛ぶ
いろんな処理で出てきた値をまた使う。
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.826s*