[過去ログ] Pythonのお勉強 Part74 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
49: (ワッチョイ cf32-dK8J) 2024/10/03(木)17:04 ID:SXCr8u+C0(1)調 AAS
変更したいと思ったことすらない
50: (オッペケ Sr47-/XLF) 2024/10/03(木)18:36 ID:SO+gfZGnr(1)調 AAS
デフォルトなら文字列オレンジじゃね?
51
(3): (ワッチョイ 7f90-jPv4) 2024/10/04(金)00:56 ID:3S+V9Rl60(1)調 AAS
>>48
VSCodeは融通が利かない
それに色分けは自分のためにならない

色情報はコードと何の関係もないので、色分けに慣れていると色分けをしていないコードが読めなくなる
52: (ワッチョイ ff02-3hiK) 2024/10/04(金)01:05 ID:Ls4Fx/rv0(1)調 AAS
>>51
で、
何がいいって話?
53: (ワッチョイ e302-PHWo) 2024/10/04(金)02:07 ID:fj4w0BBZ0(1)調 AAS
色分けされてないコードを読む
そんな状況ってあるっけ・・?
白黒プリントアウトされてるとか?
54: (アークセー Sx47-PHWo) 2024/10/04(金)02:21 ID:7yCtL1J1x(1)調 AAS
あえて色分けなしにする
って訓練にはならないと思うけどね

もし訓練になるって言うなら
(慣れていない)別の色分けコードに遭遇したときに対しても
同じように読めなくならないと説明がつかないけど
そんなことないし

なので色は何でも良いんじゃない
おれは基本デフォ
ネットで調べるときも容赦なくデフォで表示されるし

初学者にとって
プログラミング向きのタイピング速度(コーディング速度)
これが一番重要だと個人的に思う

命名やコーディングにかかるチリツモ時間が
初心者にとっては妨げになるので
予測変換などもガンガン使っていった方がいい
55: (ワッチョイ 2384-D2eP) 2024/10/04(金)09:53 ID:8exysTNA0(1)調 AAS
シンタックスハイライトの後は自動インデント、自動補完の話が続くんだろ
chatgptにダーク系のおすすめ聞いてきたから好きなの鰓べ
Dracula, Monokai, Solarized Dark, One Dark Pro, Gruvbox Dark, Nord
56: (ワッチョイ 736e-KiE/) 2024/10/04(金)12:29 ID:f5VlUYAG0(1)調 AAS
>ハイパーモダンPython
ってそんなにすごい知識が身につくの?
57: (ワッチョイ 6f09-/XLF) 2024/10/04(金)12:47 ID:lUav+mwb0(1/4)調 AAS
>>51
寧ろvscodeは個別に配色の設定することも可能だから融通は利く
58
(1): (アウアウエー Sadf-D2eP) 2024/10/04(金)13:27 ID:RixEjMnja(1)調 AAS
>>51
>色情報はコードと何の関係もないので、色分けに慣れていると色分けをしていないコードが読めなくなる

これめっちゃ判る
特に初心者ほどやめた方が良い
59: (ワッチョイ 7354-KQ/N) 2024/10/04(金)13:45 ID:2V3z57MG0(1/4)調 AAS
色分けされてる方が読みやすい
という単純な事実なのでは

初心者でも慣れてても同じ
道具に頼ると素手でできなくなるからと道具使わない人みたいな感じ
60: (ワッチョイ cf32-dK8J) 2024/10/04(金)13:48 ID:RqFpLHKv0(1)調 AAS
逆に初心者の方が誤りを判別する手助けにもなるので、
色分けされていたほうが便利だと思う
61: (アウアウ Saff-PHWo) 2024/10/04(金)14:16 ID:3xmlzivUa(1)調 AAS
>色分けをしていないコード
ってどういうことなんだろ
わかる言ってるやついるけど
おれは全然わかんないわ笑
色無いなら自分で色分けすればよくね?

色アリ無しどちらではじめようが慣れたら結局
・色分け無しで慣れる→色分けアリでも読める
・色分けアリで慣れる→色分け無しでも読める
なんだから、最初から色分けアリの方が学習コスト低いよな
62: (ワッチョイ b334-PHWo) 2024/10/04(金)14:22 ID:i5vhWVds0(1)調 AAS
まぁ(初心者)色分けやめた方がいいって言ってるやつも
色分けした方が読みやすいって言ってんのが答えだわなw
63: (アウアウウー Sa27-PHWo) 2024/10/04(金)14:30 ID:vJhSgpGOa(1)調 AAS
道具に頼って素手よりパフォーマンス上がればそりゃ道具使うわな
土方ですら水平器もインパクトドライバーも使ってるわ
64: (ワッチョイ 3f01-xyzF) 2024/10/04(金)14:32 ID:IDs1O+210(1)調 AAS
勉強にならんからIDE使うな的な
65: (ワッチョイ e301-PHWo) 2024/10/04(金)14:49 ID:Af8duaqZ0(1)調 AAS
コーディングから実行までちんたらする時間がマジで無駄
スペルミスに勘づくスキルは上昇しづらくなるだろうがエラーメッセージに頼ればいいしエラーメッセージと勝負して先回りする意味はない
まず善い手本参考に自分で書いたコードが成功か失敗か確かめる数こなした方が上達する
言語学習でも同じ
インプットアウトプットの回数多い方が文法も語彙力も上がる
文脈把握できればエラーに気づく能力も上がる
色分け無し縛り云々は逆張り愉快犯以外に利点はない
66: (ワッチョイ 6f09-/XLF) 2024/10/04(金)15:58 ID:lUav+mwb0(2/4)調 AAS
>>58
この論理ほど馬鹿なものもない
便利機能はどんどん使えばいい
災害を想定して普段から水電気ガスが満足に使えない生活をしているやつは殆どいないだろう
67: (JP 0H87-PHWo) 2024/10/04(金)16:18 ID:lDeI5PGjH(1)調 AAS
androidアプリ作ろうと思ってkivyで書いて
コンパイルをgoogle colaboratoryでbuildozerでやったら
上手くapk作成できてandroid端末でもインストール動作確認できたけど
コンパイルの時間めっちゃかかったなにこれ…たぶん20分くらい
こういうもんなの
68
(1): (ワッチョイ 7354-KQ/N) 2024/10/04(金)17:21 ID:2V3z57MG0(2/4)調 AAS
if elif elif else
みたいにインデントを深くせずにtryを書けないかな
69: (ワッチョイ 538f-+XgM) 2024/10/04(金)18:37 ID:x2l03NKV0(1)調 AAS
>>68
日本語でOK
70: (ワッチョイ 6f09-/XLF) 2024/10/04(金)18:47 ID:lUav+mwb0(3/4)調 AAS
execで無理やり書け
71: (ワッチョイ 73ee-eLKd) 2024/10/04(金)19:21 ID:Z9HGqIB60(1)調 AAS
色分けに慣れたらコード読めなくなるってマジ?
でもキータとか見ても色分けして表示されてるところが多いしなあ

とりあえずVScodeデフォルトでしばらく使ってみるわ!ありがと
72: (ワッチョイ 6f09-/XLF) 2024/10/04(金)19:29 ID:lUav+mwb0(4/4)調 AAS
エディタの便利機能使わないならメモ帳でやっとけって話になるわな
73: (ワッチョイ 7354-KQ/N) 2024/10/04(金)19:31 ID:2V3z57MG0(3/4)調 AAS
https://i.imgur.com/ZRZqENW.png

evalでできた
74: (ワッチョイ 7354-KQ/N) 2024/10/04(金)19:35 ID:2V3z57MG0(4/4)調 AAS
数値部分eval だけでいいな
75: (ワッチョイ cf59-v4Ln) 2024/10/04(金)19:58 ID:upmSrzby0(1)調 AAS
for convert in (int, float, complex):
でいい
76
(2): (ワッチョイ 43e6-RzVJ) 2024/10/04(金)20:17 ID:oFau5fAJ0(1)調 AAS
chromeでseleniumを動かしているのですが、実行した直後にコマンドプロンプトが落ちてしまうので、何のエラーなのかが一切分かりません
どうやったら落ちなくできますか?
77
(1): (ワッチョイ 63da-PHWo) 2024/10/04(金)20:33 ID:JKo0fS4W0(1)調 AAS
>>76
そういうときは出来る限り最小構成
↓で試して落ちるならseleniumのインストール時点で何かしら問題あるかも

import time
from selenium import webdriver
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
#chrome_options.add_argument('--no-sandbox')
#chrome_options.add_argument('--disable-dev-shm-usage')
driver = webdriver.Chrome(options=chrome_options)
print("driver.get")
driver.get("https://www.google.co.jp")
print(driver.title)
time.sleep(1)
driver.quit()
print("正常終了。")
78
(1): (ワッチョイ 8301-Gm7y) 2024/10/04(金)22:19 ID:JAupTFkx0(1)調 AAS
>>76
.pyファイルをダブルクリックするとかしてpy.exe(Python Launcher)経由でプログラムを実行してると推測する

VSCodeとか入れてるならVSCodeからプログラムを実行すれば出力も確認できる
入れてないならプログラムの最後にinput()と書いてプログラム終了前にユーザー入力を待つようにするか.pyファイルをダブルクリックするのではなくコマンドプロンプトを先に開いてそこからpython hello.pyの形でプログラムを実行すれば出力内容を確認できる
79: (ワッチョイ 43e6-RzVJ) 2024/10/05(土)16:10 ID:kis0iOlf0(1)調 AAS
>>77
>>78
ありがとうございます!
これまではbatファイルにpyファイルのパスを書いて、batファイルをダブルクリックで実行していましたが、
教えていただいたとおりコマンドプロンプトを開いて手動で打ち込んで実行すれば落ちずエラーを確認できました
80: (オイコラミネオ MM1f-lt6P) 2024/10/06(日)16:50 ID:kvSgTVMcM(1)調 AAS
質問です。ある書籍で
price = 100
print(price * 1.10)
print(int(price * 1.10))
の結果が
110.00000000000001 ←浮動小数点で表示
110 ←int関数を使って整数で表示
と書いてあるのですが、何故110.00000000000001になるのかが浮動小数点について調べましたが、私の知識では理解出来ません。
どなたか解説をお願いいたします。よろしくお願いします。
81: (JP 0H03-dA/z) 2024/10/06(日)17:09 ID:UFSeVUgGH(1)調 AAS
浮動小数点と丸めの話は定番の話でググって出てくる説明で分からんかったらここでも多分無理だぞ
82: (ワッチョイ 4f54-O9y3) 2024/10/06(日)19:11 ID:6RIEhc9V0(1/3)調 AAS
print(100 * 1.08 == int(100 * 1.08)) # true
print(100 * 1.1 == int(100 * 1.1)) # false

1.08だったら正確に108.0だったのにな
83: (ワッチョイ 4f54-O9y3) 2024/10/06(日)19:18 ID:6RIEhc9V0(2/3)調 AAS
a = 100*1.08
b = int(a)
print(a is b) # False
print(a == b) # True
print(hash(a) == hash(b)) # True

d = {}
d[a] = 1
print(d[b]) # 1

1.1だとエラー
84: (ワッチョイ 0621-dA/z) 2024/10/06(日)21:53 ID:D+tHfaDh0(1)調 AAS
結局二進数表記で無限桁になる場合は誤差が出るってことにつきる
85: (ワッチョイ 4f54-O9y3) 2024/10/06(日)22:18 ID:6RIEhc9V0(3/3)調 AAS
from fractions import Fraction
rate = Fraction(110, 100)
print(100*rate == int(100*rate)) # True
86: (ワッチョイ 4651-0wKs) 2024/10/06(日)23:29 ID:AAf4wbtz0(1)調 AAS
ハイパーモダンpythonって何だそれ?って立ち読みしたらただのツールチェインの解説だった
原書見るとhypermodern python toolingだった
日本のオライリーは完全に終わった
87
(2): (ワッチョイ 46ad-b23o) 2024/10/07(月)22:15 ID:QvvyKpnV0(1)調 AAS
質問です。こちらの職業は勇者、戦士、空手家
勇者から柔道家までの5人の攻撃回数が異なります。
まず勇者は2回攻撃、戦士は3回攻撃、空手は3回攻撃
(勇者の1回分の攻撃は100〜200、20%の確率でクリティカルヒットの攻撃になることがある。
(戦士の攻撃は200〜300、20%の確率で攻撃がクリティカルヒット1回になることがある。
(空手家)空手家の攻撃は350〜500、ただし20%の確率で攻撃がクリティカルヒットとなるときがある。勇者は5%の確率でロトの剣が手に入る。
クリティカルヒットは攻撃力X2です。さてプログラムをやっていくか。

まずギルガメッシュっていう名前のenemy
ラスボスの名前はenemyとする。ボスのHPは5万。
ボスは基本的に何もしません、できません。これやるとさすがに面倒なのでw
基本的にボスは攻撃しません。(面倒だからw)
一方的になかまあつめてボコすw
さて、次の問題はキャラクターが何人いるか。
イフ文1でまず攻撃は勇者〜勇者=yu 戦士=sen 空手家=karate
*ロトの剣で攻撃したら攻撃力が1.5倍あがります。*
**癒しの穂。食べたら防御力と賢さがあがります**
ロトの剣の出現条件は3並びで一つ食べることができます。
例えば111攻撃とか222攻撃とか333攻撃とか〜999まで。
次の発言からコードを書いていく。
88
(3): (ワッチョイ ee01-cWJ4) 2024/10/07(月)22:52 ID:stL6GaPr0(1)調 AAS
発達障害風の生成AI?
89: (ワッチョイ 8b6a-0wKs) 2024/10/07(月)22:54 ID:nsk0Xk2O0(1)調 AAS
>>88
そんなものサンプルがないからこれは本物
90: (ワッチョイ 46ad-b23o) 2024/10/08(火)23:32 ID:2RqDvWQU0(1/3)調 AAS
>>88さん
みんなで考えよう!
print("ゾーマが現れた")
zoma == HP10000
print("勇者が笛を吹いた")#笛を吹くと仲間が一定数増える。
print("笛のおかげで戦士が仲間になった")
print("zomaは何も攻撃してこない)#攻撃したらもっとプログラムの量が増えるから割愛w
yusya kougeki =40
print("40のダメージを与えた")
senshi = 100
if zomaの体力が0になった
print("zomaは死んだ"
elif:
yusya=yusyakougeki
だめだ
あたまがいたくなってきたw
91: (ワッチョイ 46ad-b23o) 2024/10/08(火)23:41 ID:2RqDvWQU0(2/3)調 AAS
もっとシンプルにいこう!
if文でいいはずw
number = int(input())
print(number)

if number == 10:
print(str(number) + "のダメージは10に等しい")
elif number > 10:
print(str(number) + "のダメージは10より大きい")
else:
print(str(number) + "のダメージは10未満")

ここまでできたw
92: (ワッチョイ 46ad-b23o) 2024/10/08(火)23:58 ID:2RqDvWQU0(3/3)調 AAS
yousya=you
senshi=sen
karateka=kara
あぶねー初期化忘れてたわw
you,sen,kara=0
これでよしw
次は割合に入るから気合いれなw
number = int(input())
print(number)
#その前にランダム要素を入れるの忘れてたw
import random
random.random()
random.randint(1回攻撃、二回攻撃)
if numberyou == 153:
print(str(number) + "は153に等しい")
elif number > 200:#勇者は二回攻撃なので、153と200の攻撃=攻撃となる。
print(str(number) + "senはyouより大きい")
else:
print(str(number) + "の攻撃力はsenとyou")
まだまだだなーw誰か一緒にとかないかい?w
93: (ワッチョイ 46ad-b23o) 2024/10/09(水)00:28 ID:4B3K5XUV0(1/2)調 AAS
そっか、フローチャートにしたほうがみやすいかw
'''スタートです。ラスボスは1匹。ゾーマです。ゾーマの攻撃は3回連続です。
こっちのキャラクターは勇者、戦士、魔法使い、僧侶、賢者、遊び人、魔法剣士、武道家の8人
また敵のスピードは8人より遅いのでいつも最後にゾーマのターンになります。
呪文が一切効かない。そのため、勇者、戦士、魔法剣士、武道家の攻撃のみで倒さないといけません。あと変数は勇者はyou、戦士はsen,魔法剣士はmaho ,武道家はbu。僧侶、賢者、遊び人は体力が減ったら回復呪文を唱えます。''
勇者以外全員体力が999です。
勇者は体力が500です。
100 スタート  
200 変数を初期化する  
ゾーマが生きている場合
you,sen,bu,mahoが攻撃をする
それ以外は体力が減ったら回復につとめる
ゾーマのHPは5万。
youの攻撃は3回連続して足した値
senの攻撃も3回連続
mahoも3回連続
buも3回
設定で自由かできる。
a=ガンガンいこうぜ!
print("ガンガンいこうぜ!)
b=体力回復を最優先にしようぜ!
print("体力の回復を優先しよう!)
c=攻守のバランスがいい
print("攻守のバランスがいい)
続く。。。w
94: (ワッチョイ 46ad-b23o) 2024/10/09(水)02:09 ID:4B3K5XUV0(2/2)調 AAS
これでいいやw面倒だしw

# RPGの攻撃状況を再現

# モンスターと戦っている。
# 1から10のサイコロをふって、
# 6未満の場合、サイコロの目だけダメージを与えたと表示。
# 6以上の場合、クリティカルヒットとして、100のダメージを与えたと表示。
# 0の場合、防御されたとして、0ダメージを表示。

import random
hit = random.randint(0,10)
if 1 <= hit < 6:
print("スライムに、" + str(hit) + "のダメージを与えた!")
elif hit >= 6:
print("クリティカルヒットダメージ100を与えた")
else:
print("ダメージは、" + str(hit) + "防御された")
95: (アウアウエー Sac2-tp1D) 2024/10/09(水)08:32 ID:URDCdGxSa(1)調 AAS
スレチうんこはBAN汁
96: (ワッチョイ 4e03-oLgd) 2024/10/09(水)09:42 ID:1k3A/F0A0(1/3)調 AAS
福祉系か
97: (ワッチョイ 4e03-oLgd) 2024/10/09(水)09:43 ID:1k3A/F0A0(2/3)調 AAS
>>88
福祉案件
98: (ワッチョイ 066c-dA/z) 2024/10/09(水)10:51 ID:MfPA4Dhe0(1)調 AAS
match文使え
99: (ワッチョイ 4f54-O9y3) 2024/10/09(水)12:30 ID:L0RwG3mX0(1/2)調 AAS
使ったことない
100
(1): (オイコラミネオ MM1f-H9mi) 2024/10/09(水)15:51 ID:wjyYHYx1M(1)調 AAS
html → javascript浅 → php → javascript深 → python

と来てついにc++に手出すことにしたわ
専業でもないしpythonだけで自分のやりたいことほぼなんでもできるし見向きすらしなかった

$ sudo apt install tree build-essential cmake pkg-config
これだけで開発環境整うとは知らなかった
pythonスクリプトと連携して簡単に開発できるか検討中
101: (ワッチョイ 4f54-O9y3) 2024/10/09(水)15:56 ID:L0RwG3mX0(2/2)調 AAS
自分が高速化しなければ
という余地が残ってればいいけど

電子工作とかと同じで、一通りできるようになったけど作るものが何もない状態になる
102: (ワッチョイ 4eb3-oLgd) 2024/10/09(水)17:59 ID:1k3A/F0A0(3/3)調 AAS
>>100
llvm使ってgplから逃げろ
103: (ワッチョイ cafa-lt6P) 2024/10/11(金)03:18 ID:bCU/2bPQ0(1)調 AAS
https://imonar.com/PKQJotV.jpg

104
(1): (ワッチョイ 4a45-1ld3) 2024/10/11(金)16:07 ID:tTImpqsq0(1)調 AAS
python+opencvすげえ!
たった10行くらいでwebカメラの動画表示された!ものの1,2分のコーディングじゃん
皆pythonに移行するわけだなこんな便利なライブラリあったら他のやってられねえわ
105
(1): (ワッチョイ 3354-0wKs) 2024/10/11(金)19:42 ID:fZZZF+Af0(1)調 AAS
大事なのは表示されてからだぞ
どういうアプリを提供するのか?
これだけライブラリが進化してるのにそれを使って大したアプリが出てないことを考えると
簡単かどうかは関係がない
106: (スッップ Sdea-jyON) 2024/10/11(金)23:05 ID:V8K6PYDOd(1/2)調 AAS
PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう
107: (スッップ Sdea-jyON) 2024/10/11(金)23:05 ID:V8K6PYDOd(2/2)調 AAS
PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう
108
(1): (ワッチョイ 4f54-O9y3) 2024/10/12(土)00:58 ID:3/0Ne1V+0(1/2)調 AAS
1817を渡すと'00:30:17'に変換してくれる関数ってある?
109: (ワッチョイ 4f54-O9y3) 2024/10/12(土)01:09 ID:3/0Ne1V+0(2/2)調 AAS
import datetime
td = datetime.timedelta(seconds=1817)
print(td)

これで '0:30:17' が表示される
ただし、'00:30:17' ではない

print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない
110: (スッップ Sdea-gWHf) 2024/10/12(土)07:14 ID:5rKKsk01d(1)調 AAS
本物の馬鹿っているんだな
111
(2): (ワッチョイ 4f54-O9y3) 2024/10/12(土)08:38 ID:g42aTpjG0(1)調 AAS
import datetime
dt = datetime.datetime(year=2001, month=1, day=1)
td = datetime.timedelta(seconds=1817)
print(f'{dt+td:%H:%M:%S}')

こうやると'00:30:17' を得ることができる
せめてyearとかが省略可能だったら
112: (ワッチョイ 0f56-uF+S) 2024/10/12(土)11:17 ID:xwLOOV9/0(1)調 AAS
pip install モジュール名==
でモジュールのバージョン一覧が出る機能っていつのまにか無くなってんだな
便利だったのになんでだろ
113: (アウアウエー Sa3f-mL/d) 2024/10/13(日)10:02 ID:UZT3uuKDa(1/5)調 AAS
>>104
入り口が広い(初心者向け)っていうのは重要だけど
込み入ったことしようとすると速度とか色々気になって来る
まあ気になったら乗り換えればいいんだけど
114: (アウアウエー Sa3f-mL/d) 2024/10/13(日)10:03 ID:UZT3uuKDa(2/5)調 AAS
>>105
そうほんとそれ
みんなサンプル動かして満足して終わり
115: (アウアウエー Sa3f-mL/d) 2024/10/13(日)10:17 ID:UZT3uuKDa(3/5)調 AAS
>>111
>>> import time
>>> print(time.strftime('%H:%M:%S', time.gmtime(1817)))
00:30:17
116
(2): (ワッチョイ 3b54-I4pY) 2024/10/13(日)10:26 ID:5hnynBwd0(1/6)調 AAS
print(f'{time.gmtime(1817):%H:%M:%S}')
こうは書けないんだよな
書けても誰も困らないだろうに、もう更新の止まった古いモジュール
117: (ワッチョイ 8b01-GQwk) 2024/10/13(日)11:57 ID:HElLI/1G0(1)調 AAS
pythonむずい
118: (アウアウエー Sa3f-mL/d) 2024/10/13(日)12:19 ID:UZT3uuKDa(4/5)調 AAS
>>116
これもだめっぽ?
import time
tt = time.gmtime(1817)
print(f'{tt:%H:%M:%S}')
119: (ワッチョイ 3b54-I4pY) 2024/10/13(日)12:24 ID:5hnynBwd0(2/6)調 AAS
試したら判るがな
TypeError: unsupported format string passed to time.struct_time.__format__

formatをサポートしていない
サポートしていないものを新たにサポートさせても、既存のコードには何の影響もない
だから、python 3.4で追加しましたとかなってても不思議ではないけど、
もうtimeモジュールは捨てられている
120: (アウアウエー Sa3f-mL/d) 2024/10/13(日)14:44 ID:UZT3uuKDa(5/5)調 AAS
自分で追加したらええんやで
121: (ワッチョイ 3b54-I4pY) 2024/10/13(日)14:54 ID:5hnynBwd0(3/6)調 AAS
電池が自作できます
122: (スププ Sdbf-l2+s) 2024/10/13(日)15:56 ID:Lfw+7lSHd(1)調 AAS
勉強になったわthx
https://paiza.io/projects/fWmiW0ZJcfGIiFRKkL1YTw
123: (ワッチョイ 3b54-I4pY) 2024/10/13(日)17:39 ID:5hnynBwd0(4/6)調 AAS
import datetime
class My_timedelta(datetime.timedelta):
  def __init__(self, seconds):
    self.dt = datetime.datetime(year=2001, month=1, day=1) + datetime.timedelta(seconds=seconds)
  def __format__(self, format):
    return self.dt.strftime(format)

td = My_timedelta(seconds=1817)
print(f'{td:%H:%M:%S}')
print(f'{datetime.datetime.now()+td:%H:%M:%S}')

これは継承の練習問題でしょう
既存のtimedeltaに__format__を追加する
124: (ワッチョイ 9f79-Qucc) 2024/10/13(日)20:18 ID:XBbSNdN/0(1)調 AAS
timedeltaをdatetime用の書式で表現したら
間違いが起こりそうで怖いのは気のせいか
125
(1): (ワッチョイ 3b54-I4pY) 2024/10/13(日)21:05 ID:5hnynBwd0(5/6)調 AAS
マイナスを渡すと23:29:43とかになる
多分欲しいのは、-00:30:17
126: (ブーイモ MM8f-oCgE) 2024/10/13(日)21:18 ID:TikvsAQNM(1)調 AAS
>>125
時刻と時間は別物だし、文字列として持っていればいい話。
127: (ワッチョイ 9f9f-lE/J) 2024/10/13(日)21:20 ID:4MeCS0kR0(1)調 AAS
td = datetime.timedelta(seconds=1809)
print(str(td).zfill(8))

これはだめ?
128: (ワッチョイ 3b54-I4pY) 2024/10/13(日)22:02 ID:5hnynBwd0(6/6)調 AAS
さすがに小手先すぎる
マイナスにも対応できない

そして秒は小数点以下1桁も表示することという仕様変更により、
3600で割ったりして全部自前で作ることになった
129: (ワッチョイ 1f78-oCgE) 2024/10/13(日)23:12 ID:0McD6feo0(1)調 AAS
マイナスの日時という発想がわからない
130: (アウアウエー Sa3f-mL/d) 2024/10/13(日)23:36 ID:cfTcGRh7a(1)調 AAS
仕様後出し過去悪い
131
(4): (ワッチョイ eb61-lE/J) 2024/10/14(月)00:55 ID:hhbIrBZG0(1)調 AAS
import datetime
s = -1816.123
g = (s>0)-1
td = str(datetime.timedelta(seconds=abs(s))).split(".")
print(f'{str(g)[0]}{td[0].zfill(7-g)}.{td[1][:1]}')#-00:30:16.1
132: (ワッチョイ 0f9c-lE/J) 2024/10/14(月)00:58 ID:63V1I12+0(1)調 AAS
1日超えたら駄目だったわ >>131
133
(1): (ワッチョイ 3b54-I4pY) 2024/10/14(月)01:01 ID:Na+e0b340(1)調 AAS
0で折り返すのは、abs()で処理して<0だったら'-'付ける、だろうなあ
流用できる処理が無い
134: (ワッチョイ 1f78-oCgE) 2024/10/14(月)02:27 ID:iqlRL8W80(1/24)調 AAS
秒数を時分に変えるのは60で割ればいい話だろうにw
135: (ワッチョイ 1f78-oCgE) 2024/10/14(月)03:26 ID:iqlRL8W80(2/24)調 AAS
>>131
0.123が何を指しているのかわかる方がおかしい
136
(1): (ワッチョイ 1f78-oCgE) 2024/10/14(月)03:29 ID:iqlRL8W80(3/24)調 AAS
>>133
四則計算と文字列を任意の日時フォーマットにするだけだぜ?

日時データ型をいじるというのはコンピューターが最も苦手な計算。
137
(1): (ワッチョイ 9f8e-jFBO) 2024/10/14(月)06:09 ID:cfRK145W0(1/3)調 AAS
>日時データ型をいじるというのはコンピューターが最も苦手な計算。

馬鹿なのか
138: (ワッチョイ 1f78-oCgE) 2024/10/14(月)06:26 ID:iqlRL8W80(4/24)調 AAS
>>137
64ビットだぜ?
139: (ワッチョイ 1f78-oCgE) 2024/10/14(月)06:28 ID:iqlRL8W80(5/24)調 AAS
しかもまだ過渡期だから、実際は32ビットで計算している。

2036年問題だってすべてが対策済みというわけでもない。
140: (ワッチョイ 1f78-oCgE) 2024/10/14(月)06:29 ID:iqlRL8W80(6/24)調 AAS
60で割って1000で割るとか、64ビットだけではできない。
141
(2): (ワッチョイ fbb4-+sfS) 2024/10/14(月)08:54 ID:B2/CkVb50(1)調 AAS
小数の誤差の話をしてる?
日時や時刻を扱う上で問題になるような誤差が出ることはなくない?
どんなに厳しい分野でも必要なのはナノ秒の数値までだろうし
142: (アウアウエー Sa3f-mL/d) 2024/10/14(月)08:56 ID:9n6nFJIZa(1)調 AAS
>>136
おまいが計算苦手なだけだろ
143
(2): (ワッチョイ 1f78-oCgE) 2024/10/14(月)10:43 ID:iqlRL8W80(7/24)調 AAS
>>141
64ビットCPUは64ビットのレジスタと外部とのやりとりが64ビットだ。

彼は1/1000秒まで正確に求めたいらしいが、2進数は10進数の表現ができない。

例えば10進数の1000は2進数だと1024になってしまう。

コンピューターは10進数の計算が苦手、時分秒なんてコンピューターには概念すらない。
144: (ワッチョイ 1f78-oCgE) 2024/10/14(月)10:44 ID:iqlRL8W80(8/24)調 AAS
>>141
質問しているやつは秒を分にする方法を知らない。
60で割るということもわからない。
145
(2): (ワッチョイ 1f9e-lE/J) 2024/10/14(月)11:01 ID:XiI9iPvI0(1)調 AAS
そもそも質問ってなんなの
>>108 からの >>111、派生で>>116
後出しで
・マイナス
・小数点以下
にも対応

ようは、ほんとはdatetimeかtimeで
一発で書きたい
もしくは、
出来る限り自作関数など無しで書きたい
だと思うけど
146: (ワッチョイ 1f78-oCgE) 2024/10/14(月)11:01 ID:iqlRL8W80(9/24)調 AAS
初心者は数値は数値型、文字列は文字列型とか意味もわからずにデータ型を決めたがるよな。

hh:mm:ssは日時型という内部表現と画面に表示されている見た目を混同するあたりも意味がわからない。
147: (ワッチョイ 1f78-oCgE) 2024/10/14(月)11:04 ID:iqlRL8W80(10/24)調 AAS
>>145
秒数を60で割る、ミリ秒は1000で割るという秒と分の換算がわからないというPython以前の問題児
148
(1): (ワッチョイ db47-RT/G) 2024/10/14(月)11:52 ID:H9fWIyl80(1)調 AAS
>>145
一発で書く方法はないので自作関数必須
いずれにしろ入力フォーマット、入力値の範囲、必要精度、出力フォーマットの仕様が必要

この程度は標準で用意しといてくれよという気持ちはよく分かる
1-
あと 854 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.029s