!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+PL069デフォルトの名無しさん (ワッチョイ 538f-+XgM)
2024/10/04(金) 18:37:26.59ID:x2l03NKV0 >>68
日本語でOK
日本語でOK
70デフォルトの名無しさん (ワッチョイ 6f09-/XLF)
2024/10/04(金) 18:47:11.58ID:lUav+mwb0 execで無理やり書け
71デフォルトの名無しさん (ワッチョイ 73ee-eLKd)
2024/10/04(金) 19:21:49.26ID:Z9HGqIB60 色分けに慣れたらコード読めなくなるってマジ?
でもキータとか見ても色分けして表示されてるところが多いしなあ
とりあえずVScodeデフォルトでしばらく使ってみるわ!ありがと
でもキータとか見ても色分けして表示されてるところが多いしなあ
とりあえずVScodeデフォルトでしばらく使ってみるわ!ありがと
72デフォルトの名無しさん (ワッチョイ 6f09-/XLF)
2024/10/04(金) 19:29:54.92ID:lUav+mwb0 エディタの便利機能使わないならメモ帳でやっとけって話になるわな
73デフォルトの名無しさん (ワッチョイ 7354-KQ/N)
2024/10/04(金) 19:31:01.13ID:2V3z57MG0 https://i.imgur.com/ZRZqENW.png
evalでできた
evalでできた
74デフォルトの名無しさん (ワッチョイ 7354-KQ/N)
2024/10/04(金) 19:35:22.61ID:2V3z57MG0 数値部分eval だけでいいな
75デフォルトの名無しさん (ワッチョイ cf59-v4Ln)
2024/10/04(金) 19:58:19.41ID:upmSrzby0 for convert in (int, float, complex):
でいい
でいい
76デフォルトの名無しさん (ワッチョイ 43e6-RzVJ)
2024/10/04(金) 20:17:43.91ID:oFau5fAJ0 chromeでseleniumを動かしているのですが、実行した直後にコマンドプロンプトが落ちてしまうので、何のエラーなのかが一切分かりません
どうやったら落ちなくできますか?
どうやったら落ちなくできますか?
77デフォルトの名無しさん (ワッチョイ 63da-PHWo)
2024/10/04(金) 20:33:28.99ID:JKo0fS4W0 >>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("正常終了。")
そういうときは出来る限り最小構成
↓で試して落ちるなら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デフォルトの名無しさん (ワッチョイ 8301-Gm7y)
2024/10/04(金) 22:19:24.82ID:JAupTFkx0 >>76
.pyファイルをダブルクリックするとかしてpy.exe(Python Launcher)経由でプログラムを実行してると推測する
VSCodeとか入れてるならVSCodeからプログラムを実行すれば出力も確認できる
入れてないならプログラムの最後にinput()と書いてプログラム終了前にユーザー入力を待つようにするか.pyファイルをダブルクリックするのではなくコマンドプロンプトを先に開いてそこからpython hello.pyの形でプログラムを実行すれば出力内容を確認できる
.pyファイルをダブルクリックするとかしてpy.exe(Python Launcher)経由でプログラムを実行してると推測する
VSCodeとか入れてるならVSCodeからプログラムを実行すれば出力も確認できる
入れてないならプログラムの最後にinput()と書いてプログラム終了前にユーザー入力を待つようにするか.pyファイルをダブルクリックするのではなくコマンドプロンプトを先に開いてそこからpython hello.pyの形でプログラムを実行すれば出力内容を確認できる
79デフォルトの名無しさん (ワッチョイ 43e6-RzVJ)
2024/10/05(土) 16:10:10.09ID:kis0iOlf080デフォルトの名無しさん (オイコラミネオ MM1f-lt6P)
2024/10/06(日) 16:50:59.12ID:kvSgTVMcM 質問です。ある書籍で
price = 100
print(price * 1.10)
print(int(price * 1.10))
の結果が
110.00000000000001 ←浮動小数点で表示
110 ←int関数を使って整数で表示
と書いてあるのですが、何故110.00000000000001になるのかが浮動小数点について調べましたが、私の知識では理解出来ません。
どなたか解説をお願いいたします。よろしくお願いします。
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:34.73ID:UFSeVUgGH 浮動小数点と丸めの話は定番の話でググって出てくる説明で分からんかったらここでも多分無理だぞ
82デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/06(日) 19:11:14.13ID:6RIEhc9V0 print(100 * 1.08 == int(100 * 1.08)) # true
print(100 * 1.1 == int(100 * 1.1)) # false
1.08だったら正確に108.0だったのにな
print(100 * 1.1 == int(100 * 1.1)) # false
1.08だったら正確に108.0だったのにな
83デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/06(日) 19:18:39.74ID:6RIEhc9V0 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だとエラー
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:44.52ID:D+tHfaDh0 結局二進数表記で無限桁になる場合は誤差が出るってことにつきる
85デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/06(日) 22:18:43.84ID:6RIEhc9V0 from fractions import Fraction
rate = Fraction(110, 100)
print(100*rate == int(100*rate)) # True
rate = Fraction(110, 100)
print(100*rate == int(100*rate)) # True
86デフォルトの名無しさん (ワッチョイ 4651-0wKs)
2024/10/06(日) 23:29:37.04ID:AAf4wbtz0 ハイパーモダンpythonって何だそれ?って立ち読みしたらただのツールチェインの解説だった
原書見るとhypermodern python toolingだった
日本のオライリーは完全に終わった
原書見るとhypermodern python toolingだった
日本のオライリーは完全に終わった
87デフォルトの名無しさん (ワッチョイ 46ad-b23o)
2024/10/07(月) 22:15:19.09ID:QvvyKpnV0 質問です。こちらの職業は勇者、戦士、空手家
勇者から柔道家までの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まで。
次の発言からコードを書いていく。
勇者から柔道家までの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デフォルトの名無しさん (ワッチョイ ee01-cWJ4)
2024/10/07(月) 22:52:41.61ID:stL6GaPr0 発達障害風の生成AI?
89デフォルトの名無しさん (ワッチョイ 8b6a-0wKs)
2024/10/07(月) 22:54:11.40ID:nsk0Xk2O0 >>88
そんなものサンプルがないからこれは本物
そんなものサンプルがないからこれは本物
90デフォルトの名無しさん (ワッチョイ 46ad-b23o)
2024/10/08(火) 23:32:02.99ID:2RqDvWQU0 >>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
みんなで考えよう!
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:03.98ID:2RqDvWQU0 もっとシンプルにいこう!
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
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:45.01ID:2RqDvWQU0 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
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:36.20ID:4B3K5XUV0 そっか、フローチャートにしたほうがみやすいか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
'''スタートです。ラスボスは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:25.11ID:4B3K5XUV0 これでいいや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) + "防御された")
# 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:08.43ID:URDCdGxSa スレチうんこはBAN汁
96デフォルトの名無しさん (ワッチョイ 4e03-oLgd)
2024/10/09(水) 09:42:13.95ID:1k3A/F0A0 福祉系か
97デフォルトの名無しさん (ワッチョイ 4e03-oLgd)
2024/10/09(水) 09:43:01.06ID:1k3A/F0A0 >>88
福祉案件
福祉案件
98デフォルトの名無しさん (ワッチョイ 066c-dA/z)
2024/10/09(水) 10:51:29.69ID:MfPA4Dhe0 match文使え
99デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/09(水) 12:30:53.22ID:L0RwG3mX0 使ったことない
100デフォルトの名無しさん (オイコラミネオ MM1f-H9mi)
2024/10/09(水) 15:51:29.02ID:wjyYHYx1M html → javascript浅 → php → javascript深 → python
と来てついにc++に手出すことにしたわ
専業でもないしpythonだけで自分のやりたいことほぼなんでもできるし見向きすらしなかった
$ sudo apt install tree build-essential cmake pkg-config
これだけで開発環境整うとは知らなかった
pythonスクリプトと連携して簡単に開発できるか検討中
と来てついにc++に手出すことにしたわ
専業でもないしpythonだけで自分のやりたいことほぼなんでもできるし見向きすらしなかった
$ sudo apt install tree build-essential cmake pkg-config
これだけで開発環境整うとは知らなかった
pythonスクリプトと連携して簡単に開発できるか検討中
101デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/09(水) 15:56:04.77ID:L0RwG3mX0 自分が高速化しなければ
という余地が残ってればいいけど
電子工作とかと同じで、一通りできるようになったけど作るものが何もない状態になる
という余地が残ってればいいけど
電子工作とかと同じで、一通りできるようになったけど作るものが何もない状態になる
102デフォルトの名無しさん (ワッチョイ 4eb3-oLgd)
2024/10/09(水) 17:59:18.01ID:1k3A/F0A0 >>100
llvm使ってgplから逃げろ
llvm使ってgplから逃げろ
103デフォルトの名無しさん (ワッチョイ cafa-lt6P)
2024/10/11(金) 03:18:27.10ID:bCU/2bPQ0104デフォルトの名無しさん (ワッチョイ 4a45-1ld3)
2024/10/11(金) 16:07:56.09ID:tTImpqsq0 python+opencvすげえ!
たった10行くらいでwebカメラの動画表示された!ものの1,2分のコーディングじゃん
皆pythonに移行するわけだなこんな便利なライブラリあったら他のやってられねえわ
たった10行くらいでwebカメラの動画表示された!ものの1,2分のコーディングじゃん
皆pythonに移行するわけだなこんな便利なライブラリあったら他のやってられねえわ
105デフォルトの名無しさん (ワッチョイ 3354-0wKs)
2024/10/11(金) 19:42:25.28ID:fZZZF+Af0 大事なのは表示されてからだぞ
どういうアプリを提供するのか?
これだけライブラリが進化してるのにそれを使って大したアプリが出てないことを考えると
簡単かどうかは関係がない
どういうアプリを提供するのか?
これだけライブラリが進化してるのにそれを使って大したアプリが出てないことを考えると
簡単かどうかは関係がない
106デフォルトの名無しさん (スッップ Sdea-jyON)
2024/10/11(金) 23:05:48.34ID:V8K6PYDOd PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう
「やってみた」ともいう
107デフォルトの名無しさん (スッップ Sdea-jyON)
2024/10/11(金) 23:05:48.34ID:V8K6PYDOd PythonはPoC止まり言語というイメージあるよね
「やってみた」ともいう
「やってみた」ともいう
108デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/12(土) 00:58:43.18ID:3/0Ne1V+0 1817を渡すと'00:30:17'に変換してくれる関数ってある?
109デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/12(土) 01:09:25.66ID:3/0Ne1V+0 import datetime
td = datetime.timedelta(seconds=1817)
print(td)
これで '0:30:17' が表示される
ただし、'00:30:17' ではない
print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない
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:47.22ID:5rKKsk01d 本物の馬鹿っているんだな
111デフォルトの名無しさん (ワッチョイ 4f54-O9y3)
2024/10/12(土) 08:38:00.65ID:g42aTpjG0 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とかが省略可能だったら
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:40.09ID:xwLOOV9/0 pip install モジュール名==
でモジュールのバージョン一覧が出る機能っていつのまにか無くなってんだな
便利だったのになんでだろ
でモジュールのバージョン一覧が出る機能っていつのまにか無くなってんだな
便利だったのになんでだろ
113デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/13(日) 10:02:03.52ID:UZT3uuKDa114デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/13(日) 10:03:05.15ID:UZT3uuKDa115デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/13(日) 10:17:48.38ID:UZT3uuKDa116デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/13(日) 10:26:22.93ID:5hnynBwd0 print(f'{time.gmtime(1817):%H:%M:%S}')
こうは書けないんだよな
書けても誰も困らないだろうに、もう更新の止まった古いモジュール
こうは書けないんだよな
書けても誰も困らないだろうに、もう更新の止まった古いモジュール
117デフォルトの名無しさん (ワッチョイ 8b01-GQwk)
2024/10/13(日) 11:57:56.51ID:HElLI/1G0 pythonむずい
118デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/13(日) 12:19:27.14ID:UZT3uuKDa119デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/13(日) 12:24:50.27ID:5hnynBwd0 試したら判るがな
TypeError: unsupported format string passed to time.struct_time.__format__
formatをサポートしていない
サポートしていないものを新たにサポートさせても、既存のコードには何の影響もない
だから、python 3.4で追加しましたとかなってても不思議ではないけど、
もうtimeモジュールは捨てられている
TypeError: unsupported format string passed to time.struct_time.__format__
formatをサポートしていない
サポートしていないものを新たにサポートさせても、既存のコードには何の影響もない
だから、python 3.4で追加しましたとかなってても不思議ではないけど、
もうtimeモジュールは捨てられている
120デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/13(日) 14:44:15.99ID:UZT3uuKDa 自分で追加したらええんやで
121デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/13(日) 14:54:11.13ID:5hnynBwd0 電池が自作できます
122デフォルトの名無しさん (スププ Sdbf-l2+s)
2024/10/13(日) 15:56:29.59ID:Lfw+7lSHd123デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/13(日) 17:39:27.08ID:5hnynBwd0 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__を追加する
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:44.93ID:XBbSNdN/0 timedeltaをdatetime用の書式で表現したら
間違いが起こりそうで怖いのは気のせいか
間違いが起こりそうで怖いのは気のせいか
125デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/13(日) 21:05:07.54ID:5hnynBwd0 マイナスを渡すと23:29:43とかになる
多分欲しいのは、-00:30:17
多分欲しいのは、-00:30:17
126デフォルトの名無しさん (ブーイモ MM8f-oCgE)
2024/10/13(日) 21:18:08.75ID:TikvsAQNM >>125
時刻と時間は別物だし、文字列として持っていればいい話。
時刻と時間は別物だし、文字列として持っていればいい話。
127デフォルトの名無しさん (ワッチョイ 9f9f-lE/J)
2024/10/13(日) 21:20:20.02ID:4MeCS0kR0 td = datetime.timedelta(seconds=1809)
print(str(td).zfill(8))
これはだめ?
print(str(td).zfill(8))
これはだめ?
128デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/13(日) 22:02:19.97ID:5hnynBwd0 さすがに小手先すぎる
マイナスにも対応できない
そして秒は小数点以下1桁も表示することという仕様変更により、
3600で割ったりして全部自前で作ることになった
マイナスにも対応できない
そして秒は小数点以下1桁も表示することという仕様変更により、
3600で割ったりして全部自前で作ることになった
129デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/13(日) 23:12:53.64ID:0McD6feo0 マイナスの日時という発想がわからない
130デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/13(日) 23:36:18.34ID:cfTcGRh7a 仕様後出し過去悪い
131デフォルトの名無しさん (ワッチョイ eb61-lE/J)
2024/10/14(月) 00:55:34.21ID:hhbIrBZG0 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
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:07.55ID:63V1I12+0 1日超えたら駄目だったわ >>131
133デフォルトの名無しさん (ワッチョイ 3b54-I4pY)
2024/10/14(月) 01:01:58.25ID:Na+e0b340 0で折り返すのは、abs()で処理して<0だったら'-'付ける、だろうなあ
流用できる処理が無い
流用できる処理が無い
134デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 02:27:55.47ID:iqlRL8W80 秒数を時分に変えるのは60で割ればいい話だろうにw
135デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 03:26:42.21ID:iqlRL8W80 >>131
0.123が何を指しているのかわかる方がおかしい
0.123が何を指しているのかわかる方がおかしい
136デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 03:29:11.20ID:iqlRL8W80137デフォルトの名無しさん (ワッチョイ 9f8e-jFBO)
2024/10/14(月) 06:09:53.67ID:cfRK145W0 >日時データ型をいじるというのはコンピューターが最も苦手な計算。
馬鹿なのか
馬鹿なのか
138デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 06:26:06.92ID:iqlRL8W80 >>137
64ビットだぜ?
64ビットだぜ?
139デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 06:28:17.12ID:iqlRL8W80 しかもまだ過渡期だから、実際は32ビットで計算している。
2036年問題だってすべてが対策済みというわけでもない。
2036年問題だってすべてが対策済みというわけでもない。
140デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 06:29:49.49ID:iqlRL8W80 60で割って1000で割るとか、64ビットだけではできない。
141デフォルトの名無しさん (ワッチョイ fbb4-+sfS)
2024/10/14(月) 08:54:29.92ID:B2/CkVb50 小数の誤差の話をしてる?
日時や時刻を扱う上で問題になるような誤差が出ることはなくない?
どんなに厳しい分野でも必要なのはナノ秒の数値までだろうし
日時や時刻を扱う上で問題になるような誤差が出ることはなくない?
どんなに厳しい分野でも必要なのはナノ秒の数値までだろうし
142デフォルトの名無しさん (アウアウエー Sa3f-mL/d)
2024/10/14(月) 08:56:37.40ID:9n6nFJIZa >>136
おまいが計算苦手なだけだろ
おまいが計算苦手なだけだろ
143デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 10:43:52.07ID:iqlRL8W80 >>141
64ビットCPUは64ビットのレジスタと外部とのやりとりが64ビットだ。
彼は1/1000秒まで正確に求めたいらしいが、2進数は10進数の表現ができない。
例えば10進数の1000は2進数だと1024になってしまう。
コンピューターは10進数の計算が苦手、時分秒なんてコンピューターには概念すらない。
64ビットCPUは64ビットのレジスタと外部とのやりとりが64ビットだ。
彼は1/1000秒まで正確に求めたいらしいが、2進数は10進数の表現ができない。
例えば10進数の1000は2進数だと1024になってしまう。
コンピューターは10進数の計算が苦手、時分秒なんてコンピューターには概念すらない。
144デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 10:44:50.51ID:iqlRL8W80145デフォルトの名無しさん (ワッチョイ 1f9e-lE/J)
2024/10/14(月) 11:01:11.87ID:XiI9iPvI0146デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 11:01:57.59ID:iqlRL8W80 初心者は数値は数値型、文字列は文字列型とか意味もわからずにデータ型を決めたがるよな。
hh:mm:ssは日時型という内部表現と画面に表示されている見た目を混同するあたりも意味がわからない。
hh:mm:ssは日時型という内部表現と画面に表示されている見た目を混同するあたりも意味がわからない。
147デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 11:04:17.72ID:iqlRL8W80 >>145
秒数を60で割る、ミリ秒は1000で割るという秒と分の換算がわからないというPython以前の問題児
秒数を60で割る、ミリ秒は1000で割るという秒と分の換算がわからないというPython以前の問題児
148デフォルトの名無しさん (ワッチョイ db47-RT/G)
2024/10/14(月) 11:52:49.48ID:H9fWIyl80149デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 12:36:08.87ID:iqlRL8W80 >>148
それだとあなたが存在する必要がない
それだとあなたが存在する必要がない
150デフォルトの名無しさん (ワッチョイ 6b01-cUHb)
2024/10/14(月) 12:38:01.47ID:upEjQ6n10151デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 12:44:19.92ID:iqlRL8W80 >>150
131 デフォルトの名無しさん (ワッチョイ eb61-lE/J) sage 2024/10/14(月) 00:55:34.21 ID:hhbIrBZG0
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
131 デフォルトの名無しさん (ワッチョイ eb61-lE/J) sage 2024/10/14(月) 00:55:34.21 ID:hhbIrBZG0
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
152デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 12:45:05.98ID:iqlRL8W80 1816.123秒という例を本人が書いている
153デフォルトの名無しさん (ワッチョイ abf5-lE/J)
2024/10/14(月) 12:48:52.68ID:o4N23i0F0 60で割って云々はちょっとズレているというかアスペ感があるのでひとまずその問題は置いといて
ストップウォッチ風な表記をdatetimeかtimeで一発で出せたらいいのに、ってことなら
そもそもストップウォッチって
0’00’’00
だったような
なら0:00:00でよくて
別に2桁縛りの0埋めじゃなくてもよくね
ミリ秒部分は知らないけど
ストップウォッチ風な表記をdatetimeかtimeで一発で出せたらいいのに、ってことなら
そもそもストップウォッチって
0’00’’00
だったような
なら0:00:00でよくて
別に2桁縛りの0埋めじゃなくてもよくね
ミリ秒部分は知らないけど
154デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 12:52:58.55ID:iqlRL8W80155デフォルトの名無しさん (ワッチョイ 9fa1-lE/J)
2024/10/14(月) 12:53:22.00ID:NoA08L9i0 0:00:00
10:00:00
これが揃ってないのがむずむずする
みたいな問題だとしたら
日付関数というよりprintなど出力フォーマット側の仕様にした方が個人的にはしっくりくる
10:00:00
これが揃ってないのがむずむずする
みたいな問題だとしたら
日付関数というよりprintなど出力フォーマット側の仕様にした方が個人的にはしっくりくる
156デフォルトの名無しさん (ワッチョイ 6b01-cUHb)
2024/10/14(月) 12:53:51.85ID:upEjQ6n10 >>151
-1816.123という秒の単位で期間を表現した数値を
HH:MM:SS.0やHH:MM:SS.000形式の文字列にフォーマットしたいというのと
1/1000秒まで正確に求めたいというのは全然別の話じゃん
しかもそれ本人じゃないだろ
-1816.123という秒の単位で期間を表現した数値を
HH:MM:SS.0やHH:MM:SS.000形式の文字列にフォーマットしたいというのと
1/1000秒まで正確に求めたいというのは全然別の話じゃん
しかもそれ本人じゃないだろ
157デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 12:54:47.77ID:iqlRL8W80 本当に60秒が1分だと知らないのかもしれない。
datetimeライブラリなんか使う必要もない。
datetimeライブラリなんか使う必要もない。
158デフォルトの名無しさん (ワッチョイ 0fd6-lE/J)
2024/10/14(月) 12:55:18.84ID:+rCJDD4J0159デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 12:58:59.46ID:iqlRL8W80 >>158
本人の書き込み
109 デフォルトの名無しさん (ワッチョイ 4f54-O9y3) sage 2024/10/12(土) 01:09:25.66 ID:3/0Ne1V+0
import datetime
td = datetime.timedelta(seconds=1817)
print(td)
これで '0:30:17' が表示される
ただし、'00:30:17' ではない
print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない
本人の書き込み
109 デフォルトの名無しさん (ワッチョイ 4f54-O9y3) sage 2024/10/12(土) 01:09:25.66 ID:3/0Ne1V+0
import datetime
td = datetime.timedelta(seconds=1817)
print(td)
これで '0:30:17' が表示される
ただし、'00:30:17' ではない
print(f'{td:%H:%M:%S}')
みたいなことをしてもエラーになる
妙に融通が利かない
160デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 13:00:47.49ID:iqlRL8W80 1817秒を30分17秒と単純に割り算をして、文字列をくっつければいい簡単な話だぜ。
161デフォルトの名無しさん (ワッチョイ 1fec-1uE8)
2024/10/14(月) 14:04:34.65ID:2T1ySmhp0 54に続いて78が爆誕か
>>143の3行目とかマジでどういう脳ミソしてんだろう
>>143の3行目とかマジでどういう脳ミソしてんだろう
162デフォルトの名無しさん (ワッチョイ 2bf5-RT/G)
2024/10/14(月) 14:11:38.27ID:mb36WxU50 >>155
printによる出力フォーマットは出力する値の型(ここではdatetime型やtimedelta型)に依存してるんだぞ
printによる出力フォーマットは出力する値の型(ここではdatetime型やtimedelta型)に依存してるんだぞ
163デフォルトの名無しさん (ワッチョイ ef94-nM9y)
2024/10/14(月) 14:11:47.79ID:vJAIv8ZI0 最初の質問って「ある」「ない」を聞いてるだけじゃね?
無ければ自分で作るかぁ、みたいな
作り方なんて分かってる上での質問でしょ
無ければ自分で作るかぁ、みたいな
作り方なんて分かってる上での質問でしょ
164デフォルトの名無しさん (ワッチョイ bb02-lE/J)
2024/10/14(月) 14:28:50.30ID:CJVgcXbL0 >>162
その理論だとprintにオプションなくてもいいよね
その理論だとprintにオプションなくてもいいよね
165デフォルトの名無しさん (スププ Sdbf-l2+s)
2024/10/14(月) 15:04:56.69ID:Nrkl1oO4d 判ってると思うけど
1000 で割るより 1000000 で割った方が良い
1000 で割るより 1000000 で割った方が良い
166デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 15:56:41.32ID:iqlRL8W80 数値
↓
時刻
↓
文字列
という奇妙なデータ型変換
↓
時刻
↓
文字列
という奇妙なデータ型変換
167デフォルトの名無しさん (ワッチョイ 9f8e-QBmB)
2024/10/14(月) 16:00:42.53ID:cfRK145W0 >>166
馬鹿が発狂した
馬鹿が発狂した
168デフォルトの名無しさん (ワッチョイ 1f78-oCgE)
2024/10/14(月) 16:05:57.37ID:iqlRL8W80 最終的な時刻フォーマットは時、分、秒がわかっていればいいだけなのにな。
1817秒÷60の結果で30分と17秒という分数と秒数が出せる。
1817秒÷60の結果で30分と17秒という分数と秒数が出せる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 [ぐれ★]
- 【中国外務省】日中関係悪化は高市氏に責任と名指しで非難… ★2 [BFU★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★2 [BFU★]
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 [Hitzeschleier★]
- 政府、株式の配当など金融所得を高齢者の医療保険料や窓口負担に反映する方針を固めた [バイト歴50年★]
- 【維新】吉村知事「中国人観光客だけに頼るビジネスモデル変えていかないといけない」「高市総理の発言は撤回する必要はない」 [Hitzeschleier★]
- 中国高官と話す外務省局長の表情、やばい ★2 [175344491]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
- 外務局長「中国さんごめんなさぁ...」小野田「中国なんかどうでもいいっ!」高市「首脳会談したい」マスコミ「立憲が悪いっ!!」 [237216734]
- 小野田経済安保相「すぐに経済的威圧するところへの依存はリスク」😲 [861717324]
- 【悲報】日本人「日本が中国と戦争になったら世界中の国が応援してくれるぞ!」 [616817505]
- 日本政府「高市総理の発言は問題ないと伝え、中国総領事のSNS投稿は問題があると中国に伝えました😊」 [931948549]
