当スレに★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公式サイト◇ http://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 ###
探検
くだすれPython(超初心者用) その52【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
2021/01/09(土) 05:22:25.24ID:IpHIsox4
478デフォルトの名無しさん
2021/02/13(土) 22:52:40.18ID:De6EzIPK ある時間が現在時刻より何時間経ってるかていうのを知りたいんだが
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という値
何百時間ていう数値を出せないんですか?
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という値
何百時間ていう数値を出せないんですか?
479デフォルトの名無しさん
2021/02/13(土) 23:06:29.50ID:Ylmwjazf >>477
この逆ギレは恥ずかしいww
この逆ギレは恥ずかしいww
480デフォルトの名無しさん
2021/02/13(土) 23:09:24.90ID:Jp6Ct9sY >>478
時間差は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
時間差は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
481デフォルトの名無しさん
2021/02/13(土) 23:14:28.96ID:De6EzIPK482デフォルトの名無しさん
2021/02/13(土) 23:27:47.37ID:PYtZn7CJ483デフォルトの名無しさん
2021/02/13(土) 23:39:31.79ID:QOknjIyX484デフォルトの名無しさん
2021/02/14(日) 00:10:37.48ID:D24G58JB485デフォルトの名無しさん
2021/02/14(日) 00:13:47.53ID:aLCsI6lK 見た感じcloseとopenでなにしてるかわかってないように思う
486デフォルトの名無しさん
2021/02/14(日) 02:04:56.58ID:2SnvaGjH >>477
身近にこういう奴が居なくて本当に良かった
身近にこういう奴が居なくて本当に良かった
487デフォルトの名無しさん
2021/02/14(日) 03:15:01.82ID:DLKN34Ks おっ
488デフォルトの名無しさん
2021/02/14(日) 04:01:51.29ID:m6EUmtlX >>484
464みたいな構造に書き直して見ました。
最初書こうとしてたコードはこういうことがしたかった。
def まくろ(何かを書く,関数名)
ファイルfを開く
引数で与えられた関数名の関数を呼び出す
何かを書く(f)
ファイルfを閉じる
ていうのがやりたかったんだけど、関数の中に動的に別々の関数を呼び出すことなんてできないよね。
#define マクロ名(引数リスト)みたいなことができれば実現できるのに。
464みたいな構造に書き直して見ました。
最初書こうとしてたコードはこういうことがしたかった。
def まくろ(何かを書く,関数名)
ファイルfを開く
引数で与えられた関数名の関数を呼び出す
何かを書く(f)
ファイルfを閉じる
ていうのがやりたかったんだけど、関数の中に動的に別々の関数を呼び出すことなんてできないよね。
#define マクロ名(引数リスト)みたいなことができれば実現できるのに。
489デフォルトの名無しさん
2021/02/14(日) 04:10:04.36ID:TDUjnB7+ そのやり方で普通にできるよ
490デフォルトの名無しさん
2021/02/14(日) 07:55:56.90ID:D24G58JB491デフォルトの名無しさん
2021/02/14(日) 10:46:04.70ID:vizEsFtD 最近はpythonでググると高確率で、nkmkというサイトに引っかかる
そこは目次が無いため、文字ばかりの細々とした説明の中から必要なコードを探さないといけないから、とてもストレス
そこは目次が無いため、文字ばかりの細々とした説明の中から必要なコードを探さないといけないから、とてもストレス
492デフォルトの名無しさん
2021/02/14(日) 10:47:27.53ID:HIb/uJW+ >>490
関数を呼び出すんじゃなくてソースコードをマクロ展開したいんだけど。
関数にしてしまうと変数のグローバル・ローカルという話が出てきてしまう。
単純に10行くらいのコードの一部を変えてコピーしたい。
defの関数てコードのコピーじゃないですよね?
関数を呼び出すんじゃなくてソースコードをマクロ展開したいんだけど。
関数にしてしまうと変数のグローバル・ローカルという話が出てきてしまう。
単純に10行くらいのコードの一部を変えてコピーしたい。
defの関数てコードのコピーじゃないですよね?
493デフォルトの名無しさん
2021/02/14(日) 11:19:31.18ID:D24G58JB >>492
なんでそんなことしたいのかよくわからんけど、m4とかのマクロプロセッサでも使えばいいんじゃね
なんでそんなことしたいのかよくわからんけど、m4とかのマクロプロセッサでも使えばいいんじゃね
494デフォルトの名無しさん
2021/02/14(日) 11:40:02.31ID:8wuPGef8 何が言いたいのかようやくわかった。
どんだけ質問下手やねん
どんだけ質問下手やねん
495デフォルトの名無しさん
2021/02/14(日) 11:40:35.87ID:AzULVuFC496デフォルトの名無しさん
2021/02/14(日) 11:53:57.69ID:PGTjJwEI >>481
馬鹿には無理
馬鹿には無理
497デフォルトの名無しさん
2021/02/14(日) 11:56:45.92ID:1NfnFEsp >>492
デコれ
デコれ
498デフォルトの名無しさん
2021/02/14(日) 12:00:51.30ID:IYZau0Ph >>492
Pythonにはその機能はないんで諦めてください
Pythonにはその機能はないんで諦めてください
499デフォルトの名無しさん
2021/02/14(日) 12:05:20.73ID:BvP4KASJ >>495
「お願いします!」
「お願いします!」
500デフォルトの名無しさん
2021/02/14(日) 12:09:30.76ID:IYZau0Ph501デフォルトの名無しさん
2021/02/14(日) 12:12:44.45ID:TDUjnB7+502デフォルトの名無しさん
2021/02/14(日) 12:13:45.18ID:LN4pPlYg503デフォルトの名無しさん
2021/02/14(日) 12:14:42.54ID:vizEsFtD >>499
あれ、イラッとするよなw
あれ、イラッとするよなw
504デフォルトの名無しさん
2021/02/14(日) 12:21:38.55ID:TDUjnB7+ >#define マクロ名(引数リスト)
文字列を展開してそれをコードとして評価することはできるけど
今回のケースは関数を使えば解決可能なのでまずやらない
マクロと同等のことが普通のコードで実現可能
文字列を展開してそれをコードとして評価することはできるけど
今回のケースは関数を使えば解決可能なのでまずやらない
マクロと同等のことが普通のコードで実現可能
505デフォルトの名無しさん
2021/02/14(日) 13:18:53.12ID:m02xXjOP nkmkは最高に分かりやすいだろ
プログラミングスクール系のゴミ記事の1億倍見やすいわ
プログラミングスクール系のゴミ記事の1億倍見やすいわ
506デフォルトの名無しさん
2021/02/14(日) 13:28:12.12ID:D24G58JB507デフォルトの名無しさん
2021/02/14(日) 13:36:25.18ID:2SnvaGjH >>505
あとは目次にリンク張ってくれれば言うことない
あとは目次にリンク張ってくれれば言うことない
508デフォルトの名無しさん
2021/02/14(日) 14:56:48.08ID:TDUjnB7+509デフォルトの名無しさん
2021/02/14(日) 18:37:52.94ID:muFQjW+d 無駄にマクロ使おうとしてるとか絶対地雷人材やろ。。
510デフォルトの名無しさん
2021/02/14(日) 19:11:28.97ID:MlHmhfGR 対人地雷に見えた
ある意味では間違いではないか
ある意味では間違いではないか
511デフォルトの名無しさん
2021/02/14(日) 19:18:07.67ID:I1aFEzxm512デフォルトの名無しさん
2021/02/14(日) 19:55:19.81ID:5ILzfDiM >>510
にんげんさまはアルクセキュリティホールやでぇ
にんげんさまはアルクセキュリティホールやでぇ
513デフォルトの名無しさん
2021/02/14(日) 20:52:11.02ID:k6Jk8aeh #define sqr(a) (a*a)
sqr=lambda a:a*a
sqr=lambda a:a*a
514デフォルトの名無しさん
2021/02/14(日) 21:53:27.56ID:wJqWCA2o >>512
アルクに謝れ!
アルクに謝れ!
515デフォルトの名無しさん
2021/02/14(日) 23:49:31.85 一週間ほど前にPython にバッファオーバーフローの脆弱性(CVE-2021-3177)が発表されましたが、パッチ同時リリースではありませんでした
その後、パッチは出たのでしょうか? この問題は解決済みですか?
その後、パッチは出たのでしょうか? この問題は解決済みですか?
516デフォルトの名無しさん
2021/02/15(月) 00:24:39.78ID:bVZY0HXF testDict = {"test1Key":"test1","test2Key":"test2","test1Key":"test1.5"}
こんな感じで、重複のkeyがある辞書から、重複要素をprintするにはどうしたら良いですか?
こんな感じで、重複のkeyがある辞書から、重複要素をprintするにはどうしたら良いですか?
517デフォルトの名無しさん
2021/02/15(月) 00:36:14.72ID:Jl6Y5s68 辞書はキーが重複することはありません
518デフォルトの名無しさん
2021/02/15(月) 01:38:43.41ID:doIMb1ii bound methodの中身を出力したいときってどうすればいいですか?
519デフォルトの名無しさん
2021/02/15(月) 07:39:49.62ID:x4VL8oQa >>514
わ、わるいのはM$IMEでっす!!!
わ、わるいのはM$IMEでっす!!!
520デフォルトの名無しさん
2021/02/15(月) 11:32:59.59ID:HtPzSKw3 seleniumでchromedriverを使ってスクレイピングするとき、
長時間続けているとキャッシュが肥大化してきます
これをコードの中でクリアする方法はありますでしょうか?
長時間続けているとキャッシュが肥大化してきます
これをコードの中でクリアする方法はありますでしょうか?
521デフォルトの名無しさん
2021/02/15(月) 11:55:43.22ID:LUOktb/o 別のスクリプトからsubprocessで間接的に起動しておいて、定期的に起動し直すとかかなあ
522デフォルトの名無しさん
2021/02/15(月) 11:59:16.82 どうしてもseleniumでというならドライバ再実行でどうにかなったと思うけど
windowも閉じてしまうからそれが嫌だっていうなら
素直にscrapy使ってスクレイピングするのがいいかも >>520
windowも閉じてしまうからそれが嫌だっていうなら
素直にscrapy使ってスクレイピングするのがいいかも >>520
523デフォルトの名無しさん
2021/02/15(月) 14:35:17.03ID:Jl6Y5s68 chrome://settings/clearBrowserDataを開いて操作する方法もあるみたいだけど今のchromeだとShadow DOM使っててめんどくさいから
options = webdriver.ChromeOptions
options.add_argument("--disk-cache-size=バイト数")
driver = webdriver.Chrome(chrome_options=options)
みたいにしてキャッシュサイズ制限かけるとか
options = webdriver.ChromeOptions
options.add_argument("--disk-cache-size=バイト数")
driver = webdriver.Chrome(chrome_options=options)
みたいにしてキャッシュサイズ制限かけるとか
524520
2021/02/15(月) 17:14:22.91ID:HtPzSKw3 やっぱり起動しなおすしかない感じですね
optionsでキャッシュサイズの指定は試してみたんですけど、効果ナシでした
例えば数十分おきとかでドライバ再実行する仕組みで試してみようかな
scrapy、初耳だったので調べてみましたがちょっと難しそうでした
少し勉強してみます
optionsでキャッシュサイズの指定は試してみたんですけど、効果ナシでした
例えば数十分おきとかでドライバ再実行する仕組みで試してみようかな
scrapy、初耳だったので調べてみましたがちょっと難しそうでした
少し勉強してみます
525デフォルトの名無しさん
2021/02/15(月) 18:33:57.06ID:rGrJfJAw526デフォルトの名無しさん
2021/02/16(火) 14:05:18.83ID:ipEDtskL Atomでコンソールから実行していて、無限ループになったりしてタスクマネージャで強制終了頻繁にしてるのですが、
見えないプロセスが残ったり、メモリーが変に残ったりすることはあるのでしょうか?
見えないプロセスが残ったり、メモリーが変に残ったりすることはあるのでしょうか?
527デフォルトの名無しさん
2021/02/16(火) 17:21:05.75ID:tjl7Fm3+ マルチスレッドとか使ってて全てのプロセスが殺せてないとか
528デフォルトの名無しさん
2021/02/16(火) 17:49:43.59 Atom はプラグインのインストールに失敗する度に、そのNodeプロセスがゾンビ化する不具合があるゴミなのでVSCodeを使いましょう
529デフォルトの名無しさん
2021/02/17(水) 03:51:59.84ID:zEY0Zwgw 10万馬力も電気使っちゃうの?
530デフォルトの名無しさん
2021/02/17(水) 22:17:14.64ID:d05tkeIJ matplotでグラフタイトルを下部に表示したいです。
plt.title('x-latency graph', fontname='Times New Roman', y=-0.15)
とy設定をすることで一応下部に表示はされるのですが、
ウインドの大きさによってxラベルと重なってしまい、
上部に表示したときのようにきれいにはいきません。
なにかうまい方法ないでしょうか?
plt.title('x-latency graph', fontname='Times New Roman', y=-0.15)
とy設定をすることで一応下部に表示はされるのですが、
ウインドの大きさによってxラベルと重なってしまい、
上部に表示したときのようにきれいにはいきません。
なにかうまい方法ないでしょうか?
531デフォルトの名無しさん
2021/02/17(水) 22:37:46.06ID:ywbkeJkd pad=20みたいなのを追加してみるとか
532デフォルトの名無しさん
2021/02/17(水) 22:42:46.98ID:ywbkeJkd 下ならpad=-10みたいにマイナスか
533デフォルトの名無しさん
2021/02/17(水) 22:57:13.47ID:d05tkeIJ pad試してみたのですが、ウインドウ小さくするとそうそうにXラベルと重なってしまいますね。
デフォルトの上部にしているとウインドウ小さくしても重ならないのですが、
こんなものなのでしょうか・・・。
でも、論文って下にタイトルって指定されるのに、なんでデフォルトが上になっているんだろう・・。
デフォルトの上部にしているとウインドウ小さくしても重ならないのですが、
こんなものなのでしょうか・・・。
でも、論文って下にタイトルって指定されるのに、なんでデフォルトが上になっているんだろう・・。
534デフォルトの名無しさん
2021/02/17(水) 22:59:25.13ID:ywbkeJkd plt.tight_layout()なら?
535デフォルトの名無しさん
2021/02/17(水) 23:01:50.01ID:ywbkeJkd 論文の図のキャプションは図をレイアウトした先で図の外側に作るものでグラフの中には作らないから、余り気にしたことないな
536デフォルトの名無しさん
2021/02/17(水) 23:09:20.61ID:d05tkeIJ >>534
ありがとうございます。
さっきまでよりはだいぶ見やすくなりました。
でも、やっぱりウインドウ小さくすると破綻するのは上部より下部の方が早いですね。
上部にしといて、タイトルは割り切って別で入れるようにしたほうがいいのかな。
ありがとうございます。
さっきまでよりはだいぶ見やすくなりました。
でも、やっぱりウインドウ小さくすると破綻するのは上部より下部の方が早いですね。
上部にしといて、タイトルは割り切って別で入れるようにしたほうがいいのかな。
537デフォルトの名無しさん
2021/02/17(水) 23:10:30.71ID:d05tkeIJ 実用上それで問題ないんですけど、
論文で下って教育されてると、上部タイトルがきてるといけないことをしているかのような強迫観念が・・・
論文で下って教育されてると、上部タイトルがきてるといけないことをしているかのような強迫観念が・・・
538デフォルトの名無しさん
2021/02/18(木) 00:09:43.11ID:IAd8iDhz そこまでこだわりがあるならsubplotで2段にして下のプロット軸とか背景を不可視にしてタイトルを下のプロットのタイトルとして描く関数を作っとくとか
539デフォルトの名無しさん
2021/02/18(木) 10:25:28.59ID:64/LOwh9540デフォルトの名無しさん
2021/02/18(木) 18:54:08.48ID:wTfx2HE+ > お前は毎朝起きるたびに俺に負けたことを思い出すよ^^
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な ことはよーくわかったよ。 ホントなにもできない朝鮮ゴキブリBot君!
クソチョンw
Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw
日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
541デフォルトの名無しさん
2021/02/18(木) 21:54:32.87ID:cqSbk4Yx 等差数列的な1次元行列で転置を行いたい
(1)
a = np.array([[i for i in range(2, 5, 1)]])
a.T
(2)a.T表記ではない(and ディープコピーではない)
a = np.arange(2,5,1)
a.shape = (1,3)
(3)ワンクッション多い
a = np.arange(2,5,1)
a.shape = (3,1)
a.T
(4)
a = np.array([np.arange(2,5,1)])
a.T
(本音)
a = np.arange(2,5,1).T
(1)
a = np.array([[i for i in range(2, 5, 1)]])
a.T
(2)a.T表記ではない(and ディープコピーではない)
a = np.arange(2,5,1)
a.shape = (1,3)
(3)ワンクッション多い
a = np.arange(2,5,1)
a.shape = (3,1)
a.T
(4)
a = np.array([np.arange(2,5,1)])
a.T
(本音)
a = np.arange(2,5,1).T
542デフォルトの名無しさん
2021/02/18(木) 22:14:50.29ID:f56ThaA4 np使わないとまともに配列扱えない欠陥言語だから仕方ない。
543デフォルトの名無しさん
2021/02/18(木) 22:38:10.75ID:vU7qRJsP はやくjuliaが主流になるといいよね
544デフォルトの名無しさん
2021/02/18(木) 22:48:59.15ID:bEmrZ2Tw 542認定言語
julia
r
以下欠陥言語。使ってる奴も三流
python
c++
java
c#
rust
swift
js
julia
r
以下欠陥言語。使ってる奴も三流
python
c++
java
c#
rust
swift
js
545デフォルトの名無しさん
2021/02/18(木) 23:16:09.86ID:vQ0bM4Ab >>541
reshape
reshape
546デフォルトの名無しさん
2021/02/18(木) 23:58:49.68ID:cqSbk4Yx >>545
reshapeという文字自体が長いというのはあるけど、まさにこれって感じのやつだったd
reshapeという文字自体が長いというのはあるけど、まさにこれって感じのやつだったd
547デフォルトの名無しさん
2021/02/19(金) 01:03:54.01ID:byh433rL juliaはたしかに良言語だと思う
使ったこと無いけど
使ったこと無いけど
548デフォルトの名無しさん
2021/02/19(金) 02:56:37.19ID:h/t0+GoU 言語には二種類ある(ry
549デフォルトの名無しさん
2021/02/19(金) 05:34:23.41ID:473cJTkx lispみたいなガイジが好むけど実用されない言語と
pythonみたいな実用されるけどガイジから非難される言語だ
pythonみたいな実用されるけどガイジから非難される言語だ
550デフォルトの名無しさん
2021/02/19(金) 07:19:35.87ID:dkFXvWzJ551デフォルトの名無しさん
2021/02/19(金) 07:19:58.87ID:ho6TCH2V 行列使うならMATLAB系
numpyじゃあ全く代わりにならんしうんざりする
計算だけで済む話にpython使うのはアホらしい
numpyじゃあ全く代わりにならんしうんざりする
計算だけで済む話にpython使うのはアホらしい
552デフォルトの名無しさん
2021/02/19(金) 19:22:35.73ID:UVFRc2z2 if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
ていうようなことをしたい。
elseで次のifを書いていくとインデントがどんどん右に行くんだがなんかいい方法ない?
考えたのはfor文の中にいれて真ならbreakてやったんだが、普通はどうかくの?
真ならなんか処理して(if文グループの終わり)に行く
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
ていうようなことをしたい。
elseで次のifを書いていくとインデントがどんどん右に行くんだがなんかいい方法ない?
考えたのはfor文の中にいれて真ならbreakてやったんだが、普通はどうかくの?
553デフォルトの名無しさん
2021/02/19(金) 19:26:56.94ID:8rw3YsL8 >>552
elif
elif
554デフォルトの名無しさん
2021/02/19(金) 21:00:13.10ID:UVFRc2z2 >>553
レスサンクス。
if文の前に前処理があるやつだとどうする?
(if文グループの始まり
条件Aの前処理
if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
条件Bの前処理
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
条件Cの前処理
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
goto文でできるが、gotoてどの言語でも推奨じゃないよね?
なんかif文グループの入れ子を作って、入れ子を抜けるようなことてforでやるしかない?
レスサンクス。
if文の前に前処理があるやつだとどうする?
(if文グループの始まり
条件Aの前処理
if 条件A:
真ならなんか処理して(if文グループの終わり)に行く
条件Bの前処理
if 条件B:
真ならなんか処理して(if文グループの終わり)に行く
条件Cの前処理
if 条件C:
真ならなんか処理して(if文グループの終わり)に行く
(if文グループの終わり)
goto文でできるが、gotoてどの言語でも推奨じゃないよね?
なんかif文グループの入れ子を作って、入れ子を抜けるようなことてforでやるしかない?
555デフォルトの名無しさん
2021/02/19(金) 21:19:47.88ID:yv2d5Olu インデントがわからないからはっきり分からないが
並列なifなら関数化してearly return
並列なifなら関数化してearly return
556デフォルトの名無しさん
2021/02/19(金) 21:24:45.22ID:dkFXvWzJ >>554
何もないコードブロックって作れないよね?
無理やりifでコードブロックにして
if True:
前処理A
if 条件A:
処理A
break
前処理B
if 条件B
とかやれば出来なくもない。
何もないコードブロックって作れないよね?
無理やりifでコードブロックにして
if True:
前処理A
if 条件A:
処理A
break
前処理B
if 条件B
とかやれば出来なくもない。
557デフォルトの名無しさん
2021/02/19(金) 21:27:13.31ID:yv2d5Olu breakできるのはloop内だけじゃないかな
558デフォルトの名無しさん
2021/02/19(金) 21:28:47.87ID:8rw3YsL8 >>554
while True:で始めてbreakで抜けるのが良いだろうけど、
本質的には処理はネストしてる(前処理Cは前処理A,Bを前提としている)ことを考えると、
if文をネストさせるかもしれないな。
それか前処理がエラーチェックだったらdefで切り出してreturnするか。
Cでリソース解放を必ずしたい場合とかはgoto使うこともあるけど、定石はないというか、ケースバイケースでif文使ったりgoto使ったりしてるな。
try/catchとかも制限付きgotoみたいなものだから、濫用しなければgoto使ってもいいと思うけどね。
while True:で始めてbreakで抜けるのが良いだろうけど、
本質的には処理はネストしてる(前処理Cは前処理A,Bを前提としている)ことを考えると、
if文をネストさせるかもしれないな。
それか前処理がエラーチェックだったらdefで切り出してreturnするか。
Cでリソース解放を必ずしたい場合とかはgoto使うこともあるけど、定石はないというか、ケースバイケースでif文使ったりgoto使ったりしてるな。
try/catchとかも制限付きgotoみたいなものだから、濫用しなければgoto使ってもいいと思うけどね。
559デフォルトの名無しさん
2021/02/19(金) 21:29:07.83ID:dkFXvWzJ560デフォルトの名無しさん
2021/02/19(金) 21:44:37.71ID:fFbWPHDZ if func1:
if func2:
if func3:
if func4:
if func2:
if func3:
if func4:
561デフォルトの名無しさん
2021/02/19(金) 22:06:38.25ID:yv2d5Olu ↓これでよくない?
def if_group():
__条件Aの前処理
__if 条件A:
____do_somethingA()
____return
__条件Bの前処理
__if 条件B:
____do_somethingB()
____return
__条件Cの前処理
__if 条件C:
____do_somethingC()
____return
def if_group():
__条件Aの前処理
__if 条件A:
____do_somethingA()
____return
__条件Bの前処理
__if 条件B:
____do_somethingB()
____return
__条件Cの前処理
__if 条件C:
____do_somethingC()
____return
562デフォルトの名無しさん
2021/02/20(土) 00:02:39.45ID:/remXlTv if_group() 呼ばないと。
563デフォルトの名無しさん
2021/02/20(土) 00:22:00.93ID:N/y0hS3O 即席で関数定義する方がセンスよさげだが自分なら完了済みフラグ設けて済ませたな
564デフォルトの名無しさん
2021/02/20(土) 00:49:34.69ID:1Y17sdX3 こういうんじゃあかんのけ?
a = 4
if (lambda: [print("hello"), print("world")])() and a == 3:
__print("foobar")
elif (lambda: [print("kon"), print("nichiwa")])() and a == 4:
__print("hogefuga")
a = 4
if (lambda: [print("hello"), print("world")])() and a == 3:
__print("foobar")
elif (lambda: [print("kon"), print("nichiwa")])() and a == 4:
__print("hogefuga")
565デフォルトの名無しさん
2021/02/20(土) 02:07:34.86ID:nciJ6+jd >>559
552だけどオレが思いついたのはその方法。
この手の処理て模範解答的にはどうやってやるんだろう?
フラグ立ててフラグが真じゃなければ次のifブロックに行かないとかやってたけど。
関数にするとコードが見にくくなるし、一回しか通らない処理を関数にするのも無駄なような。
オレが新入社員のときにやったCOBOLもどきのIDL2にはblock文てのはあって一回だけ実行するfor文みたいなものがあった。
552だけどオレが思いついたのはその方法。
この手の処理て模範解答的にはどうやってやるんだろう?
フラグ立ててフラグが真じゃなければ次のifブロックに行かないとかやってたけど。
関数にするとコードが見にくくなるし、一回しか通らない処理を関数にするのも無駄なような。
オレが新入社員のときにやったCOBOLもどきのIDL2にはblock文てのはあって一回だけ実行するfor文みたいなものがあった。
566デフォルトの名無しさん
2021/02/20(土) 02:40:31.51ID:56yjs2OO >>564
コードから意図が全く読めんからあかん
コードから意図が全く読めんからあかん
567デフォルトの名無しさん
2021/02/20(土) 08:48:49.94ID:Y+RPXUXT 自分なら>>561にするな
アーリーリターン
アーリーリターン
568デフォルトの名無しさん
2021/02/20(土) 08:49:50.45ID:/remXlTv >>565
前処理とifがあるなら関数にまとめてもいいかも。
def processA():
前処理A
if 条件A:
処理A
:
processA()
processB()
processC()
せっかくgoto追加してくれたんだから使えばいいか。
前処理とifがあるなら関数にまとめてもいいかも。
def processA():
前処理A
if 条件A:
処理A
:
processA()
processB()
processC()
せっかくgoto追加してくれたんだから使えばいいか。
569デフォルトの名無しさん
2021/02/20(土) 09:25:41.17ID:Y+RPXUXT >>554のいう前処理がわからんけど
それぞれでif文書いて、条件に早めにFalse返す関数使えば、別にネストもする必要ないじゃん
前処理って何やってんだよ
どうしても各分岐の前にがっつり処理しないとだめなんか?
それぞれでif文書いて、条件に早めにFalse返す関数使えば、別にネストもする必要ないじゃん
前処理って何やってんだよ
どうしても各分岐の前にがっつり処理しないとだめなんか?
570デフォルトの名無しさん
2021/02/20(土) 12:42:23.67ID:lyTdLi7+ >>569
コードを晒すとこういうことをやってる。
これだとif elif elseじゃ書けないよな。
関数にするにしてもそれぞれやってることが違う。
559みたいにforを使ってみた例。
#ifグループの始まり
for i in range(1):
--o_btn=driver.find_elements_by_xpath('//input[@class="button"]')
--if len(o_btn)>0:
----f_x=f_x+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_set>input')
--if len(o_btn)>0:
----f_y=f_y+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_back>input')
--if len(o_btn)>0:
----f_z=f_z+1
----break
#ifが真だったらここに飛びたい。
コードを晒すとこういうことをやってる。
これだとif elif elseじゃ書けないよな。
関数にするにしてもそれぞれやってることが違う。
559みたいにforを使ってみた例。
#ifグループの始まり
for i in range(1):
--o_btn=driver.find_elements_by_xpath('//input[@class="button"]')
--if len(o_btn)>0:
----f_x=f_x+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_set>input')
--if len(o_btn)>0:
----f_y=f_y+1
----break
--o_btn=driver.find_elements_by_css_selector('div.btn_back>input')
--if len(o_btn)>0:
----f_z=f_z+1
----break
#ifが真だったらここに飛びたい。
571デフォルトの名無しさん
2021/02/20(土) 12:57:26.42ID:AfgxbbrB 最初から変数3つ並べてif-elseでいいじゃん
572デフォルトの名無しさん
2021/02/20(土) 12:58:54.20ID:QmInm3o3 同時成立でも問題なさそうだけど。
573デフォルトの名無しさん
2021/02/20(土) 13:14:35.97ID:QO6ABfSl インデントが2つだったり、3つだったりばらばらで作ってしまったんですけど、コレを自動で整形する方法ってありますか??
574デフォルトの名無しさん
2021/02/20(土) 13:28:03.26ID:EQ4Fmj1U575デフォルトの名無しさん
2021/02/20(土) 14:29:20.46ID:56yjs2OO >>573
autopep8かblackで自動整形できるよ
autopep8かblackで自動整形できるよ
576デフォルトの名無しさん
2021/02/20(土) 14:32:57.68ID:TBTHb+Gp black使ってるけど1行あたりの文字数だけは弄って150にしてるわ
デフォだとキツすぎディスプレイ縦置き専用かよと
デフォだとキツすぎディスプレイ縦置き専用かよと
577デフォルトの名無しさん
2021/02/20(土) 18:32:17.48ID:56yjs2OO >>570
“ifグループ”と呼んでるものに名前をつけて関数化するほうがベターだと思うけどif-elseでも書けるよ
“ifグループ”と呼んでるものに名前をつけて関数化するほうがベターだと思うけどif-elseでも書けるよ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 「3.11の余震とは別か」「長時間避難できる場所を」 識者の見方 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- 【画像】カリカリ女、脱いだらすごい😨 [632966346]
- 膝掛け使ってる男いるでしょ
- 早大名誉教授「高市内閣の高支持率はデータ操作か、支持している日本人がアホなのか」👈核心を突いてしまう [868050967]
- 今煮込みラーメン食べながら飲んでる
