!extend:default:vvvvv:1000:1024
!extend:default:vvvvv:1000:1024
↑スレ立てる毎に減るので、減ってたら3つに補充すること。
※前スレ
Pythonのお勉強 Part73
https://mevius.5ch.net/test/read.cgi/tech/1717631290/
VIPQ2_EXTDAT: default:vvvvv:1000:512:: EXT was configured
探検
Pythonのお勉強 Part74
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0b4a-lz98)
2024/09/21(土) 10:14:02.15ID:ZHy4g+PL0716デフォルトの名無しさん (ブーイモ MM43-UMND)
2025/02/22(土) 00:07:13.49ID:Oo9CzgQsM717デフォルトの名無しさん (ワッチョイ 9b01-wm2V)
2025/02/22(土) 00:28:58.03ID:rVspP8iQ0 不親切なエラーだよね
718デフォルトの名無しさん (ワッチョイ 438b-UMND)
2025/02/22(土) 00:58:09.16ID:eBlj03Lj0 境界値の問題って定番じゃね
テストケースにも必ずいれるだろ
テストケースにも必ずいれるだろ
719デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 07:44:50.26ID:mdQ5EfsK0 閏秒なんか廃止で当然だよな
720デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 12:10:03.03ID:kWiPacnr0 >>716
ありがとうございます
このようにしてみましたがもっとスマートな方法ってありますか?
from datetime import datetime
t_start: str = "23:00"
t_end: str = "24:00"
if t_end[0:2] == "24":
t_end = f"00:{t_end[3:5]}"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
if t_end[0:2] == "00":
unix_t_end += 86400 # 24時間足す
x = int(unix_t_end - unix_t_start)
print(x)
ありがとうございます
このようにしてみましたがもっとスマートな方法ってありますか?
from datetime import datetime
t_start: str = "23:00"
t_end: str = "24:00"
if t_end[0:2] == "24":
t_end = f"00:{t_end[3:5]}"
t_start_dt: datetime.datetime = datetime.strptime(t_start, "%H:%M")
t_end_dt: datetime.datetime = datetime.strptime(t_end, "%H:%M")
unix_t_start: float = t_start_dt.timestamp()
unix_t_end: float = t_end_dt.timestamp()
if t_end[0:2] == "00":
unix_t_end += 86400 # 24時間足す
x = int(unix_t_end - unix_t_start)
print(x)
721デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 12:19:18.21ID:mdQ5EfsK0 何がしたいのか不明だけど、時間の計算にはtimedeltaを使う
722デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 12:35:47.16ID:kWiPacnr0723デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 12:42:40.44ID:kWiPacnr0 やりたいことはt_startとt_endの中に入ってる文字列の時刻の差分を求めたいです
724デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 12:44:39.38ID:mdQ5EfsK0 といいつつ、日付ではなく時間の長さをhh:mm:ss形式で書きたい時用に、
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い
秒単位のfloatと文字列の相互変換ライブラリを自作した
標準にはいいの無い
725デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 12:51:12.03ID:mdQ5EfsK0 うちのライブラリで書くと、
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる
delta = str_sec(t_end)-str_sec(t_start)
print(sec_str(delta))
こんな感じになる
726デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 13:11:12.71ID:kWiPacnr0 途中経過ですけど今こんな状態です
t_start: str = "23:00"
t_end: str = "24:00"
dt_now = datetime.now()
t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5]))
if t_end[0:2] == "24":
dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month"
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5]))
else:
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5]))
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x)
t_start: str = "23:00"
t_end: str = "24:00"
dt_now = datetime.now()
t_start_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_start[0:2]), minute=int(t_start[3:5]))
if t_end[0:2] == "24":
dt_d = dt_now.day + 1 # もし現在が月の最終日だとエラーになる "ValueError: day is out of range for month"
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_d, hour=0, minute=int(t_end[3:5]))
else:
t_end_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(t_end[0:2]), minute=int(t_end[3:5]))
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x)
727デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 13:58:51.98ID:kWiPacnr0 何度もすみません
とりあえずこうなりました
なんだが余計に長くなった気がします
from datetime import datetime
def strToDt(str_dt: str):
dt_now = datetime.now()
# TODO 25や26の場合があるかもしれないので24決め打ちはやめる
if str_dt[0:2] == "24":
next_dt = dt_now + timedelta(days=1)
dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5]))
else:
dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5]))
return dt_dt
t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt = strToDt(t_start)
t_end_dt = strToDt(t_end)
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x) # 時間:分:秒 形式
# TODO xを分形式に変換する
とりあえずこうなりました
なんだが余計に長くなった気がします
from datetime import datetime
def strToDt(str_dt: str):
dt_now = datetime.now()
# TODO 25や26の場合があるかもしれないので24決め打ちはやめる
if str_dt[0:2] == "24":
next_dt = dt_now + timedelta(days=1)
dt_dt = datetime(year=next_dt.year, month=next_dt.month, day=next_dt.day, hour=0, minute=int(str_dt[3:5]))
else:
dt_dt = datetime(year=dt_now.year, month=dt_now.month, day=dt_now.day, hour=int(str_dt[0:2]), minute=int(str_dt[3:5]))
return dt_dt
t_start: str = "23:00"
t_end: str = "24:00"
t_start_dt = strToDt(t_start)
t_end_dt = strToDt(t_end)
x = t_end_dt - t_start_dt
print(t_start_dt)
print(t_end_dt)
print(x) # 時間:分:秒 形式
# TODO xを分形式に変換する
728デフォルトの名無しさん (ブーイモ MM43-UMND)
2025/02/22(土) 14:01:58.99ID:92tqsAYeM 初学者だと思うけど
end>startが保証されてるなら
>725
みたいに秒に変換して引き算が正解じゃない?
end>startが保証されてるなら
>725
みたいに秒に変換して引き算が正解じゃない?
729デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 14:16:15.84ID:kWiPacnr0 >>728
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました
Endが24までなのか25や26もあるのか、それとも24の次は1なのか確実じゃないのでその辺考えて修正してみます
やっぱりタイムスタンプに変換した方が短くなりますか?
あと、727のインポートでtimedeltaが抜けてました
730デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 14:22:19.90ID:mdQ5EfsK0 print(datetime.now())
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに
これの出力が
2025-02-22 14:20:40.735896
これになるのが嫌
秒を整数にしてくれたらそのまま使えるのに
731デフォルトの名無しさん (ワッチョイ 15b2-xt5A)
2025/02/22(土) 15:29:44.08ID:kWiPacnr0732デフォルトの名無しさん (ワッチョイ 9b01-VhW0)
2025/02/22(土) 18:46:10.84ID:/k68f2f30 pandasなら+“:00”してHH:mm:ss形式に揃えれば25:00や26:00でもパースできるけど簡単な処理だから自分で計算すればいいんじゃないかと思う
def parse_as_minutes(hhmm):
hours, minutes = [int(x) for x in hhmm.split(':')]
return hours * 60 + minutes
def parse_as_minutes(hhmm):
hours, minutes = [int(x) for x in hhmm.split(':')]
return hours * 60 + minutes
733デフォルトの名無しさん (ワッチョイ cd54-3IcV)
2025/02/22(土) 18:52:17.77ID:mdQ5EfsK0 そんなのを毎回作ってられない
2回くらいは作る
3回目あたりで、本腰入れて部品化する
2回くらいは作る
3回目あたりで、本腰入れて部品化する
734デフォルトの名無しさん (ワッチョイ 43ce-qk/j)
2025/02/22(土) 23:02:04.13ID:eBlj03Lj0735デフォルトの名無しさん (ワッチョイ fd01-CYpN)
2025/02/22(土) 23:31:26.22ID:d1IFpLYA0 劣化しとるやないかーい
736デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
2025/02/23(日) 09:47:38.74ID:BUMkVt7f0 個人レベルで機械学習学んでも意味無いですかね?
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね
競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね
例えば競馬予想aiを作りたいとして
しかし、けっきょくのところデータがないと、学習モデルだけあっても意味ないですもんね
競馬なら馬場状態を数値化したデータというのがないと、学習させられないですよね
737デフォルトの名無しさん (ワッチョイ 31b8-I+dG)
2025/02/23(日) 10:33:41.64ID:2+mAKcn80 >>730
そのくらいは標準で簡単に出来るだろ
そのくらいは標準で簡単に出来るだろ
738デフォルトの名無しさん (ワッチョイ 3de3-Ek8k)
2025/02/23(日) 10:36:52.09ID:foL9AaqB0739デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/23(日) 11:58:59.62ID:uSqDrBD8M740デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 12:29:42.21ID:TNVZaLWv0 オッズの計算に投票だけではなくAI予想も加味したら、
面白さと利益率が上がるのでは
面白さと利益率が上がるのでは
741デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
2025/02/23(日) 13:11:05.65ID:BUMkVt7f0742デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 13:17:20.60ID:TNVZaLWv0 確率が計算できて、オッズがその確率通りならば、どこに賭けても期待値は同じ
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない
実際には、確率とオッズに乖離が発生する
そこに着目して、確率の高いところではなく、期待値の高いところに掛けると儲かるかもしれない
743デフォルトの名無しさん (オイコラミネオ MM09-WNII)
2025/02/23(日) 14:34:58.45ID:uSqDrBD8M744デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 15:42:44.26ID:TNVZaLWv0 early continue 便利だな
行は増えるけどネストは浅い方がいいので積極的に使おう
行は増えるけどネストは浅い方がいいので積極的に使おう
745デフォルトの名無しさん (ワッチョイ 8d3e-D2xv)
2025/02/23(日) 16:11:59.81ID:r171NbV30 >>744
横からだけどサンクスこれいいな
横からだけどサンクスこれいいな
746デフォルトの名無しさん (ワッチョイ cd79-Ro5/)
2025/02/23(日) 16:59:33.82ID:SH8eoGXi0 そんな言い方があるんだな
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった
同じように関数で場合分けごとにさっさとreturnしてるけど
これもearly returnっていうのを知らなかった
747デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 17:13:57.05ID:TNVZaLWv0 例えばループで文字列を処理していて
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる
で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
continue
になって、なんか変
最初から m = のままで、
if not m:
continue
を付ければすっきりする
セイウチは絶滅の方向で
m = re.search(pattern, str)
found = m.groups()[0]
これだと見つからない時にエラーになる
で、
if m :=
にしたりするけど、見つからなかったら飛ばしたいなら、
else:
continue
になって、なんか変
最初から m = のままで、
if not m:
continue
を付ければすっきりする
セイウチは絶滅の方向で
748デフォルトの名無しさん (ワッチョイ 8dd8-Xb5t)
2025/02/23(日) 18:43:24.49ID:ap5ufkCU0 それ最初からelse: continue必要ないじゃん
749デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 19:01:50.10ID:TNVZaLWv0 elseをほっとくと、foundの中身が不定になってしまう
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない
事前にNoneを入れておいたりして、後の処理でNoneなら飛ばす
みたいなことになる
そんなことするくらいなら、continueしてしまった方が後腐れない
750デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/23(日) 19:46:23.76ID:CZU86cpwa >>709
Unityがゲームしか造れないという考え方は改めるべき
Unityがゲームしか造れないという考え方は改めるべき
751デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/23(日) 19:48:54.69ID:CZU86cpwa re.findall(pattern, str)
752デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 20:05:27.12ID:TNVZaLWv0 もしかしてfindallって全ての点でsearchに勝ってる?
753デフォルトの名無しさん (ワッチョイ 8dd8-Xb5t)
2025/02/23(日) 20:54:18.71ID:ap5ufkCU0 なんでだよw
めちゃくちゃ要領悪いな
めちゃくちゃ要領悪いな
754デフォルトの名無しさん (スッップ Sdfa-O5ZF)
2025/02/23(日) 22:37:16.02ID:R0b4DHIEd >>749
gotoを多用しそうな人発見
gotoを多用しそうな人発見
755デフォルトの名無しさん (ワッチョイ ee01-4CRF)
2025/02/23(日) 23:03:58.66ID:LVu8ljPH0 pythonのreはAPI設計に難があるよね
他の言語から戻って来るたびに仕様の確認が必要
他の言語から戻って来るたびに仕様の確認が必要
756デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/23(日) 23:09:23.71ID:TNVZaLWv0 perlから来たからsearchばっかり使ってるけど、
findallの方がこなれてそうだな
findallの方がこなれてそうだな
757デフォルトの名無しさん (ワッチョイ 6e9a-1YEc)
2025/02/24(月) 05:49:40.37ID:ujJrcFED0 >>750
tensorflowとかunityで使えるんすか(´・ω・`)
tensorflowとかunityで使えるんすか(´・ω・`)
758デフォルトの名無しさん (ワッチョイ 752a-xrb0)
2025/02/24(月) 08:23:49.32ID:TCszVRfv0 >>747
> 最初から m = のままで、
> if not m:
> continue
> を付ければすっきりする
> セイウチは絶滅の方向で
話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?
if not (m := re.search(pattern, str)):
continue
> 最初から m = のままで、
> if not m:
> continue
> を付ければすっきりする
> セイウチは絶滅の方向で
話題をよく理解していないのだけれど、
コロンイコールを使って、そのように論理を逆転してやればすっきりする、というハナシとも違うの?
if not (m := re.search(pattern, str)):
continue
759デフォルトの名無しさん (ワッチョイ d5d7-0NZ+)
2025/02/24(月) 12:12:57.30ID:4WrA9fgL0760デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/24(月) 14:57:43.47ID:d83yxTtH0 いくつかのパターンのどれかに合致する、みたいな時は
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる
if m :=
elif m :=
elif m :=
みたいにしか書きようがない
パターン検査と結果取得を同時に書かないと、同じことを2回書くことになる
761デフォルトの名無しさん (ワッチョイ aebb-O2N6)
2025/02/24(月) 15:09:39.96ID:Jwc6B7rV0762デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/24(月) 15:27:48.14ID:d83yxTtH0 だからこそ、1行で決まった数キャプチャーする時はsearchで、
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け
という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう
全体からいくつあるか判らないけどあるだけ取ってくる時はfindallという使い分け
という設計だったけど、
1回しかマッチしないと判っててもfindallして[0]だけ使う方が使いやすいっていう
763デフォルトの名無しさん (ワッチョイ d5d7-0NZ+)
2025/02/24(月) 15:29:10.34ID:4WrA9fgL0 >>760
人それぞれではあるけども
検査先を単一にしてパターンマッチングに持ち込めないんなら
一緒くたにしないで個別のifと必要なら早期return/continueにする
Pythonの簡潔さって表現力があって強力な他言語とは趣がちがう
人それぞれではあるけども
検査先を単一にしてパターンマッチングに持ち込めないんなら
一緒くたにしないで個別のifと必要なら早期return/continueにする
Pythonの簡潔さって表現力があって強力な他言語とは趣がちがう
764デフォルトの名無しさん (ワッチョイ aebb-O2N6)
2025/02/24(月) 16:51:44.97ID:Jwc6B7rV0765デフォルトの名無しさん (オッペケ Sr75-rIvZ)
2025/02/24(月) 17:00:02.49ID:qXEt7oPpr C#のLINQは優秀だよな
async/awaitみたいにあれも貰ってきてくれよ
async/awaitみたいにあれも貰ってきてくれよ
766デフォルトの名無しさん (ワッチョイ e9e7-I+dG)
2025/02/24(月) 18:19:27.76ID:xkCGwjl20 >>760
そういうのはパターンとアクションをコレクションにまとめる
そういうのはパターンとアクションをコレクションにまとめる
767デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/24(月) 18:26:57.10ID:d83yxTtH0 具体的に何してるか書くと、日付や時刻をファイル名に含んだいろんなファイルを時系列ソートする
日付時刻の表記方法は10種類あって、どれでもない場合はタイムスタンプで代用する
日付は必ず含むが、時刻は無い場合もある
なかなか統一的には書けないので、if m := elifのかたまりになる
日付時刻の表記方法は10種類あって、どれでもない場合はタイムスタンプで代用する
日付は必ず含むが、時刻は無い場合もある
なかなか統一的には書けないので、if m := elifのかたまりになる
768デフォルトの名無しさん (オッペケ Sr75-rIvZ)
2025/02/24(月) 18:37:53.69ID:qXEt7oPpr 都度ファイル名を解析して時系列ソートするんじゃなくて一発バッチでファイル名を統一してしまうわけにはいかんのか
769デフォルトの名無しさん (ワッチョイ 315e-I+dG)
2025/02/24(月) 19:03:25.46ID:Ts/aFZR80770デフォルトの名無しさん (ワッチョイ 2601-p51G)
2025/02/24(月) 22:53:00.73ID:Wgnd8zr+0 本人は同じ処理を繰り返し書いてる認識自体がないんじゃないかな
すごくベーシックなリファクタリング方法だけどメソッド抽出やクラス分割や統合に比べて認識できない人が多い印象がある
すごくベーシックなリファクタリング方法だけどメソッド抽出やクラス分割や統合に比べて認識できない人が多い印象がある
771デフォルトの名無しさん (ワッチョイ 762a-xrb0)
2025/02/25(火) 09:13:08.75ID:DokSK96w0772デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/25(火) 09:54:29.03ID:XzpdRQ1Sa 769がwinprocのWM_hogehogeのifelse観ると卒倒するだろうな
773デフォルトの名無しさん (ワッチョイ b679-I+dG)
2025/02/25(火) 17:56:27.99ID:PjrSO8Sc0 コンテキストが全然違うから比べる意味がない
774デフォルトの名無しさん (ワッチョイ 3d24-Ek8k)
2025/02/25(火) 19:31:30.09ID:z5mNSc8+0 数百個のswitch caseは別に見にくいとは思わんのよな
むしろ追加が簡単だからわかりやすい
むしろ追加が簡単だからわかりやすい
775デフォルトの名無しさん (ワッチョイ cd01-p51G)
2025/02/25(火) 23:57:48.17ID:xhjdbHGf0 >>771
わざわざ例示するのもちょっと恥ずかしいが一例を書いておく
for (pattern, func) in rules:
if m := re.search(pattern, string):
return func(m)
他言語でstatic dispatchが求められる用途ではもちろん使わない
わざわざ例示するのもちょっと恥ずかしいが一例を書いておく
for (pattern, func) in rules:
if m := re.search(pattern, string):
return func(m)
他言語でstatic dispatchが求められる用途ではもちろん使わない
776デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/26(水) 00:09:16.17ID:wJOChXEu0 各funcがそれぞれ違う内容の筈という前提があるけど、
殆どそっくりなfuncが延々と並んだら、もう少し頭いいやり方があるのでは、と思うだろう
殆どそっくりなfuncが延々と並んだら、もう少し頭いいやり方があるのでは、と思うだろう
777デフォルトの名無しさん (ワッチョイ cd01-p51G)
2025/02/26(水) 00:50:58.38ID:xhjdbHGf0 うーん
そっくりじゃないから違う処理をしてる(と思ってる)
違う処理をしてるから統一的に書けない(と思ってる)
というのがまさに「本人は同じ処理を繰り返し書いてる認識自体がない」状態なんだがなぁ
そっくりじゃないから違う処理をしてる(と思ってる)
違う処理をしてるから統一的に書けない(と思ってる)
というのがまさに「本人は同じ処理を繰り返し書いてる認識自体がない」状態なんだがなぁ
778デフォルトの名無しさん (ワッチョイ 0a8b-MccG)
2025/02/26(水) 01:45:33.67ID:TQg7w7Pj0 argparseとかUIのイベント処理がそんな感じだけど
数が増えたらボイラープレートだらけで美しくないんだよな
数が増えたらボイラープレートだらけで美しくないんだよな
779デフォルトの名無しさん (ワッチョイ fdad-pgkt)
2025/02/26(水) 02:08:13.92ID:O0INS9IK0 日付のパターン 正規表現にして その日付部分を引っ張り出してきて 戻り値にすればいいのでは
780デフォルトの名無しさん (ワッチョイ 0154-ePnC)
2025/02/26(水) 07:46:22.98ID:EieBhFTu0 あー、それだ
30時間制でhourが23を超えてたら、24引いて1日足す、みたいな処理もあって、
それを各関数でやってられない
最終的に欲しいのはdatetimeのオブジェクトで、その変換も一括でやりたい
で、全体を一つの処理にしてたけど、一番プリミティブな抽出部分だけ関数化すればいいのか
日付と時刻をバラバラで返すのは嫌すぎるのでclassにする
30時間制でhourが23を超えてたら、24引いて1日足す、みたいな処理もあって、
それを各関数でやってられない
最終的に欲しいのはdatetimeのオブジェクトで、その変換も一括でやりたい
で、全体を一つの処理にしてたけど、一番プリミティブな抽出部分だけ関数化すればいいのか
日付と時刻をバラバラで返すのは嫌すぎるのでclassにする
781デフォルトの名無しさん (ワッチョイ 762a-xrb0)
2025/02/26(水) 09:52:35.13ID:z2nMevLL0782デフォルトの名無しさん (ワッチョイ d5b4-0NZ+)
2025/02/26(水) 12:34:12.97ID:RZQSvPw/0 実際のパターン提示されてないし
一般化したい欲求から来てるのにそんな冗長なコード書くか?
一般化したい欲求から来てるのにそんな冗長なコード書くか?
783デフォルトの名無しさん (ワッチョイ 7d2a-9/nK)
2025/02/26(水) 13:24:03.55ID:XqJTS5Fa0 実際でなくていいよ。適当にググったこんなので。
2025-02-26T23:45:12.34.txt
Wed 02-26-2025.dat
Wed 26 Feb 2025 11:45:12 PM.txt
2025-02-26T23:45:12.34.txt
Wed 02-26-2025.dat
Wed 26 Feb 2025 11:45:12 PM.txt
784デフォルトの名無しさん (ワッチョイ 2601-XCpO)
2025/02/26(水) 16:51:32.29ID:w6olCj090 その例だけならarrow使えば正規表現使わなくても簡単にできるよ
25時とかは守備範囲外なので別途事前処理が必要
25時とかは守備範囲外なので別途事前処理が必要
785デフォルトの名無しさん (ワッチョイ 3da8-7Ey8)
2025/02/26(水) 17:07:33.10ID:n89P36ao0 ubuntu22.04,python3.10.12でUSBカメラ繋いで撮った動画を保存するプログラム作ろうとしたんだけど保存した動画が再生出来ないや
静止画を結合して動画にする事はできたからコーデック的な問題ではないと思うんだけど
import cv2
cap=cv2.VideoCapture(0)
width,height=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out=cv2.VideoWriter("/home/taro/Videos/result.avi,cv2.VideoWriter.fourcc(*"DIVX"),30.0,(width,height),isColor=True)
print("録画を開始します")
try:
while cap.isOpened():
ret, frame=cap.read()
if ret:
out.write(frame)
cv2.imshow("frame",frame)
if cv2.waitkey(1) & 0xFF ==ord("q"):
break
else:
break
except KeyboardInterrupt:
print("録画を終了します")
finally:
cap.release()
out.release()
cv2.destroyAllwindows()
静止画を結合して動画にする事はできたからコーデック的な問題ではないと思うんだけど
import cv2
cap=cv2.VideoCapture(0)
width,height=int(cap.get(cv2.CAP_PROP_FRAME_WIDTH)),int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
out=cv2.VideoWriter("/home/taro/Videos/result.avi,cv2.VideoWriter.fourcc(*"DIVX"),30.0,(width,height),isColor=True)
print("録画を開始します")
try:
while cap.isOpened():
ret, frame=cap.read()
if ret:
out.write(frame)
cv2.imshow("frame",frame)
if cv2.waitkey(1) & 0xFF ==ord("q"):
break
else:
break
except KeyboardInterrupt:
print("録画を終了します")
finally:
cap.release()
out.release()
cv2.destroyAllwindows()
786デフォルトの名無しさん (アウアウウー Sa39-/AOM)
2025/02/26(水) 19:37:57.30ID:j/LMUKKxa aiに聞けよ
787デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
2025/02/27(木) 11:58:07.92ID:80QDg94G0 jsonファイルが開けません。何が原因でしょうか?
https://techiedelight.com/compiler/?b14b6e
24行目以降はスクリプトの出力結果です
TextIOWrapper型はダメと書いてあるようなんですけどどうしたらいいのか分かりません
https://jsonlint.com
jsonファイルの中はここで念のためチェックしました
https://techiedelight.com/compiler/?b14b6e
24行目以降はスクリプトの出力結果です
TextIOWrapper型はダメと書いてあるようなんですけどどうしたらいいのか分かりません
https://jsonlint.com
jsonファイルの中はここで念のためチェックしました
788デフォルトの名無しさん (ワッチョイ 3d63-Ek8k)
2025/02/27(木) 12:05:58.52ID:C53SLMw00789デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
2025/02/27(木) 12:07:08.33ID:80QDg94G0790デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
2025/02/27(木) 12:07:38.80ID:80QDg94G0 >>788
すみません!どうもありがとうございます
すみません!どうもありがとうございます
791デフォルトの名無しさん (ワッチョイ 8d59-D2xv)
2025/02/27(木) 12:10:05.49ID:80QDg94G0 修正してこれだと動きました
https://techiedelight.com/compiler/?3c4203
https://techiedelight.com/compiler/?3c4203
792デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/27(木) 13:28:56.13ID:VQNvJTxha 伝わらないのは相手のスキーマに落として話してないから。
言い方がまずいのではなく、相手の思考に合わせて話さないから伝わらないという内容だったと理解しています。
普段からこの点に注意して周りの人と接するようになりました。
言い方がまずいのではなく、相手の思考に合わせて話さないから伝わらないという内容だったと理解しています。
普段からこの点に注意して周りの人と接するようになりました。
793デフォルトの名無しさん (アウアウウー Sa39-c/TO)
2025/02/27(木) 13:29:27.69ID:VQNvJTxha 最後に生成aiが人と同じ思考をしないという記述がありました
特性をよく理解して使う必要があると思いました
特性をよく理解して使う必要があると思いました
794デフォルトの名無しさん (ワッチョイ 6d2a-9/nK)
2025/02/27(木) 13:52:24.42ID:/ts2T7b80 スキーマなどない。我が拳は我流。我流は無型。無型ゆえに誰にも読めぬ。
796デフォルトの名無しさん (ワッチョイ 0a8b-MccG)
2025/02/27(木) 17:32:51.11ID:ZgFfKBZe0 お互いに心のスキーマ埋めて話せよ
ここはエスパーが集う優しいスレッドだぞ
ここはエスパーが集う優しいスレッドだぞ
797デフォルトの名無しさん (ワッチョイ 7b1b-bDya)
2025/03/02(日) 15:48:38.13ID:HilFpukh0 a-shellの質問はここでいいの?
iPhone、iPad用のPython用シェルなんだけど
iPhone、iPad用のPython用シェルなんだけど
798デフォルトの名無しさん (ワッチョイ 1159-aq0x)
2025/03/02(日) 15:56:55.60ID:/YCrqC3g0 コマンドで出来ることをPythonで作ってcmdで起動させてるんだけどなんかもやる。いい方法なんか無いかなあ。
799デフォルトの名無しさん (ワッチョイ b154-IWyi)
2025/03/02(日) 16:10:57.40ID:NOlVOyMW0 コマンドでできることをpythonのosモジュールにやらせるとちゃんと動かなかったりするので、
cmdをsubprocessから実行させたりする
もう高級batファイル
cmdをsubprocessから実行させたりする
もう高級batファイル
800デフォルトの名無しさん (ワッチョイ 8b2a-5BYj)
2025/03/02(日) 17:51:07.79ID:89Av+BX/0 >>798
コマンドで出来ることをコマンドにさせない理由が伝わらないので、もやるのが何故か分からない。
コマンドで出来ることをコマンドにさせない理由が伝わらないので、もやるのが何故か分からない。
801デフォルトの名無しさん (アウアウウー Sa1d-8P30)
2025/03/02(日) 17:59:44.66ID:JAzjPHpUa コマンドで出来ることをPowerShellで作ってcmdで起動させてる人なんかはもやらないんだろうか
802デフォルトの名無しさん (ワッチョイ 41a7-H/LY)
2025/03/02(日) 18:19:18.79ID:xrnlJRcX0 お勉強スレだから頭の悪い人ばっかなの?
803デフォルトの名無しさん (ブーイモ MM75-I+ga)
2025/03/02(日) 19:39:01.42ID:YF6lVSQXM コマンドは一部職人芸みたいなのがあるとメンテが難しいからPowershellかアプリの場合もあるでしょ
804デフォルトの名無しさん (ワッチョイ b154-IWyi)
2025/03/02(日) 19:44:47.14ID:NOlVOyMW0 最近 for /f 知ったけど、むっさ便利
805デフォルトの名無しさん (ワッチョイ 8979-kDOM)
2025/03/03(月) 04:16:34.72ID:NAxKZqvR0 *nix shell scriptくらいがちょうどいい
806デフォルトの名無しさん (ワッチョイ fb9a-PCPn)
2025/03/03(月) 05:26:11.89ID:xAYnQ1Zo0 コードを視覚化したいのですが、オブジェクト同士の通信と、オブジェクトが持つコードを同時に表現出来るものでしょうか?
前者はクラス図、後者はフローチャートでやるものだと思いますが
マーメイド使ってます
前者はクラス図、後者はフローチャートでやるものだと思いますが
マーメイド使ってます
807デフォルトの名無しさん (ワッチョイ e9ad-Zn77)
2025/03/04(火) 00:26:35.01ID:r0fJoym10 フローチャートの定義済みの処理でいいんじゃないの
双方向に矢印書けば、オブジェクト同士の通信になるし
双方向に矢印書けば、オブジェクト同士の通信になるし
808デフォルトの名無しさん (ワッチョイ b154-IWyi)
2025/03/04(火) 00:37:06.85ID:JHGbD3as0 厳密に書ける図しか出てこないんだよな
こまけぇこたぁいいんだよ、の図が一番判り易いのに
こまけぇこたぁいいんだよ、の図が一番判り易いのに
809デフォルトの名無しさん (ワッチョイ 7b12-qwdi)
2025/03/04(火) 17:23:52.29ID:9TXFpBaY0 matplotlibでグラフ作成するプログラムをPyinstallerでexe化し、別PCで動かしたら「フォントがねぇ!」
って怒られるんだけど、Pyinstallerでビルドするときにフォントを内蔵し、
別PCでフォントをインストールすることなく実行する方法ってありますでしょうか。
って怒られるんだけど、Pyinstallerでビルドするときにフォントを内蔵し、
別PCでフォントをインストールすることなく実行する方法ってありますでしょうか。
810デフォルトの名無しさん (ワッチョイ 9901-3FuH)
2025/03/04(火) 18:02:09.59ID:c62Mny0R0 専用のフォントファイル使ってるならpyinstallerの--add-dataでexeにフォントファイル追加して
実行側のmatplotlib.FontManager.addfontで追加したフォントファイル読み込めばいいんじゃね?
試してないけど
実行側のmatplotlib.FontManager.addfontで追加したフォントファイル読み込めばいいんじゃね?
試してないけど
811デフォルトの名無しさん (アウアウウー Sa1d-8P30)
2025/03/05(水) 07:05:35.50ID:DooANywKa 代替フォントで表示されて
元のグラフと違う!って怒り出すまでがデフォ
元のグラフと違う!って怒り出すまでがデフォ
812デフォルトの名無しさん (ワッチョイ 7979-kaVN)
2025/03/05(水) 10:17:47.61ID:k4iH0qBY0 こういう時こそ例外処理だ
813デフォルトの名無しさん (ワッチョイ 417c-kP5n)
2025/03/05(水) 10:56:01.18ID:t/BpZiCN0 そもそもexeにして配布してもアンチウィルスソフトに引っ掛かるのがオチ
なんでstreamlitとかでWebって発想が無いのか
なんでstreamlitとかでWebって発想が無いのか
814デフォルトの名無しさん (ワッチョイ 7b12-zf9x)
2025/03/05(水) 12:29:12.97ID:jqEKzIeO0815デフォルトの名無しさん (ワッチョイ 7b12-zf9x)
2025/03/05(水) 12:29:36.75ID:jqEKzIeO0■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 【こんなの初めて…】民泊には既にキャンセルも 中国の渡航自粛で ★2 [ぐれ★]
- 【悲報】安倍晋三、弟子である高市早苗の暴走を止めずにひたすら静観。一体なぜ‥‥ [153736977]
- 【朗報】防衛費等の財源として国債大量発行で日本経済復活へ!自民議連が提言 [177178129]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
