この板はプログラムを作る人のための板です。
あらゆる質問はまず
スレ立てるまでもない質問はここで
スレにしてください。
【前スレ】
スレ立てるまでもない質問はここで 155匹目
https://mevius.5ch.net/test/read.cgi/tech/1606439237/
次スレは>>980が立てること
探検
スレ立てるまでもない質問はここで 156匹目
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2021/02/20(土) 17:17:54.73ID:56yjs2OO987デフォルトの名無しさん
2021/06/18(金) 12:35:29.33ID:/PK0wqbC gyazoとかいうゴミで画像貼んな
988デフォルトの名無しさん
2021/06/18(金) 13:39:45.56ID:WThQkiL7 func(list):
_if list[0]=a:
__for i in list:
____conv_a(i)
____write(i)
_elif list[1]=b:
__for i in list:
____conv_b(i)
____write(i)
空撃ちしたときと本番で処理違うみたいなので
こう書きがちなんだけど、よくないなっていう自覚があります
配列→微妙に異なる処理→出力 のとき、どう書いたら上手いですか?
_if list[0]=a:
__for i in list:
____conv_a(i)
____write(i)
_elif list[1]=b:
__for i in list:
____conv_b(i)
____write(i)
空撃ちしたときと本番で処理違うみたいなので
こう書きがちなんだけど、よくないなっていう自覚があります
配列→微妙に異なる処理→出力 のとき、どう書いたら上手いですか?
989デフォルトの名無しさん
2021/06/18(金) 13:46:33.95ID:Jo75oGSb990デフォルトの名無しさん
2021/06/18(金) 14:15:44.89ID:ru+U9KL5 python で代入文は if の条件に描けないぞ
991デフォルトの名無しさん
2021/06/18(金) 14:18:50.64ID:H41XlXnl >>988
Pythonぽいけどdefないし等号も違うから何の言語か分からなかった
Pythonみたいに関数を変数に入れられる言語なら最初に適用する関数を決めるとすっきりしそう
func(list):
# 適用する処理(conv)を設定
if list[0] == a:
conv = conv_a
elif list[1] == b:
conv = conv_b
# リストに処理を適用して出力
for i in list:
conv(i)
write(i)
aとbでlistのインデクスが違うのが気になったけど無視する
Pythonぽいけどdefないし等号も違うから何の言語か分からなかった
Pythonみたいに関数を変数に入れられる言語なら最初に適用する関数を決めるとすっきりしそう
func(list):
# 適用する処理(conv)を設定
if list[0] == a:
conv = conv_a
elif list[1] == b:
conv = conv_b
# リストに処理を適用して出力
for i in list:
conv(i)
write(i)
aとbでlistのインデクスが違うのが気になったけど無視する
992デフォルトの名無しさん
2021/06/18(金) 14:22:04.15ID:EhVYURYt 変数名に list 使うな
func(l):
if l[0] != a && l[1] != b: return
f = (conv_a, conv_b)[l[0] != a]
for i in l:
f(i)
write(i)
func(l):
if l[0] != a && l[1] != b: return
f = (conv_a, conv_b)[l[0] != a]
for i in l:
f(i)
write(i)
993デフォルトの名無しさん
2021/06/18(金) 14:27:15.83ID:rMpkljNE994デフォルトの名無しさん
2021/06/18(金) 14:40:28.04ID:dSkONN1n995デフォルトの名無しさん
2021/06/18(金) 15:01:02.87ID:WThQkiL7 すいませんpythonスレじゃないので曖昧な書き方のがいいのかなと思って…
def func(l):
_if l[0][0] == 0:
__for i in l:
___write(conv_a(i))
_elif[0][0] == 1:
__for i in l:
___write(conv_b(i))
です.ほんとは各処理もうちょっと関数続くんですけど
いずれにせよ途中だけが微妙に違うほぼ同じ処理をきれいに書きたい
>>991
おー.見やすいです
def func(l):
_if l[0][0] == 0:
__for i in l:
___write(conv_a(i))
_elif[0][0] == 1:
__for i in l:
___write(conv_b(i))
です.ほんとは各処理もうちょっと関数続くんですけど
いずれにせよ途中だけが微妙に違うほぼ同じ処理をきれいに書きたい
>>991
おー.見やすいです
996デフォルトの名無しさん
2021/06/18(金) 15:45:26.03ID:PuJK3NPt >>991 は仕様(実装)にバグがある
997デフォルトの名無しさん
2021/06/18(金) 17:03:01.08ID:194Cy0xO うん、>>992のようにチェック入れるべきだね
でもreturnより例外吐くべきでは?
でもreturnより例外吐くべきでは?
998デフォルトの名無しさん
2021/06/18(金) 18:04:22.88ID:tKtuqq6N 責務の分離が上手くできてない関数の中身だけいじくり回してもキレイにはならないよ
呼び出し側やデータ構造なんかも含めて考え直さないと
呼び出し側やデータ構造なんかも含めて考え直さないと
999デフォルトの名無しさん
2021/06/18(金) 18:38:56.71ID:9pPslW7o メインルーチンとサブルーチンを明確に意識して
メインルーチンは処理の流れがわかるように
サブルーチンはテストして結果が出ればよしと分ける
メインルーチンは処理の流れがわかるように
サブルーチンはテストして結果が出ればよしと分ける
1000デフォルトの名無しさん
2021/06/18(金) 21:22:28.52ID:FdpzvR5V >>998
もっと具体的に言わないと役に立たないと思うが
もっと具体的に言わないと役に立たないと思うが
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 118日 4時間 4分 34秒
新しいスレッドを立ててください。
life time: 118日 4時間 4分 34秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★5 [♪♪♪★]
- 【🐼】パンダ、日本で会えなくなる? 中国との関係悪化で不安の声 [ぐれ★]
- 台湾有事での集団的自衛権行使に「賛成」が48.8%、「反対」が44.2% ★6 [♪♪♪★]
- 高市早苗首相、独自貫いた1カ月 会食ゼロ、議員宿舎で勉強漬け「飲んでる暇があれば、政策を練り、資料を読みたい」 [Hitzeschleier★]
- 【立憲民主党】「質問レベルの低さが立憲の存立危機事態」台湾有事発言を引き出した立憲“執拗追及”が波紋… ★2 [尺アジ★]
- 【MLB】大谷翔平、山本由伸、佐々木朗希WBC出場辞退が確実に! トランプ大統領「ロス五輪最優先」指令 どうなる侍ジャパン [牛丼★]
- 【NJPW】新日本プロレスワールド part.2412
- 競輪実況★1606
- 【NJPW】新日本プロレスワールド part.2413
- 他サポ 2025-261
- ハム専ファンフェス
- 2025 SUPER FORMULA Lap18
- 【実況】博衣こよりのえちえちKoZMy4D晩酌🧪❄🫘
- 【実況】博衣こよりのえちえちKoZMy3D晩酌🧪❄🫘
- 【ござ専🏡】風間隊🥷集合でござる🏯【風間いろは🍃】
- 【速報】高市首相「国際社会は危機に直面している」 [256556981]
- 【悲報】日本人、突然全員高市早苗の反転アンチになる。外交勝負服発言がどうしても許せない模様 [517791167]
- 【誰でも】雑談広場★0
