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

■ このスレッドは過去ログ倉庫に格納されています
2022/05/22(日) 22:25:08.74ID:/hGmbW/Z
当スレに★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公式◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

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

次スレたては >>985 あたりが挑戦する。
### END OF TEMPLATE ###
2022/05/22(日) 22:37:38.56ID:jNpDIIz5
立て乙
3デフォルトの名無しさん
垢版 |
2022/05/24(火) 13:49:28.09ID:cQhl8P2i
かわいい女の子に上目遣いで拗ねたように「いじわる」と言われると興奮するんです
4デフォルトの名無しさん
垢版 |
2022/06/05(日) 08:46:24.02ID:Sg+yaBaV
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.32ID:ocueg4o5
よーしらんが、論理回路の問題なんだろ?
なら一時的にif(if(if))みたいなネストの深いクソコード書いて、細かくデバック通すか
関数宣言をさぼらずに、(df["PRICE1"]>0)や(df["P1(%)"]>25)に分かりやすい関数名付けたほうがいいんじゃねえかな
2022/06/05(日) 12:23:41.62ID:NOI2DZIw
datetime.datetimeクラスの順序比較に手を加えたくなって、モジュールのソースをみたら_cmp()メソッドが比較の本体だったので
ttps://techiedelight.com/compiler/?zbRJ というコードで試したのですが、そもそも_cmp()が呼ばれません
これって、私は何を間違えているのでしょう? (なお、当初やりたかったこと自体は__eq__, __gt__, __ge__, __le__, __lt__, __ne__を直接オーバーライドすることで達成できました)
7デフォルトの名無しさん
垢版 |
2022/06/05(日) 12:40:05.08ID:u0j22vIZ
条件に合うものを残すより
条件に合わないものを消していく方が効率が良い
8デフォルトの名無しさん
垢版 |
2022/06/05(日) 12:44:51.80ID:u0j22vIZ
>>6
https://qiita.com/nkennek/items/8c54365cb873cca8730a
https://www.delftstack.com/ja/howto/python/python-private-method/
https://blowup-bbs.com/python-class3/
2022/06/05(日) 14:26:03.02ID:NOI2DZIw
>>8
お返事ありがとうございます
しかし、_cmpのアンダースコアは一つですし、AttributeErrorが発生したりせず単に呼ばれないだけ(比較自体は出来ているので親クラスの_cmp()が呼ばれているはず)です
マングル化に関するページをご紹介いただいた意味がよく分かりません
10デフォルトの名無しさん
垢版 |
2022/06/05(日) 14:57:15.34ID:ocueg4o5
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関数の使い方覚えたほうがいいぞ
2022/06/05(日) 15:01:54.57ID:v/p+BagL
>>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]]
2022/06/05(日) 15:18:41.40ID:v/p+BagL
プロンプトが無くて入力と出力が分かりにくかったので、プロンプト追加

>>>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]]
2022/06/05(日) 15:20:27.82ID:joAjo/JZ
>>5>>10>>11
ありがとうございます!
家帰ったら内容目通していじってみます
2022/06/05(日) 15:21:54.55ID:joAjo/JZ
>>12
正直かなり助かりました。
まだ家帰れてないので試せてないけど、かなり行けそうなイメージです
15デフォルトの名無しさん
垢版 |
2022/06/05(日) 15:24:04.14ID:udiiYXiV
>>9
>親クラスの_cmp()が呼ばれているはず

確かめた?
2022/06/05(日) 15:33:26.33ID:NOI2DZIw
>>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行目で定義したメソッドが呼ばれる

と考えていたのですが……継承に関する理解がどっかで間違っているのでしょうね
2022/06/05(日) 15:56:02.34ID:U0Dsg58D
俺も気になる。何で_cmp呼ばれんの?
18デフォルトの名無しさん
垢版 |
2022/06/05(日) 18:26:33.72ID:NPpCVuaP
foo を造ってるのが now() なので
foo の型が datetime のままなんじゃね
2022/06/05(日) 19:36:27.49ID:NPpCVuaP
print(super(DatetimeTest, self)._cmp)

AttributeError: 'super' object has no attribute '_cmp'
20デフォルトの名無しさん
垢版 |
2022/06/05(日) 19:37:47.11ID:NPpCVuaP
こっちは動く
https://techiedelight.com/compiler/?Jmnq
2022/06/05(日) 19:39:44.56ID:v/p+BagL
>>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
2022/06/05(日) 20:20:03.24ID:x6+Exssm
ジェネレーター式まで学習が進んだが
ちゃんと慣れないと突然でてきたとき「なんだこれ!?」ってなるとおもうわ

見やすくするためのものだからそんな複雑な構造で出てくることはないと思うが
2022/06/05(日) 21:55:46.01ID:NOI2DZIw
ID:NPpCVuaPさん、ありがとうございます

> foo を造ってるのが now() なので
> foo の型が datetime のままなんじゃね
type(foo)はちゃんと"<class '__main__.DatetimeTest'>"になっていましたので、その線は無さそうです

で、試していただいた ttps://techiedelight.com/compiler/?Jmnq ですと、>>16で私が考えたとおりの動作をしているように見えますね
となると、datetime.datetimeとHogeで何が違うのか……ちょっと脳味噌が煮えてきたので、一旦専ブラを閉じて頭を冷やします
2022/06/05(日) 23:10:11.97ID:v/p+BagL
>>23
dirで_cmpが見えるか見えないかの違いじゃないでしょうか

>>20 のdir(Hoge(0)), dir(Fuga(0))は伴に_cmpが見えますが
dir(datetime.datetime.now())は_cmpが表示されないのでアクセスできないんですよ
2022/06/06(月) 08:54:18.93ID:9r9DwyjN
見えないのはわかったけどその挙動を実現するための言語仕様ってあるんだっけ?
26デフォルトの名無しさん
垢版 |
2022/06/06(月) 09:18:43.10ID:Ug3DHjCK
本体はこっちじゃね
https://github.com/python/cpython/blob/main/Modules/_datetimemodule.c
27デフォルトの名無しさん
垢版 |
2022/06/06(月) 09:23:35.02ID:Ug3DHjCK
まずやるべきことは >15 だろ
2022/06/06(月) 09:43:37.49ID:zYl8ARh2
やりましたみなさん、分かりました!

datetime.pyの最後のにfrom _datetime import *をtryする記述があり
成功したら_cmpなどを消す処理が書いてあるんですが、この_datetimeをimportする関連個所を
ごっそりコメントアウトして

import datetime
dir(datetime.datetime.now())

したら_cmpが表示されましたよ、つまりdatetimeの本体は_datetimeで>>26のヤツじゃないでしょうか
2022/06/06(月) 09:50:52.59ID:PsDk58Y7
>>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で書かれたモジュールを読み込んで、未使用の名前を削除して、という工程の中になにかありそう、というあたりが今のところ私の限界です
2022/06/06(月) 09:54:12.32ID:Ug3DHjCK
なるほど _cmp は存在しなかったで FA
2022/06/06(月) 09:54:13.01ID:PsDk58Y7
皆さまいろいろとありがとうございます
やはり>>27さんのおっしゃるとおり、まず>>15さんの指摘を確かめなければならなかったようですね
2022/06/06(月) 09:56:28.25ID:9r9DwyjN
>>28
まじか
グローバルにも_cmpがあるからそれを消すためのコードと思いきや、datetime.datetime._cmpも消えるのね…
33デフォルトの名無しさん
垢版 |
2022/06/06(月) 10:03:42.68ID:Ug3DHjCK
>>29
そこで削除されてる _cmp は module のグローバルの _cmp であって
各クラス内の _cmp は削除されてないようにも観える
34デフォルトの名無しさん
垢版 |
2022/06/06(月) 10:05:27.81ID:Ug3DHjCK
>>32
かぶったが
解せぬ
2022/06/06(月) 10:13:54.31ID:zYl8ARh2
>>32
グローバルの_cmpを消す処理で合ってると思いますよ

通常は _datetime (たぶん本体がC言語)をimportする、この中にはself._cmpが無いのでdirで見えないし
グローバルの_cmpを消す処理でグローバルの方も見えない

_datetimeのimportに失敗したらdatetime.pyに書かれているdatetimeクラスが使われるし
グローバルの_cmpを消す処理が実行されないので
dir(datetime)でグローバルの_cmpが見えるし、dir(datetime.datetime)でself._cmpが見える
36デフォルトの名無しさん
垢版 |
2022/06/07(火) 17:25:02.03ID:NE4LVa9l
なんのための fake
2022/06/08(水) 06:15:05.14ID:8a3xVi5I
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 を先に実行させてもダメでした。
3837
垢版 |
2022/06/08(水) 07:56:30.16ID:Ty02xZw9
win環境なのですが2.x系では内部で
ANSI版のCreateProcessAを呼び出しているとのことで
そもそもダメということが分かりました
ctypesなど使ってCreateProcessWを直接呼び出すなどするしかないみたいです
39デフォルトの名無しさん
垢版 |
2022/06/08(水) 12:41:12.70ID:P10Nnex8
今のWindowsおすすめpython環境はなんですか?
教育用?にWindowsでのpython環境を作りたいです。
無印python、anaconda、PyCharmはどれがいいでしょうか。
エディタはVSCodeの利用を考えてます。

自分は普段、LinuxやWSL2でemacsを使っているオールドタイプです。

教えて下さい
2022/06/08(水) 13:17:16.31ID:Ylodbyzl
google colaboratry で十分
41デフォルトの名無しさん
垢版 |
2022/06/08(水) 13:42:31.40ID:rPUwIz8x
たとえば以下のようなリストが即興で欲しくなった場合ってどうしてます?
[[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())
42デフォルトの名無しさん
垢版 |
2022/06/08(水) 13:43:05.22ID:rPUwIz8x
0~12じゃねえわ11だった
43デフォルトの名無しさん
垢版 |
2022/06/08(水) 15:41:41.08ID:Mk/J73jd
>>39
前は素の python 入れて pip してた
Anaconda + conda 使ったこともある
Thonny + pip も良いと思う
44デフォルトの名無しさん
垢版 |
2022/06/08(水) 15:45:15.80ID:Mk/J73jd
np.arange(12).reshape((4, 3)).tolist()

[[y * 3 + x for x in range(3)] for y in range(4)]
2022/06/08(水) 15:50:39.30ID:WqwdOMp+
>>41
[list(range(i, i+3)) for i in range(12)[::3]]
2022/06/08(水) 15:55:39.94ID:SMHvnx3K
import more_itertools
list(more_itertools.chunked(range(12), 3))
47デフォルトの名無しさん
垢版 |
2022/06/08(水) 16:25:32.81ID:KT22GtKj
[np.array([0, 1, 2]) + 3*_ for _ in range(4)]
2022/06/08(水) 18:22:00.06ID:WqwdOMp+
>>41 さらに短くできた
[list(range(i, i+3)) for i in range(0,12,3)]

もう出尽くしたやろ、ワイのが一番やな、組み込みのみだし直感的だし
応用もきくし、ワイが一番やろw
2022/06/08(水) 18:40:08.42ID:3lPgPXCP
>>39
WinPython+VScodeが正解だぞ

anacondaは、Pythonを習得し、Pythonと外部ライブラリの境界を把握できるように
なった人のうち、anacondaを必要とする人だけが使うものだ
2022/06/08(水) 19:34:37.02ID:nVdli+zf
>>39
Pythonで何やりたいのかわかんねーからてきとーだけど
Dockerコンテナにanacodaとvscodeが正解
2022/06/08(水) 19:37:13.76ID:d7/kuIlk
dockerはdockerの勉強になるしwindowsだと安定しないから要らんな
52デフォルトの名無しさん
垢版 |
2022/06/08(水) 23:45:53.43ID:rPUwIz8x
>>44-48
ありがとう、勉強になった!
53デフォルトの名無しさん
垢版 |
2022/06/09(木) 03:35:46.64ID:aPNi5OBU
pythonのライブラリを調べているのですが
C言語で書かれている部分(cソースコード)には
どうやってたどり着けばいいのでしょうか?
例としてrandom.random()が0.0以上1.0未満の浮動小数点数を
かえしますが、どうゆう仕組みで返すのかを調べたいのです
2022/06/09(木) 04:32:16.69ID:FzQACe2i
>>53
コンパイル済みのを一般に調べるのは無理。標準ライブラリなら例えばcpython のリポジトリから探せる。https://github.com/python/cpython
2022/06/09(木) 05:11:23.67ID:aPNi5OBU
>>54
回答ありがとうございました
_randommodule.cまでたどりつきました
少しハードルが高いですが頑張って理解に努めようと思います。
2022/06/09(木) 05:17:33.48ID:FzQACe2i
>>55
蛇足かもですがpython の乱数はメルセンヌツイスタというアルゴリズムなので調べてみるといいかもしれません
2022/06/09(木) 05:44:46.90ID:aPNi5OBU
>>56
_randommodule.cの中に日本人の名前があったので
何故だろうと思いましたがメルセンヌツイスタで検索したら
つながりました。感謝です
2022/06/09(木) 18:02:41.85ID:i3H8tE1L
>>39
公式Python+PyCharmが便利
2022/06/09(木) 18:22:37.05ID:8SlPB6O/
教育用なら圧倒的シェアを獲得しているVSCodeの方が良いと思うよ
2022/06/09(木) 18:36:52.52ID:ZOUr8HN/
pycharmはなぁ…
61デフォルトの名無しさん
垢版 |
2022/06/09(木) 22:20:46.40ID:KIKA+I2C
>>39
教育に、環境構築の手間を含められるかどうかによるかな。
純粋にプログラムとは何かを知ってもらうだけだったらcolab
Pythonスクリプトをちゃんと動かせるようになることが目標だったらWindows用のPythonかなぁ。
2022/06/09(木) 22:22:21.55ID:1X1IjXim
ideoneでいいじゃん。
colabより高性能だよ。
公開されてしまうが。
2022/06/09(木) 23:14:03.21ID:gzzbtW8N
そいや親戚のとこの子供が学校でPythonのプログラムやっているというのだが、
ああいうのって、どういう仕様の実行環境なんだ?

グラフや絵を描けたり、画面上のピアノの鍵盤叩くと音が出せるとか、
なにやら色々とできるようなのだが
というかpipであれこれ山盛りにされてる環境にも思える

Scratchだと思ってた
2022/06/09(木) 23:16:22.96ID:1tSt6fQl
ideoneとColab(Jupyter)だと機能がダンチだから土俵がちがう
2022/06/09(木) 23:20:50.91ID:1tSt6fQl
>>63
MakeCodeとかUI Flowのあたり?
ブロックプロラミングとPythonを行ったり来たりできる
66デフォルトの名無しさん
垢版 |
2022/06/10(金) 03:26:54.12ID:v7zmV4Lt
vscodeって途中のコードいじってると下記の折り畳み全部開いちゃうじゃん。あれ超鬱陶しい
2022/06/10(金) 12:08:03.84ID:sFhUkWJJ
関数の引数型説明(アノテーション?)をつけるとき、intやstr等の組込み型ではなく、クラスのインスタンスの場合どのように書けばよいでしょうか
2022/06/10(金) 12:38:18.30ID:Lq4KcKs2
https://docs.djangoproject.com/ja/3.2/intro/tutorial05/

このページの最初のコードをshellモードでやってもtimezone has no 'now'って出るんだけどなんでだよ

ついでにいうとsettings.pyでuse_tz = Falseにすると逆に日本時間になってTrueにするとUTCになる
2022/06/10(金) 14:22:36.04ID:Lq4KcKs2
解決
from django.utils import timezone
じゃなくて from datetime import timezoneって書いてた
2022/06/11(土) 10:31:55.75ID:yOzdOwl+
超初心者です!古いMacでも出来ますか?
2022/06/11(土) 11:18:37.09ID:85fUpHB3
>>70
https://homepages.cwi.nl/~jack/macpython/index.html
これだとバージョン古いからMac-on-Linux化してLinux側で動かすか
リモートでもいいならWebブラウザのGoogle Colabやクラウド上のLinuxでやれる
2022/06/11(土) 11:20:32.01ID:IHQzlSUe
>>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
7367
垢版 |
2022/06/12(日) 06:48:37.19ID:0q70LBVd
>>72
ありがとうございます
74デフォルトの名無しさん
垢版 |
2022/06/12(日) 08:55:03.32ID:LQ+2P+LS
サポート期限すぎたMac使ってそう
2022/06/12(日) 18:06:38.20ID:9B8stwi/
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

とかになるんだよね
2022/06/12(日) 18:18:33.18ID:d5yVlq+K
そのくらいはimportしろよ
77デフォルトの名無しさん
垢版 |
2022/06/12(日) 18:22:48.72ID:V8Tt9ICP
エラー文も読めないのか
新しいpythonならlist[str]だバカタレ
2022/06/12(日) 18:23:08.52ID:fSdhUbKc
>>75
そこだけの話でいうと
from typing import *
だけど、問題のコードが古い
今はListをlistと書くようになったから
79デフォルトの名無しさん
垢版 |
2022/06/12(日) 18:42:58.91ID:w/rq6Our
nameErrorとかattributeErrorと最低限のエラーぐらい読めるようになろう
問題といてる場合じゃない
2022/06/12(日) 19:23:48.95ID:9B8stwi/
>>78
なるほどそういうことか
ありがとう
2022/06/17(金) 03:56:57.46ID:i0EppADi
>>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("_"))
82デフォルトの名無しさん
垢版 |
2022/06/17(金) 05:22:40.60ID:eircCDFG
>>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')
83デフォルトの名無しさん
垢版 |
2022/06/17(金) 08:29:57.19ID:doPvN/Dz
これを三項演算子で書くことってできますかね?

if a:
if b or c:
print("1")
else:
pring("2")
2022/06/17(金) 08:40:15.00ID:impPpfbo
インデントどこやった
2022/06/17(金) 09:16:26.10ID:b18JcTPN
5chはインデント未対応なので
pythonコードを貼るときは
行頭インデントを全角アンダーバーで
埋めてください
86デフォルトの名無しさん
垢版 |
2022/06/17(金) 09:26:11.91ID:doPvN/Dz
こんなかんじです
a b c は true か falseが入る変数です

if a:
_if b or c:
__print("1")
else:
_print("2")
87デフォルトの名無しさん
垢版 |
2022/06/17(金) 09:35:01.18ID:nb2nCyEf
>>86
print((1 if b or c else "") if a else 2)

三項演算子ならば全ケース対応する必要がある
a and not (b or c)の場合は空文字列とした
2022/06/17(金) 09:52:15.09ID:Ws3c1l54
回答になってないが
if not a:
__print(2)
elif b or c:
__print(1)
でよくない?
2022/06/17(金) 12:17:47.74ID:uqpMsu92
a = True, b = False, c = Falseのケースを見落としてるのか
意図して何もしてないのかが読み手にはわからないからすごく気持ち悪い
2022/06/17(金) 12:40:54.46ID:u2aqxJXf
テキストだと以下のようになるんだけど

# 整数(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')
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況