[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2ch.scのread.cgiへ]
Update time : 02/23 14:36 / Filesize : 173 KB / Number-of Response : 629
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その52【まず1嫁】



1 名前:デフォルトの名無しさん mailto:sage [2021/01/09(土) 05:22:25.24 ID:IpHIsox4.net]
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###

409 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:27:47.27 ID:yv+/ZfUq.net]
Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね
ソースのその箇所に埋め込む感じの

410 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:44:47.59 ID:5KN+Fjzm.net]
>>409
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ

411 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 13:10:02.10 ID:dM4oOJoS.net]
>>406
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。

>>407
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。

>>408
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。

412 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 14:02:52.07 ID:hgsCKB/O.net]
>>409
>>411
Pythonのimportは名前空間にパッケージ名を登録してるだけ

import package # プロセスの名前空間にパッケージ名を登録
package.function() # packageに書いた関数を使う

import時、プロセス内に同じ名前のパッケージ名があれば読み込み不要だからキャンセルされる
なので >>405 のように一度しか実行されないってことになります

413 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:22:57.82 .net]
pandasのdropってディープコピーってことは
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか

414 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:54:54.09 ID:0fSH6U0R.net]
Ruby でも、require・load は異なる

require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う

つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある

415 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:10:14.07 ID:Ar0nSnLQ.net]
>>413
IOに比べたらカスみたいなもんだからどうでもいい
実際遅かったら直せばよい

416 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:50:16.85 ID:wJ3JIqDy.net]
推奨NGワード: Ruby

417 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:18:46.00 .net]
>>415
なるほどありがとうございます
とりあえずはまとめられる処理はできる限り一つにまとめてみます



418 名前:404 [2021/02/08(月) 21:40:53.51 ID:TgcbDI6H.net]
正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。
元々のコード:ttp://codepad.org/RgfCqXLD
変更後:ttp://codepad.org/C9YTzwaU

スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。

419 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:44:11.22 ID:XWqxRkjb.net]
>>404
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。

それの紹介記事は残っていた
https://atsushieno.hatenadiary.org/entry/20050704/p2

webアーカイブに残っているかなぁ?

420 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:22:53.64 ID:XWqxRkjb.net]
>>419
アーカイブされていた
https://web.archive.org/web/19990224184613/www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm

421 名前:デフォルトの名無しさん [2021/02/08(月) 23:57:12.05 ID:qlvhc88X.net]
親切な方誰か教えてください。
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?

422 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 00:03:22.35 ID:Vys7ayWD.net]
3.6で始めて欲しい機能が最新版にしかなかったら
その時移行する

423 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 00:05:25.90 ID:9lYAN9ot.net]
仮想環境があるから正直どうでもよい

424 名前:デフォルトの名無しさん [2021/02/09(火) 00:08:54.47 ID:gY4wTt7u.net]
>>422 422
ありがとう。とりあえず3.6で初めてみます

425 名前:デフォルトの名無しさん [2021/02/09(火) 00:33:28.54 ID:D2eLzUKh.net]
3.9でいいよ
・・・と言いたいが外部のライブラリが対応できていないものもまだ多いから3.8を勧める
3.6にあってそれ以降無くなった機能あったっけな?

426 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 01:08:10.84 ID:WN7fm/D8.net]
3.8だと思うように動作しないライブラリあったから3.6に戻した
それ以来,ずっと3.6

427 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 01:23:34.91 ID:iwKT59GY.net]
3を指定すると3.7.8か3.7.9あたりになるのが多い気がするからその辺が互換的にもよさそう



428 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 08:41:41.04 ID:ArPH6UCx.net]
>>419-420
読んでたら頭痛くなってきた…
これMSがちゃんと仕様公開しなきゃ駄目だよなぁ…

429 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 09:16:09.94 ID:oB9H/ghx.net]
教えていただきたいのですが、
tkinterでプログラムのスタートとストップボタンを作ったのですが、処理中は画面がフリーズしてしまいます。
tkinterは非同期モジュールらしく、
これを他のGUIモジュールに変えるとフリーズしなくなりますでしょか?

430 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 09:21:39.36 ID:LMsNGPvT.net]
非同期なのにフリーズするっておかしくね?

431 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 10:20:06.37 ID:fLSeggtA.net]
>>429
コード見てみないとなんともだけど
非同期のコードかかずにwhileで回してるだけになってるとか

432 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 11:42:31.22 ID:oB9H/ghx.net]
すみません、非同期とかよくわかっていなかったです。
ボタンが全く押せず、ブレークでwhile文から抜けるしかない状況です

import tkinter as tk
import tkinter.messagebox
import time

def start():
global stop_flag
  timer_time = time.time()
while stop_flag == False:
txt.insert(tkinter.END,str(time.time()-timer_time))
if time.time()-timer_time >5:
txt.insert(tkinter.END,str(time.time()-timer_time))
break

def stop():
global stop_flag
stop_flag=True

stop_flag = False
root = tk.Tk()
root.geometry("200x150+30+600")
end_button = tk.Button(root, text = "START", command =start)
end_button.place(x = 5, y = 10)
end_button = tk.Button(root, text = "STOP", command =stop)
end_button.place(x = 5, y = 40)
txt = tk.Entry(width=20)
txt.insert(tk.END,"0")
txt.place(x = 5, y = 70)

root.mainloop()

433 名前:デフォルトの名無しさん [2021/02/09(火) 11:59:05.97 ID:ngdRC2S+.net]
>>418
まずはこんな感じのswitch文を使うような状態遷移にした方がいいんじゃね
pythonにはswitchは無いからif-elseでやるしかないけど

不変でコンパクトならswitch〜caseで状態遷移したっていい|Marupeke-IKD|note
https://note.com/marupeke296/n/n62c1c4643931

11.リアルタイム制御とステートマシン
https://www2.denshi.numazu-ct.ac.jp/lego/NXT/nxtOSEK/2_kiso/realtime.html

434 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:05:59.09 ID:YRe7Jw73.net]
pandasで列aと列bの各値同士の計算結果を同じデータフレームに代入しようと思い

df = pd.DataFrame([[1,2,3],[4,5,6],[7,8,9]], columns=['a','b','c'])
df['c-a'] = df[['a','c']].diff(axis=1)['c']

と、してみましたが['c']が納得いきません
列ラベル名があるときも[:1]みたいに取り出したいのですがエラーでした

435 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:12:01.53 ID:YRe7Jw73.net]
訂正 >df['c-a'] = df[['a','c']].diff(axis=1)['c']
df['c-a'] = df[['c','a']].diff(axis=1)['a']
でした
この['c','a']の順は保証されるのかも気になります

436 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:19:02.92 ID:Vys7ayWD.net]
>>432
sleep(0.1)
txt.update()

437 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:20:02.81 ID:YRe7Jw73.net]
df['c-a'] = df[['c','a']].diff(axis=1).iloc[:,-1]

適当にやっていたらこれでいけました・・ >>434,435



438 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 13:43:29.24 ID:3rwMtM14.net]
>>432
start関数が5秒経つまでループしてて戻らないから
Pythonに限らずGUIの場合UIを動作させるにはメインスレッドを独り占めしちゃだめなのよ
>>436みたいなやり方もあるけど
sleepすらしない単純なループでの待ちは無駄にCPU使用率が上がるだけなので避ける
時間経過はタイマーイベントを使う
時間がかかる処理は別スレッドにする
という方向で考えた方がいいよ

439 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 15:54:12.06 ID:oB9H/ghx.net]
>>436さん、>>438さん
ありがとうございます。
タイマーイベント?を調べてみます

440 名前:デフォルトの名無しさん [2021/02/09(火) 19:52:16.41 ID:F09oemYA.net]
tesseractの他にocrのライブラリってありますか?
教えて下さい。よろしくお願いします。

441 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 20:42:00.18 ID:A4TUXs3r.net]
>>433
ありがとうございます。もうちょっとちゃんと勉強してみます。

442 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 22:37:06.14 ID:48/GVgda.net]
Pathlibで特定のフォルダ以下のファイルを全てglobして
全てのファイルに対して特定の処理をし
その後別のフォルダにディレクトリ構造を維持しつつ保存していきたいです

フォルダ構造を維持しつつ保存するために
hoge_dir - base_dir みたいなものをしてPathの差分だけを取得したいのですが、そういった関数は無いのでしょうか?

443 名前:デフォルトの名無しさん mailto:sage [2021/02/09(火) 22:48:35.91 ID:48/GVgda.net]
Path(os.path.relpath)で出来ました

444 名前:デフォルトの名無しさん [2021/02/10(水) 00:20:56.79 ID:3asw//Zv.net]
relative_to()
ドキュメント、読もう!

445 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 07:56:31.78 ID:lV7BodTW.net]
イテレータを使わなければならない状況がきてようやく仕組みがちょっと理解できた
今までfor inで回せばほとんどのことに対処できてたので、どこで使うんそれって感じやったけど
やっぱり必要になって使うべき場面がこないと覚わらんね

446 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 08:02:53.10 ID:0JH6aNHf.net]
使わなくても実装は出来るけどな。

447 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 11:18:29.15 ID:4pogzqlY.net]
PySide2のQDialogをESCで閉じさせない方法ってありますかね

調べても出てこない



448 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 12:24:44.38 ID:QctJSG9o.net]
>>445
イテレータイマイチ使うシーンが想像できんわ

449 名前:デフォルトの名無しさん [2021/02/10(水) 13:05:03.29 ID:3asw//Zv.net]
頭から順に処理するならイテレーター
値は取り出すまで評価されない
リストは生成時に全要素が評価、展開されるから、長いとメモリを圧迫する

450 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 13:27:54.75 ID:2MYUAlGB.net]
ジェネレータイテレーターな

451 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 13:44:33.50 ID:k3XYYQgl.net]
>>448
for文使ってればイテレータ使ってる
rangeでもlisyでもstrでも同じようにfor文で回せるのはイテレータのおかげ

452 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 18:42:03.34 ID:li7FLtWZ.net]
扱う分野で必要なもの全然違うしね
必要になったら学べば良い

453 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 19:51:19.06 ID:deHLhqxB.net]
画像比較作りたいけど
おすすめのサンプルプログラムある?
二つ比較して
似ている割合みたいのとれればいいんだけど

454 名前:デフォルトの名無しさん mailto:sage [2021/02/10(水) 19:55:11.67 ID:FCUwCs4l.net]
また宗教的な話をw
OPENCV,numpy.openvino のどれかを使いたまえ

455 名前:デフォルトの名無しさん [2021/02/11(木) 11:34:19.30 ID:n0GRjtoR.net]
>>447
ありますよ
もうちょっと頑張って調べなさい

456 名前:デフォルトの名無しさん [2021/02/11(木) 11:43:19.74 ID:n0GRjtoR.net]
>>453
https://www.imagazine.co.jp/%E9%A1%9E%E4%BC%BC%E7%94%BB%E5%83%8F%E6%A4%9C%E7%B4%A2%E3%81%AE3%E3%81%A4%E3%81%AE%E6%89%8B%E6%B3%95%E3%81%A8%E7%B2%BE%E5%BA%A6%E5%90%91%E4%B8%8A%E3%81%AE%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF/
https://qiita.com/best_not_best/items/669aaa9e1b8de647d29d
https://pystyle.info/opencv-match-shape/

457 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 11:01:49.66 ID:fibZz6ZJ.net]
GUIのテキストラベルを関数内で変更するには、そのテキストのインスタンス生成をグローバルで実施する必要があるのでしょうか?
main関数内でGUIを作成して、別の関数から呼び出そう、書き換えようとするとエラーが出てしまいます



458 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 11:42:10.00 ID:fibZz6ZJ.net]
追記です
もともとメインだけのプログラムだったのですが、処理部などを分けていくにあたって、上記問題となりました。
ボタンやテキストラベルが多いため、GUIだけでも分離できたらなと思ってます。

459 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 12:56:12.11 ID:9pKWi6uS.net]
エラーメッセージは飾りじゃないんだゾ
ちゃんと読むんだ

460 名前:デフォルトの名無しさん [2021/02/12(金) 13:28:10.74 ID:x9NfpsA7.net]
GUIってどれ使ってんの

461 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 13:35:33.64 ID:3wJJOYZl.net]
恥ずかしがらずに再現できるコードを出しましょう

462 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:15:13.03 ID:Xi6F12r7.net]
OCR使ってみたんですが画像にちょっとシミ付いただけでめっちゃ精度落ちるんですけど

463 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:25:54.79 ID:YkYoXOlY.net]
そんなもんだろ
実運用ならGoogle Vision APIとか使え

464 名前:デフォルトの名無しさん mailto:sage [2021/02/12(金) 15:36:15.52 ID:Xi6F12r7.net]
d つこうてみる

465 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:13:14.19 ID:kyaOMlKJ.net]
ファイルfを新規open
なにか書く
*ファイルfをclose
*ファイルfを追記open
なにか書く
*ファイルfをclose
*ファイルfを追記open

(これを何回か繰り返す)

ファイルfをclose
ていうことをやってるんだけど、*印のファイルfをclose・ファイルfを追記openをdefにしたら
local variable 'f' referenced before assignment
ていうエラーが出てしまいました。
defの中でf=openて書けないんでしょうけど、こういう場合て繰り返しのところをコードのマクロとか部品みたいにできないのでしょうか?
ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。

466 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 01:43:32.68 ID:XqdE9YRe.net]
なんていうかwith使え

467 名前:デフォルトの名無しさん [2021/02/13(土) 07:57:55.39 ID:dvbWR5uB.net]
with使えっていうのは当然として、設計寄りの話としてDAOあるいはRepositoryと言われるパターンを勉強すると良い。



468 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 09:06:30.97 ID:+Dfn0XQq.net]
>>465
単にコーディングミス。
エラーの意味は分かるな?

469 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 10:52:08.28 ID:PYtZn7CJ.net]
>>465
Pythonの不便な点だな

def まくろ(何かを書く)
 ファイルfを開く
 何かを書く(f)
 ファイルfを閉じる

まくろ(何かを書く1)
まくろ(何かを書く2)

ってやるのが定番
でもC#とかなら「何かを書く1」に直接処理を書けるけどPythonは関数を定義しないと駄目だからいまいちメリットが薄い

470 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 17:08:03.41 .net]
今どきのプログラミング
https://video.twimg.com/ext_tw_video/1354709180309901313/pu/vid/720x1280/nOusy_VBfI6wXHi4.mp4

471 名前:デフォルトの名無しさん [2021/02/13(土) 17:42:30.74 ID:aD8q5Xup.net]
>>465
クロージャは?

def create_writer(f):
__fを新規作成
__def write(s):
____fを追記open
____sを追記
____f.close()
__return write

writer=create_writer(f)
writer(あああ)
writer(いいい)

472 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 18:56:29.59 ID:QOknjIyX.net]
+aでopenすべし

473 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 19:01:49.24 ID:QOknjIyX.net]
def write_to(file_path):
__def write(string):
____with open(file_path, '+a') as f:
______f.write(string + '¥n')
__return write

write = write_to("foo.txt")
write("foo")
write("bar")

474 名前:デフォルトの名無しさん [2021/02/13(土) 19:56:09.70 ID:hraNkxQy.net]
wrapする意味がほとんどない気がする。
都度ファイル名が変わるなら、一緒に渡す方が間違いないだろうし、
逆に固定でいいなら、定数にするか、上で出ているようにDAOに閉じ込める方がいい。

475 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 20:57:02.03 ID:PYtZn7CJ.net]
ケースバイケース

476 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 21:05:50.85 ID:QOknjIyX.net]
>>474
2つ意味がある

ファイル名を意識すべきレイヤーやタイミングと
何かを書き出したいレイヤーやタイミングが常に同じとは限らないので
その2つの関心事を分離できるという意味が一つ

もう一つはDAOでもファイルでもいいけど
それらが10個あった場合に同じコード(open/close)を10回書かなくてもいい

477 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 21:15:03.69 ID:OVGnVG6N.net]
質問者のレベルを考えれば毎回ファイル名を渡すほうが親切かもな

間違ってもDAOやリポジトリを持ち出すような話じゃない



478 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 22:19:47.12 ID:PYtZn7CJ.net]
>>477
質問者はファイル名の話なんてしてない
そもそも質問者は「なにか書く」をなんとかしたいと言ってるのに勝手に文字列を書くことで満足してるようなオナニー見せられて困ってるだろうな… ⇒ >>471, >>473
その上質問者のレベルとか何様なんだよ

479 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 22:52:40.18 ID:De6EzIPK.net]
ある時間が現在時刻より何時間経ってるかていうのを知りたいんだが

from datetime import datetime
d="2020/06/02 23:42"
x=datetime.strptime(d, '%Y/%m/%d %H:%M')
y=datetime.datetime.now()
print(x,' ',y)
last_time=(y-x)/3600

てやってみたんだが
type object 'datetime.datetime' has no attribute 'datetime'
というエラー

y=datetime.now()にすると
last_timeが1:42:23.156836という値
何百時間ていう数値を出せないんですか?

480 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:06:29.50 ID:Ylmwjazf.net]
>>478
この逆ギレは恥ずかしいww

481 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:09:24.90 ID:Jp6Ct9sY.net]
>>479
時間差はtimedeltaになる、それを数値で割るとこの場合255日を3600分割してしまうので
(y - x).total_seconds() / 3600か、(y - x) / timedelta(hours=1)とかかな
https://docs.python.org/ja/3/library/datetime.html#datetime.timedelta.total_seconds

482 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:14:28.96 ID:De6EzIPK.net]
>>481
できました。
結構狂った言語だな。
算術計算の結果は数値で出すべきなのに。
なんかpythonて直感的じゃなくて使いにくいな。

483 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:27:47.37 ID:PYtZn7CJ.net]
>>480
逆ギレとか意味わからん
まあ反論できない時に低能がよく言う言葉ではあるがw

484 名前:デフォルトの名無しさん mailto:sage [2021/02/13(土) 23:39:31.79 ID:QOknjIyX.net]
>>478
ファイルに書くんだからファイル名は必要
指摘の意味がわからない

テキストじゃなくバイナリで書きたいなら’+a’を’+ab’とすればいい
ファイルに追記する場合はその2つのどちらかしかない

485 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 00:10:37.48 ID:D24G58JB.net]
>>484
> ファイルに書くんだからファイル名は必要
そんなことは質問者もわかってるだろ
一応実装はできててより簡単に書きたいって話みたいだし

とりあえず>>465はまだ見てたら
> ファイルfをclose・ファイルfを追記openてところが10行ぐらいの全く同じコードになってるので繰り返して書くのがキレイでない。
の部分のコードを晒した方がまともな回答が得られると思う

486 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 00:13:47.53 ID:aLCsI6lK.net]
見た感じcloseとopenでなにしてるかわかってないように思う

487 名前:デフォルトの名無しさん [2021/02/14(日) 02:04:56.58 ID:2SnvaGjH.net]
>>478
身近にこういう奴が居なくて本当に良かった



488 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 03:15:01.82 ID:DLKN34Ks.net]
おっ

489 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 04:01:51.29 ID:m6EUmtlX.net]
>>485
464みたいな構造に書き直して見ました。
最初書こうとしてたコードはこういうことがしたかった。

def まくろ(何かを書く,関数名)
 ファイルfを開く
 引数で与えられた関数名の関数を呼び出す
 何かを書く(f)
 ファイルfを閉じる
ていうのがやりたかったんだけど、関数の中に動的に別々の関数を呼び出すことなんてできないよね。
#define マクロ名(引数リスト)みたいなことができれば実現できるのに。

490 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 04:10:04.36 ID:TDUjnB7+.net]
そのやり方で普通にできるよ

491 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 07:55:56.90 ID:D24G58JB.net]
>>486-487
技術的な話ができないならどっかよそ行けよ…

>>489
>>490が言うように複数の関数を受け取って両方呼び出すのも普通にできる

def foo():
 print('foo()が呼ばれた')


def bar():
 print('bar()が呼ばれた')

def test(f1, f2):
 f1()
 f2()

test()

辺りから色々やってみればいい
あと Python 関数 渡す とかでググればいいかと

492 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 10:46:04.70 ID:vizEsFtD.net]
最近はpythonでググると高確率で、nkmkというサイトに引っかかる
そこは目次が無いため、文字ばかりの細々とした説明の中から必要なコードを探さないといけないから、とてもストレス

493 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 10:47:27.53 ID:HIb/uJW+.net]
>>491
関数を呼び出すんじゃなくてソースコードをマクロ展開したいんだけど。
関数にしてしまうと変数のグローバル・ローカルという話が出てきてしまう。
単純に10行くらいのコードの一部を変えてコピーしたい。
defの関数てコードのコピーじゃないですよね?

494 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:19:31.18 ID:D24G58JB.net]
>>493
なんでそんなことしたいのかよくわからんけど、m4とかのマクロプロセッサでも使えばいいんじゃね

495 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:40:02.31 ID:8wuPGef8.net]
何が言いたいのかようやくわかった。
どんだけ質問下手やねん

496 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:40:35.87 ID:AzULVuFC.net]
>>492
イラストがいっぱいあって、
「今日はイテレーターの使い方だよ」
「何だか難しそう」
とかなってるサイトのほうがウザい。

497 名前:デフォルトの名無しさん [2021/02/14(日) 11:53:57.69 ID:PGTjJwEI.net]
>>482
馬鹿には無理



498 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 11:56:45.92 ID:1NfnFEsp.net]
>>493
デコれ

499 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:00:51.30 ID:IYZau0Ph.net]
>>493
Pythonにはその機能はないんで諦めてください

500 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:05:20.73 ID:BvP4KASJ.net]
>>496
「お願いします!」

501 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:09:30.76 ID:IYZau0Ph.net]
>>498
デコレータって、元の関数の動作はそのまんま残し、さらに別の動作を
付け加えた関数を作り出す機能っしょ
この人はコードの一部を変更したいって言ってるから無理ではないかと

502 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:12:44.45 ID:TDUjnB7+.net]
>>491
>test()
関数渡してないやないかーい!

>>493
変数のスコープを理解せずにプログラムは書けないので
最初のlocal variable 'f' referenced before assignmentのエラーの原因を調べたほうがいいよ
誰もが一度は通るエラーなのでググればすぐ分かる
公式のFAQにものってる

503 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:13:45.18 ID:LN4pPlYg.net]
>>500
あった、これだ。
https://techacademy.jp/magazine/46444

504 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:14:42.54 ID:vizEsFtD.net]
>>500
あれ、イラッとするよなw

505 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 12:21:38.55 ID:TDUjnB7+.net]
>#define マクロ名(引数リスト)
文字列を展開してそれをコードとして評価することはできるけど
今回のケースは関数を使えば解決可能なのでまずやらない
マクロと同等のことが普通のコードで実現可能

506 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 13:18:53.12 ID:m02xXjOP.net]
nkmkは最高に分かりやすいだろ
プログラミングスクール系のゴミ記事の1億倍見やすいわ

507 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 13:28:12.12 ID:D24G58JB.net]
>>502
> 関数渡してないやないかーい!
指摘サンクス、スマホでポチポチだから忘れてたわ



508 名前:デフォルトの名無しさん [2021/02/14(日) 13:36:25.18 ID:2SnvaGjH.net]
>>506
あとは目次にリンク張ってくれれば言うことない

509 名前:デフォルトの名無しさん mailto:sage [2021/02/14(日) 14:56:48.08 ID:TDUjnB7+.net]
なぜ目次がページ内リンクになっていないのか
https://note.nkmk.me/faq/#_1

だってさ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<173KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef