1 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:25:08.74 ID:/hGmbW/Z.net] 当スレに★Python以外のプログラミング言語での回答類を書くべからず★ 派生言語はそれぞれ専スレがある(この板にあるとは限らない)ので、そっち池。 「Ruby」「Rails」「某言語では」「クソチョンw」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。 このスレッドは「お勉強」スレのほうには書き込めない超低レベル、 もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。 へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。 ★エラーを解決したい場合★は、 表示されたエラーの全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、 実行環境(Pythonのバージョン・OSとIDEの種類およびバージョン)をシッカリ書くこと。 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 〇前スレ〇 【まず1嫁】くだすれPython(超初心者用) その56 mevius.5ch.net/test/read.cgi/tech/1640536690/ 次スレたては >>985 あたりが挑戦する。 ### END OF TEMPLATE ###
2 名前:デフォルトの名無しさん mailto:sage [2022/05/22(日) 22:37:38.56 ID:jNpDIIz5.net] 立て乙
3 名前:デフォルトの名無しさん [2022/05/24(火) 13:49:28.09 ID:cQhl8P2i.net] かわいい女の子に上目遣いで拗ねたように「いじわる」と言われると興奮するんです
4 名前:デフォルトの名無しさん [2022/06/05(日) 08:46:24.02 ID:Sg+yaBaV.net] pandasについての質問です。 "PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)"の順にデータが入ってるとします。 下記みたいな感じです。 @[0,0,2470,0,0,27] ○ A[0,0,1570,0,0,0] ☓ B[0,1580,1440,0,35,31] ○ C[0,1290,2878,0,0,31] ☓ D[2522,885,940,31,0,0] ☓ E[1527,1057,1639,28,5,31] ☓ F[1527,1457,1639,28,26,31] ○ ○をつけたデータが残したいデータになります。 @AのようにPRICE>0のPRICEデータが1つの場合は、該当するP(%)データが25より大きい場合に残したいです。 BCのようにPRICE>0のPRICEデータが2つの場合は、該当するP(%)データがどちらも20より大きい場合に残したいです。 DEFのようにPRICE>0のPRICEデータが3つの場合は、該当するP(%)データがどちらも15より大きい場合に残したいです。 調べたら下記のような感じでやっていくことがわかったのですが、思うように整理できません。 df = pd.read_sql(sql=f'SELECT "PRICE1","PRICE2","PRICE3","P1(%)","P2(%)","P3(%)" FROM {schema}."{get_table}";', con=conn) df = df[(df["PRICE1"]>0) | (df["PRICE2"]>0) | (df["PRICE3"]>0) | (df["P1(%)"]>25) | (df["P1(%)"]>25) | (df["P1(%)"]>25)] df = [tuple(x) for x in df.values] 誰か助けてくだしあ
5 名前:デフォルトの名無しさん [2022/06/05(日) 11:40:11.32 ID:ocueg4o5.net] よーしらんが、論理回路の問題なんだろ? なら一時的にif(if(if))みたいなネストの深いクソコード書いて、細かくデバック通すか 関数宣言をさぼらずに、(df["PRICE1"]>0)や(df["P1(%)"]>25)に分かりやすい関数名付けたほうがいいんじゃねえかな
6 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 12:23:41.62 ID:NOI2DZIw.net] datetime.datetimeクラスの順序比較に手を加えたくなって、モジュールのソースをみたら_cmp()メソッドが比較の本体だったので ttps://techiedelight.com/compiler/?zbRJ というコードで試したのですが、そもそも_cmp()が呼ばれません これって、私は何を間違えているのでしょう? (なお、当初やりたかったこと自体は__eq__, __gt__, __ge__, __le__, __lt__, __ne__を直接オーバーライドすることで達成できました)
7 名前:デフォルトの名無しさん [2022/06/05(日) 12:40:05.08 ID:u0j22vIZ.net] 条件に合うものを残すより 条件に合わないものを消していく方が効率が良い
8 名前:デフォルトの名無しさん [2022/06/05(日) 12:44:51.80 ID:u0j22vIZ.net] >>6 https://qiita.com/nkennek/items/8c54365cb873cca8730a https://www.delftstack.com/ja/howto/python/python-private-method/ https://blowup-bbs.com/python-class3/
9 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 14:26:03.02 ID:NOI2DZIw.net] >>8 お返事ありがとうございます しかし、_cmpのアンダースコアは一つですし、AttributeErrorが発生したりせず単に呼ばれないだけ(比較自体は出来ているので親クラスの_cmp()が呼ばれているはず)です マングル化に関するページをご紹介いただいた意味がよく分かりません
10 名前:デフォルトの名無しさん [2022/06/05(日) 14:57:15.34 ID:ocueg4o5.net] def もれそう(arg1, arg2, arg3, arg4, arg5, arg6): __うんこ = [arg1, arg2, arg3] __おもさ = [arg4, arg5, arg6] __def 内容量(element): ____return len(list(filter(lambda x: x > 0, element))) __def 耐久力(element, n): ____return list(filter(lambda x: x > n, element)) __if 内容量(うんこ) == 1: ____return 耐久力(おもさ, 25) __elif 内容量(うんこ) == 2: ____return 耐久力(おもさ, 20) __elif 内容量(うんこ) == 3: ____return 耐久力(おもさ, 15) df = もれそう(茶色1,茶色2,茶色3,重量1, 重量2, 重量3) pandasのことよー知らんから>>5 で適当なこと書いちゃったけど、こういうことだよな どっかで関数一覧に目を通すなりして、array関数とかcallback関数の使い方覚えたほうがいいぞ
11 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 15:01:54.57 ID:v/p+BagL.net] >>4 sqlでの抽出は知らんけど、他の方法で抽出でけた import pandas as pd data=[ [0,0,2470,0,0,27], [0,0,1570,0,0,0], [0,1580,1440,0,35,31], [0,1290,2878,0,0,31], [2522,885,940,31,0,0], [1527,1057,1639,28,5,31], [1527,1457,1639,28,26,31]] df = pd.DataFrame(data) def check(row): d = {1:25, 2:20, 3:15} return all(i[1] > d[len(row)] for i in row) # 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック [check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]] [True, False, True, False, False, False, True] # ブールインデックス作成 df2 = df[_] # ブールインデックスで抽出 df2.values.tolist() [[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
12 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 15:18:41.40 ID:v/p+BagL.net] プロンプトが無くて入力と出力が分かりにくかったので、プロンプト追加 >>>import pandas as pd >>>data=[ ・・・ [0,0,2470,0,0,27], ・・・ [0,0,1570,0,0,0], ・・・ [0,1580,1440,0,35,31], ・・・ [0,1290,2878,0,0,31], ・・・ [2522,885,940,31,0,0], ・・・ [1527,1057,1639,28,5,31], ・・・ [1527,1457,1639,28,26,31]] >>>df = pd.DataFrame(data) >>>def check(row): ・・・ d = {1:25, 2:20, 3:15} ・・・ return all(i[1] > d[len(row)] for i in row) # 各PRICEと各P(%)の組をzipで作って、その中からPRICEがゼロのものを削除したものをcheck関数でチェック >>>[check([k for k in j if k[0]>0]) for j in [list(zip(i[:3], i[3:])) for i in df.values.tolist()]] [True, False, True, False, False, False, True] # ブールインデックス作成 >>>df2 = df[_] # ブールインデックスで抽出 >>>df2.values.tolist() [[0, 0, 2470, 0, 0, 27], [0, 1580, 1440, 0, 35, 31], [1527, 1457, 1639, 28, 26, 31]]
13 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 15:20:27.82 ID:joAjo/JZ.net] >>5 >>10 >>11 ありがとうございます! 家帰ったら内容目通していじってみます
14 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 15:21:54.55 ID:joAjo/JZ.net] >>12 正直かなり助かりました。 まだ家帰れてないので試せてないけど、かなり行けそうなイメージです
15 名前:デフォルトの名無しさん [2022/06/05(日) 15:24:04.14 ID:udiiYXiV.net] >>9 >親クラスの_cmp()が呼ばれているはず 確かめた?
16 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 15:33:26.33 ID:NOI2DZIw.net] >>15 お返事ありがとうございます。親クラスのメソッドが呼び出されていることを実際にどう確認すればいいのか思いつけないレベルです(デバッガ? トレース?) ただ単に、例外が送出されずに比較結果が表示されたので、何らかの比較するメソッドが呼ばれたのだろうと想像しただけです 例えば、foo <= datetime.datetime.max が評価されるとき 1) foo.__le__(datetime.datetime.max) が呼ばれる 2) fooには__le__メソッドが定義されていないので親クラスに遡って datetime.datetime.__le__(self=foo, other=datetime.datetime.max) が呼ばれる 3) ttps://github.com/python/cpython/blob/main/Lib/datetime.py の2110行 self._cmp(other) へ進む ここでself=foo, other=datetime.datetime.max なので、 foo._cmp(other=datetime.datetime.max) と、 ttps://techiedelight.com/compiler/?zbRJ の4行目で定義したメソッドが呼ばれる と考えていたのですが……継承に関する理解がどっかで間違っているのでしょうね
17 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 15:56:02.34 ID:U0Dsg58D.net] 俺も気になる。何で_cmp呼ばれんの?
18 名前:デフォルトの名無しさん [2022/06/05(日) 18:26:33.72 ID:NPpCVuaP.net] foo を造ってるのが now() なので foo の型が datetime のままなんじゃね
19 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 19:36:27.49 ID:NPpCVuaP.net] print(super(DatetimeTest, self)._cmp) ↓ AttributeError: 'super' object has no attribute '_cmp'
20 名前:デフォルトの名無しさん [2022/06/05(日) 19:37:47.11 ID:NPpCVuaP.net] こっちは動く https://techiedelight.com/compiler/?Jmnq
21 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 19:39:44.56 ID:v/p+BagL.net] >>12 allの引数が空の場合(全てのPRICEがゼロの場合)にTrueを返すのでcheck関数修正 def check(row): d = {1:25, 2:20, 3:15} return all(i[1] > d[len(row)] for i in row) if row else False
22 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 20:20:03.24 ID:x6+Exssm.net] ジェネレーター式まで学習が進んだが ちゃんと慣れないと突然でてきたとき「なんだこれ!?」ってなるとおもうわ 見やすくするためのものだからそんな複雑な構造で出てくることはないと思うが
23 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 21:55:46.01 ID:NOI2DZIw.net] ID:NPpCVuaPさん、ありがとうございます > foo を造ってるのが now() なので > foo の型が datetime のままなんじゃね type(foo)はちゃんと"<class '__main__.DatetimeTest'>"になっていましたので、その線は無さそうです で、試していただいた ttps://techiedelight.com/compiler/?Jmnq ですと、>>16 で私が考えたとおりの動作をしているように見えますね となると、datetime.datetimeとHogeで何が違うのか……ちょっと脳味噌が煮えてきたので、一旦専ブラを閉じて頭を冷やします
24 名前:デフォルトの名無しさん mailto:sage [2022/06/05(日) 23:10:11.97 ID:v/p+BagL.net] >>23 dirで_cmpが見えるか見えないかの違いじゃないでしょうか >>20 のdir(Hoge(0)), dir(Fuga(0))は伴に_cmpが見えますが dir(datetime.datetime.now())は_cmpが表示されないのでアクセスできないんですよ
25 名前:デフォルトの名無しさん mailto:sage [2022/06/06(月) 08:54:18.93 ID:9r9DwyjN.net] 見えないのはわかったけどその挙動を実現するための言語仕様ってあるんだっけ?
26 名前:デフォルトの名無しさん [2022/06/06(月) 09:18:43.10 ID:Ug3DHjCK.net] 本体はこっちじゃね https://github.com/python/cpython/blob/main/Modules/_datetimemodule.c
27 名前:デフォルトの名無しさん [2022/06/06(月) 09:23:35.02 ID:Ug3DHjCK.net] まずやるべきことは >15 だろ
28 名前:デフォルトの名無しさん mailto:sage [2022/06/06(月) 09:43:37.49 ID:zYl8ARh2.net] やりましたみなさん、分かりました! datetime.pyの最後のにfrom _datetime import *をtryする記述があり 成功したら_cmpなどを消す処理が書いてあるんですが、この_datetimeをimportする関連個所を ごっそりコメントアウトして import datetime dir(datetime.datetime.now())
29 名前: したら_cmpが表示されましたよ、つまりdatetimeの本体は_datetimeで>>26 のヤツじゃないでしょうか [] [ここ壊れてます]
30 名前:6, 9, 16, 23 mailto:sage [2022/06/06(月) 09:50:52.59 ID:PsDk58Y7.net] >>24 お返事ありがとうございます 呼べないのはDatetimeTest._cmp()であってdatetime.datetime._cmp()は呼べている(ように見える)わけですから datetime.datetime._cmpが見えないことに意味があるのかどうか……一晩経っても脳が煮えたままです ちなみにdir(foo)だと_cmpが見えてますね…… >>26-28 とりあえず知識もスキルもないなりに手を動かそうと思って、 ttps://techiedelight.com/compiler/?zbRJ のimport datetimeの位置に datetimeモジュールのソースをそのまま全部貼り付けてあれこれ試したところ(そのコードはでかいしTECHIE DELIGHTの利用規約的にクリアかどうか分からないのでアップしません) ttps://github.com/python/cpython/blob/main/Lib/datetime.py の最後、2614行目以降が無ければ>>16 で私が考えたとおりの動作になる、つまりfoo._cmp()が呼ばれますが、2614行目以降がそのままだと呼ばれませんでした ということで、遅ればせながら>>28 さんと同じ結果に辿り着けました Cで書かれたモジュールを読み込んで、未使用の名前を削除して、という工程の中になにかありそう、というあたりが今のところ私の限界です
31 名前:デフォルトの名無しさん mailto:sage [2022/06/06(月) 09:54:12.32 ID:Ug3DHjCK.net] なるほど _cmp は存在しなかったで FA
32 名前:デフォルトの名無しさん mailto:sage [2022/06/06(月) 09:54:13.01 ID:PsDk58Y7.net] 皆さまいろいろとありがとうございます やはり>>27 さんのおっしゃるとおり、まず>>15 さんの指摘を確かめなければならなかったようですね
33 名前:デフォルトの名無しさん mailto:sage [2022/06/06(月) 09:56:28.25 ID:9r9DwyjN.net] >>28 まじか グローバルにも_cmpがあるからそれを消すためのコードと思いきや、datetime.datetime._cmpも消えるのね…
34 名前:デフォルトの名無しさん [2022/06/06(月) 10:03:42.68 ID:Ug3DHjCK.net] >>29 そこで削除されてる _cmp は module のグローバルの _cmp であって 各クラス内の _cmp は削除されてないようにも観える
35 名前:デフォルトの名無しさん [2022/06/06(月) 10:05:27.81 ID:Ug3DHjCK.net] >>32 かぶったが 解せぬ
36 名前:デフォルトの名無しさん mailto:sage [2022/06/06(月) 10:13:54.31 ID:zYl8ARh2.net] >>32 グローバルの_cmpを消す処理で合ってると思いますよ 通常は _datetime (たぶん本体がC言語)をimportする、この中にはself._cmpが無いのでdirで見えないし グローバルの_cmpを消す処理でグローバルの方も見えない _datetimeのimportに失敗したらdatetime.pyに書かれているdatetimeクラスが使われるし グローバルの_cmpを消す処理が実行されないので dir(datetime)でグローバルの_cmpが見えるし、dir(datetime.datetime)でself._cmpが見える
37 名前:デフォルトの名無しさん [2022/06/07(火) 17:25:02.03 ID:NE4LVa9l.net] なんのための fake
38 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 06:15:05 ID:8a3xVi5I.net] python 2.x 系の環境です。 file_path を関連付けで実行させるために下記コードを記述しました。 目的としては引数の文字列を unicode として渡したいです。 subprocess.Popen(「'start', file_path], shell=True) この際、引数は cp932 として扱われるようで、 file_path を cp932 にencode しないと失敗します。 unicode にしかない文字が含まれる場合があるので unicode のまま渡したいのですが Popen 側で引数を unicode として受け取れる方法はありますか? encoding= は Python 2.x は未対応、 またパイプを使って chcp 65001 を先に実行させてもダメでした。
39 名前:37 [2022/06/08(水) 07:56:30.16 ID:Ty02xZw9.net] win環境なのですが2.x系では内部で ANSI版のCreateProcessAを呼び出しているとのことで そもそもダメということが分かりました ctypesなど使ってCreateProcessWを直接呼び出すなどするしかないみたいです
40 名前:デフォルトの名無しさん [2022/06/08(水) 12:41:12.70 ID:P10Nnex8.net] 今のWindowsおすすめpython環境はなんですか? 教育用?にWindowsでのpython環境を作りたいです。 無印python、anaconda、PyCharmはどれがいいでしょうか。 エディタはVSCodeの利用を考えてます。 自分は普段、LinuxやWSL2でemacsを使っているオールドタイプです。 教えて下さい
41 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 13:17:16.31 ID:Ylodbyzl.net] google colaboratry で十分
42 名前:デフォルトの名無しさん [2022/06/08(水) 13:42:31.40 ID:rPUwIz8x.net] たとえば以下のようなリストが即興で欲しくなった場合ってどうしてます? [[0, 1, 2], [3, 4, 5], [6, 7, 8], [9, 10, 11]…………] (下の例では0~12まで) ググった結果numpyで配列を作ってtolistでリスト化する方法は見つけたんですけど もっとぱっと書けないですかね? import as numpy np arr_2d = np.arange(12).reshape((4, 3)) print(arr_2d.tolist())
43 名前:デフォルトの名無しさん [2022/06/08(水) 13:43:05.22 ID:rPUwIz8x.net] 0~12じゃねえわ11だった
44 名前:デフォルトの名無しさん [2022/06/08(水) 15:41:41.08 ID:Mk/J73jd.net] >>39 前は素の python 入れて pip してた Anaconda + conda 使ったこともある Thonny + pip も良いと思う
45 名前:デフォルトの名無しさん [2022/06/08(水) 15:45:15.80 ID:Mk/J73jd.net] np.arange(12).reshape((4, 3)).tolist() [[y * 3 + x for x in range(3)] for y in range(4)]
46 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 15:50:39.30 ID:WqwdOMp+.net] >>41 [list(range(i, i+3)) for i in range(12)[::3]]
47 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 15:55:39.94 ID:SMHvnx3K.net] import more_itertools list(more_itertools.chunked(range(12), 3))
48 名前:デフォルトの名無しさん [2022/06/08(水) 16:25:32.81 ID:KT22GtKj.net] [np.array([0, 1, 2]) + 3*_ for _ in range(4)]
49 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 18:22:00.06 ID:WqwdOMp+.net] >>41 さらに短くできた [list(range(i, i+3)) for i in range(0,12,3)] もう出尽くしたやろ、ワイのが一番やな、組み込みのみだし直感的だし 応用もきくし、ワイが一番やろw
50 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 18:40:08.42 ID:3lPgPXCP.net] >>39 WinPython+VScodeが正解だぞ anacondaは、Pythonを習得し、Pythonと外部ライブラリの境界を把握できるように なった人のうち、anacondaを必要とする人だけが使うものだ
51 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 19:34:37.02 ID:nVdli+zf.net] >>39 Pythonで何やりたいのかわかんねーからてきとーだけど Dockerコンテナにanacodaとvscodeが正解
52 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 19:37:13.76 ID:d7/kuIlk.net] dockerはdockerの勉強になるしwindowsだと安定しないから要らんな
53 名前:デフォルトの名無しさん [2022/06/08(水) 23:45:53.43 ID:rPUwIz8x.net] >>44-48 ありがとう、勉強になった!
54 名前:デフォルトの名無しさん [2022/06/09(木) 03:35:46.64 ID:aPNi5OBU.net] pythonのライブラリを調べているのですが C言語で書かれている部分(cソースコード)には どうやってたどり着けばいいのでしょうか? 例としてrandom.random()が0.0以上1.0未満の浮動小数点数を かえしますが、どうゆう仕組みで返すのかを調べたいのです
55 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 04:32:16.69 ID:FzQACe2i.net] >>53 コンパイル済みのを一般に調べるのは無理。標準ライブラリなら例えばcpython のリポジトリから探せる。https://github.com/python/cpython
56 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 05:11:23 ID:aPNi5OBU.net] >>54 回答ありがとうございました _randommodule.cまでたどりつきました 少しハードルが高いですが頑張って理解に努めようと思います。
57 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 05:17:33 ID:FzQACe2i.net] >>55 蛇足かもですがpython の乱数はメルセンヌツイスタというアルゴリズムなので調べてみるといいかもしれません
58 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 05:44:46.90 ID:aPNi5OBU.net] >>56 _randommodule.cの中に日本人の名前があったので 何故だろうと思いましたがメルセンヌツイスタで検索したら つながりました。感謝です
59 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 18:02:41.85 ID:i3H8tE1L.net] >>39 公式Python+PyCharmが便利
60 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 18:22:37.05 ID:8SlPB6O/.net] 教育用なら圧倒的シェアを獲得しているVSCodeの方が良いと思うよ
61 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 18:36:52.52 ID:ZOUr8HN/.net] pycharmはなぁ…
62 名前:デフォルトの名無しさん [2022/06/09(木) 22:20:46.40 ID:KIKA+I2C.net] >>39 教育に、環境構築の手間を含められるかどうかによるかな。 純粋にプログラムとは何かを知ってもらうだけだったらcolab Pythonスクリプトをちゃんと動かせるようになることが目標だったらWindows用のPythonかなぁ。
63 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 22:22:21.55 ID:1X1IjXim.net] ideoneでいいじゃん。 colabより高性能だよ。 公開されてしまうが。
64 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 23:14:03 ID:gzzbtW8N.net] そいや親戚のとこの子供が学校でPythonのプログラムやっているというのだが、 ああいうのって、どういう仕様の実行環境なんだ? グラフや絵を描けたり、画面上のピアノの鍵盤叩くと音が出せるとか、 なにやら色々とできるようなのだが というかpipであれこれ山盛りにされてる環境にも思える Scratchだと思ってた
65 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 23:16:22 ID:1tSt6fQl.net] ideoneとColab(Jupyter)だと機能がダンチだから土俵がちがう
66 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 23:20:50 ID:1tSt6fQl.net] >>63 MakeCodeとかUI Flowのあたり? ブロックプロラミングとPythonを行ったり来たりできる
67 名前:デフォルトの名無しさん [2022/06/10(金) 03:26:54.12 ID:v7zmV4Lt.net] vscodeって途中のコードいじってると下記の折り畳み全部開いちゃうじゃん。あれ超鬱陶しい
68 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 12:08:03.84 ID:sFhUkWJJ.net] 関数の引数型説明(アノテーション?)をつけるとき、intやstr等の組込み型ではなく、クラスのインスタンスの場合どのように書けばよいでしょうか
69 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 12:38:18.30 ID:Lq4KcKs2.net] https://docs.djangoproject.com/ja/3.2/intro/tutorial05/ このページの最初のコードをshellモードでやってもtimezone has no 'now'って出るんだけどなんでだよ ついでにいうとsettings.pyでuse_tz = Falseにすると逆に日本時間になってTrueにするとUTCになる
70 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 14:22:36.04 ID:Lq4KcKs2.net] 解決 from django.utils import timezone じゃなくて from datetime import timezoneって書いてた
71 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 10:31:55 ID:yOzdOwl+.net] 超初心者です!古いMacでも出来ますか?
72 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 11:18:37.09 ID:85fUpHB3.net] >>70 https://homepages.cwi.nl/~jack/macpython/index.html これだとバージョン古いからMac-on-Linux化してLinux側で動かすか リモートでもいいならWebブラウザのGoogle Colabやクラウド上のLinuxでやれる
73 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 11:20:32.01 ID:IHQzlSUe.net] >>67 例えばpandas(pd)のデータフレーム(df)なら import pandas as pd def some_func(df: pd.DataFrame, some_num: int = 42) -> pd.DataFrame: df2 = df.cooy() # 処理 return df2
74 名前:67 mailto:sage [2022/06/12(日) 06:48:37.19 ID:0q70LBVd.net] >>72 ありがとうございます
75 名前:デフォルトの名無しさん [2022/06/12(日) 08:55:03.32 ID:LQ+2P+LS.net] サポート期限すぎたMac使ってそう
76 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 18:06:38.20 ID:9B8stwi/.net] leetcodeの問題解いてるんだけどさ コードをvscodeとかのエディタ上で再現しようとしてもinputはleetcode側がやってるから、コードコピペしてもうまく動かないってことか? Input: strs = ["flower","flow","flight"] class Solution: def longestCommonPrefix(self, strs: List[str]) -> str: # 回答をここに書いた こういうクラスを実行する場合って solu = Solution() solu.longestCommonPrefix() こんな感じにすると思うんだが、エラーが NameError: name 'List' is not defined とかになるんだよね
77 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 18:18:33.18 ID:d5yVlq+K.net] そのくらいはimportしろよ
78 名前:デフォルトの名無しさん [2022/06/12(日) 18:22:48.72 ID:V8Tt9ICP.net] エラー文も読めないのか 新しいpythonならlist[str]だバカタレ
79 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 18:23:08.52 ID:fSdhUbKc.net] >>75 そこだけの話でいうと from typing import * だけど、問題のコードが古い 今はListをlistと書くようになったから
80 名前:デフォルトの名無しさん [2022/06/12(日) 18:42:58.91 ID:w/rq6Our.net] nameErrorとかattributeErrorと最低限のエラーぐらい読めるようになろう 問題といてる場合じゃない
81 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 19:23:48.95 ID:9B8stwi/.net] >>78 なるほどそういうことか ありがとう
82 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 03:56:57.46 ID:i0EppADi.net] >>1 def reverse(url): return url[::-1] lst = [ ['=v?hc','taw/','moc.e'], ['.www','//:sp','tth'], ['but','uoy'] ] yt = ''.join( lst[0] + lst[2] + lst[1] ) id_lst = ['MOYukLAWwkK', 'A4c_Lbwf-Jw', '0glgH5rR_po'] for id in id_lst: print( reverse( id + yt ) ) "".join("ht_t_ps://ja_.wiki_pedia.o_rg/_wiki/朝鮮神宮".split("_"))
83 名前:デフォルトの名無しさん [2022/06/17(金) 05:22:40.60 ID:eircCDFG.net] >>1 reverse = lambda *argv: [ '//:sptth'[::-1] + url[::-1] for url in argv ] lst_url = reverse('IPq5AyxxvpM=v?hctaw/moc.ebutuoy.www', '0EgauYFUN8N=v?hctaw/moc.ebutuoy.www', '48132/-/selcitra/pj.tnediserp', '4456111984139806941/sutats/oobnolihsusta/moc.rettiwt', '81605591320X602502201/txt/elpmis/pj.og.ldn.iakkok', '1021=morf?15978662os/hctaw/pj.oedivocin.www', '8xebddeeiYY=v?hctaw/moc.ebutuoy.www') print(*lst_url, sep='\n')
84 名前:デフォルトの名無しさん [2022/06/17(金) 08:29:57.19 ID:doPvN/Dz.net] これを三項演算子で書くことってできますかね? if a: if b or c: print("1") else: pring("2")
85 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 08:40:15.00 ID:impPpfbo.net] インデントどこやった
86 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 09:16:26.10 ID:b18JcTPN.net] 5chはインデント未対応なので pythonコードを貼るときは 行頭インデントを全角アンダーバーで 埋めてください
87 名前:デフォルトの名無しさん [2022/06/17(金) 09:26:11.91 ID:doPvN/Dz.net] こんなかんじです a b c は true か falseが入る変数です if a: _if b or c: __print("1") else: _print("2")
88 名前:デフォルトの名無しさん [2022/06/17(金) 09:35:01.18 ID:nb2nCyEf.net] >>86 print((1 if b or c else "") if a else 2) 三項演算子ならば全ケース対応する必要がある a and not (b or c)の場合は空文字列とした
89 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 09:52:15.09 ID:Ws3c1l54.net] 回答になってないが if not a: __print(2) elif b or c: __print(1) でよくない?
90 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 12:17:47 ID:uqpMsu92.net] a = True, b = False, c = Falseのケースを見落としてるのか 意図して何もしてないのかが読み手にはわからないからすごく気持ち悪い
91 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 12:40:54 ID:u2aqxJXf.net] テキストだと以下のようになるんだけど # 整数(Python の int 型)の要素をもつリストを与えた場合 x = np.array([1, 2, 3]) x.dtype 結果 dtype('int64') 自分の環境だとdtype('int32')になるんだよね これってあんまり気にしなくて良い部分? ちなみに以下のはテキストと同じ結果になる # 浮動小数点数(Python の float 型)の要素をもつリストを与えた場合 x = np.array([1., 2., 3.]) x.dtype 結果 dtype('float64')
92 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 13:02:51.91 ID:sBNVv+WO.net] numpyのintはC言語のlong あなたの環境はWindowsで本はLinuxなのだろう
93 名前:デフォルトの名無しさん [2022/06/17(金) 16:24:32.82 ID:G79h5Zer.net] >>87 無駄な改行が増えるので仕様が異なる
94 名前:デフォルトの名無しさん [2022/06/17(金) 16:26:41.62 ID:G79h5Zer.net] >>90 OSの32/64と pythonの32/64と それぞれどっちが動いてるかは意識するべき
95 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 17:59:15.20 ID:JzEGKltv.net] >>93 それとは別の話なんやで
96 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 19:32:27.63 ID:Ta4m0XWe.net] >>82 'stnemugra-gnikcapnu-tut#lmth.wolflortnoc/lairotut/3/aj/gro.nohtyp.scod//:sptth'[::-1]
97 名前:デフォルトの名無しさん mailto:sage [2022/06/17(金) 20:07:00 ID:IFnpw5My.net] jupyternotebook で実行中のセルからほかのセルを呼び出して実行できませんか? マジックコマンドをみてもそれらしきものがないような vbaでいえば、セルをプロシージャ、ノートブックをモジュールのように扱いたいのですが・・
98 名前:デフォルトの名無しさん [2022/06/17(金) 23:55:43.50 ID:doPvN/Dz.net] 86ですが回答ありがとうございました。 これでいけそうです print("b") if not a else print("a") if b or c else print("c")
99 名前:デフォルトの名無しさん mailto:sage [2022/06/18(土) 01:17:30.65 ID:lHai4Yqe.net] >>96 モジュール化するのはだめなんか? インポートしたらいいじゃまいか
100 名前:デフォルトの名無しさん [2022/06/18(土) 11:02:31.05 ID:0BdDrqNN.net] >>90 気になるなら x = np.array([1, 2, 3], dtype=np.float32)