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


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

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



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 ###

445 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 20:21:54 ID:hglVd79x.net]
pbar.update(1) ←これの数字をいじる

446 名前:デフォルトの名無しさん [2022/07/20(水) 21:24:08.50 ID:npea7ePl.net]
>>431
ありがとうございます、おかげさまでなんとかできそうです
素敵なお方だ

447 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 22:26:00.73 ID:rNnuNQ69.net]
>>432
「tqdmが出てきてしまい」て書いてるので、静的に表示するだけだからtqdmは使いたくないのかと思った

静的に表示したい人用おもちゃ
def print_bar(n, max, expansion):
____box = "▏▎▍▌▋▊▉█"
____rate = (n * expansion * 100) // max
____bar = "" + box[7] * (rate//8) + box[rate%8]
____print(bar)

print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)

今書いた書いたらちゃんとテストしてない

448 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 22:32:08.75 ID:rNnuNQ69.net]
>>433
バグってた
すぐ直します

449 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 22:42:20.27 ID:rNnuNQ69.net]
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(bar)
print_bar(0, 100, 1)
print_bar(1, 100, 1)
print_bar(2, 100, 1)
print_bar(3, 100, 1)
print_bar(4, 100, 1)
print_bar(5, 100, 1)
print_bar(6, 100, 1)
print_bar(7, 100, 1)
print_bar(8, 100, 1)
print_bar(50, 100, 1)
print_bar(55, 100, 1)
print_bar(100, 100, 1)
print_bar(100, 200, 1)
print_bar(100, 200, 3)

450 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 22:53:43.67 ID:JXXlHdvc.net]
Ruby on Rails なら、VSCode, WSL2, Vagrant, Virtual Box でも出来るけど、
Python は依存モジュールが多いから、Docker が普通

自宅ではじめるDocker入門[改訂版]、浅居 尚、2021/4

この本が最も簡単

451 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 23:38:31.06 ID:hOJNeZde.net]
>>435
barだけだとやっぱり分かりにくいですね数字も必要だと思いました
もしくはbarの到達位置の表示が必要

452 名前:デフォルトの名無しさん mailto:sage [2022/07/20(水) 23:59:09.30 ID:hOJNeZde.net]
>>436
Dockerの書籍でているのね、レビュー評価もメチャいいじゃん
でもネット上に公式?の日本語ドキュメントがあるからこれでいけるんじゃないかな??どうかな?w
ttps://matsuand.github.io/docs.docker.jp.onthefly/
ttps://docs.docker.jp/index.html

453 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 01:17:04.66 ID:dz51dLzk.net]
>>437
値、開始位置、最大到達位置を表示しました

def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 200) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} | {bar:{expansion*25}s} |\n")
print_bar(8, 100, 4)
print_bar(50, 100, 4)
print_bar(90, 100, 4)
print_bar(100, 100, 4)



454 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 03:59:00 ID:c34Fgnuj.net]
PythonでAI作り始めてから電気代が2000円以上高くなった

455 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 08:50:46 ID:nja0E+A7.net]
>>439
すばらしい全部入っている! けども200とか25とかなんだろう?ああ小数点がイヤだから2倍しているのか
となったので、計算式が分かるようにした方が可読性とメンテナンス性があがると思いました
以下計算式を明示した改良版

import math
def print_bar(n, max, expansion):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = "" + box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")

456 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 11:05:44.45 ID:nja0E+A7.net]
さらに良くなった
import math
def print_bar(n, max=100, expansion=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8)
____if rate%8 != 0:
________bar += box[rate%8]
____print(f"{n:{len(str(max))}d} |{bar:{math.ceil(expansion*100/8)}s}|\n")

457 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 19:29:07 ID:dz51dLzk.net]
やっぱりmath.ceil使ったほうがいいよな
importを減らしたがる癖が抜けず2倍してしまった

458 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 20:09:26.68 ID:dz51dLzk.net]
最終型
import math
def print_bar(n, max=100, expansion=1, *, cr=2, sep="|", prefix="", suffix="", unit=""):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8) + box[rate%8] * bool(rate%8)
____print(f"{prefix}{n:{len(str(max))}d}{unit} {sep}{bar:{math.ceil(expansion*100/8)}s}{sep}{suffix}" + "\n"*cr, end="")

459 名前:デフォルトの名無しさん mailto:sage [2022/07/21(木) 21:25:09.45 ID:nja0E+A7.net]
>>444
すんごーい! crの初期値は1が良いかな、それ以外は全部気に入りました

460 名前:デフォルトの名無しさん [2022/07/22(金) 00:46:45.54 ID:LN4IvGf8.net]
>>444
ありがとうございます

461 名前:デフォルトの名無しさん [2022/07/22(金) 11:32:26.12 ID:emgmw9dd.net]
>>421-422
runas

462 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 14:53:38.79 ID:hAgOKfi8.net]
>>444
数値を非表示にするオプションつけ忘れた

463 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 17:03:59.46 ID:t+dBeaSp.net]
>>448
そのオプション名を何にするかでセンスが問われる
num, display_num, meter, bar_value, ..etc
さあ、キミのセンスを見せてくれ!



464 名前:デフォルトの名無しさん [2022/07/22(金) 17:47:22.62 ID:iaUAG8EO.net]
ここはきみの日記帳じゃない

465 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 19:07:18.92 ID:t+dBeaSp.net]
>>450
関数や変数の命名はとても重要だよ? 端的で分かりやすくする必要がある
それが可読性やメンテナンス性をあげるわけなのだよ
プログラミングは名前付けであると言われる所以はそういうことなのだよ

今回の数値の非表示オプション名は非常に難しい、私的にはdisplay_valueがベストかな?
と考えつつも彼の意見も参考にしたいわけだ、もちろんtqdmではどうしているのかな?
と調べたりもした、tqdmではbar_formatで書式を指定できるみたいだね
その中で数値部分はpercentageという変数名のようだ
print_barはunit指定ができるわけで%表示固定ではないから、percentageは適切ではない
と考えると・・ね?難しいでしょ? 皆の意見も聞きたいじゃん!

466 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 19:43:18.38 ID:bpOnuI9e.net]
名前は重要。
開発が終わった後でも、コードを見る事があるから

プログラミングの3割の時間は、分かりやすい名前を考えること

簡潔に説明されている名前なら、
処理を詳しく見なくても理解が進むので、バグも減って高品質になる

リファクタリング・メソッド化などは、Rubyist の基本

467 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 19:52:25.71 ID:PdYjn4LX.net]
メソッドが長すぎると名付けが難しいから結局は短く作るのがいいのか?
でもそれだと分割しすぎとか言われそうだし

「汎用的、抽象的」な名前がいいのか「汎用的な名前を避けて具体的」にすべきなのか

468 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 19:52:35.56 ID:t+dBeaSp.net]
>>448
でけた! tqdmのbar_formatを採用
これで数値の表示/非表示はもちろん色々柔軟に対応できる

def print_bar(n, max=100, expansion=1, *, bar_format="{prefix}{num}{sep}{bar}{sep}{suffix}",
____________ unit="%", sep="|", prefix="", suffix="", cr=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (n * expansion * 100) // max
____bar = box[0] * (rate//8) + box[rate%8] * bool(rate%8)
____bar = f"{bar:{math.ceil(expansion*100/8)}s}"
____num = f"{n:{len(str(max))}d}{unit}"
____print(bar_format.format(**locals()) + "\n"*cr, end="")

469 名前:452 mailto:sage [2022/07/22(金) 21:05:54.53 ID:bpOnuI9e.net]
例えば、Ruby のモジュール関数の名前なら、
cancel_button_label_text
apply_or_cancel_button

インスタンスメソッド名なら、
obj.suspended?

末尾の? で、戻り値がbool 型だと表現できる

470 名前:デフォルトの名無しさん [2022/07/22(金) 21:06:08.18 ID:aVBkeTN2.net]
>454
print_bar.update ってできない?

471 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 21:29:43.19 ID:t+dBeaSp.net]
>>456
tqdmのupdateみたいなことができるかってこと? クラス化すればできるよ
ああ、bar_formatとか呼び出すごとに変数指定するのはアホだよね
クラス化してインスタンス生成時にbar_format指定した方がいいよね

472 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 22:27:04.77 ID:t+dBeaSp.net]
クラス化できたけど、関数バージョン(>>444)の方が好きかも

class print_bar:
____def __init__(self, max=100, num_format="{num:{max_digit}d}{unit}",
____________ bar_format="{prefix}{num_format}{sep}{bar}{sep}{suffix}",
____________ unit="%", sep="|", prefix="", suffix="", cr=1):
________self.box = "█ ▏▎▍▌▋▊▉"
________self.max = max
________self.max_digit = len(str(max))
________self.num_format = num_format
________self.bar_format = bar_format
________self.unit = unit
________self.sep = sep
________self.prefix = prefix
________self.suffix = suffix

____def update(self, num, expansion=1, cr=1):
________rate = (num * expansion * 100) // self.max
________num_format = self.num_format.format(num=num, **self.__dict__)
________bar = f"{self.box[0] * (rate//8) + self.box[rate%8] * bool(rate%8):{math.ceil(expansion*100/8)}s}"
________print(self.bar_format.format(bar=bar, **dict(self.__dict__, num_format=num_format)) + "\n"*cr, end="")

p = print_bar()
p.update(70)

473 名前:デフォルトの名無しさん mailto:sage [2022/07/22(金) 22:57:55 ID:oFTCo3Qt.net]
日記帳で試行錯誤して、結論が出てから書き込んでください



474 名前:デフォルトの名無しさん [2022/07/22(金) 23:49:56.07 ID:XYg2RZCf.net]
boxサーバーに上がっているExcelやcsvのデータってpythonで読み取ることできるのでしょうか?
https://app.box.com/file/xxxxxxxxxxxxxのようなURLを指定して
ファイル内のデータを読み込みたいのですがうまくいきませんでした。

475 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 06:43:50.22 ID:NAv7kQq5.net]
beautifulsoupでいったんダウンロードすれば?

476 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 06:53:36.23 ID:DC0Z ]
[ここ壊れてます]

477 名前:GSft.net mailto: ども、print_barの作者です。こんな短いプログラムに作者もくそもないですが・・・
上記コードを参考させてもらい考えました。私ならこうします
import math
def print_bar(num, max=100, expansion=1, *, prefix="", display_num=True, unit="", sep="|", suffix="", cr=1):
____box = "█ ▏▎▍▌▋▊▉"
____rate = (num * expansion * 100) // max
____bar = f"{box[0] * (rate // 8 ) + box[rate % 8] * bool(rate % 8):{math.ceil(expansion * 100 / 8)}s}"
____num_formated = f"{num:{len(str(max))}d}" * display_num
____print(f"{prefix}{num_formated}{unit} {sep}{bar}{sep}{suffix}" + "\n"*cr, end="")
display_valueのほうがわかりやすいけど長いから好きじゃない。何度も書く名前ならdisp_numに短縮するかも。
bar_formatは付けたい人が自分でつければいい
最低限の機能が付いていて、可読性・カスタマイズの容易性を考えるとこんなところでしょうか
[]
[ここ壊れてます]

478 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 07:10:57.00 ID:DC0ZGSft.net]
>>462
formattedです。恥ずかしいミス

479 名前:デフォルトの名無しさん [2022/07/23(土) 07:22:10.22 ID:ytdxYh/D.net]
なんか昨日のアップデートでWindows TerminalがIME勝手にON(英字入力)になる。とっても面倒くさい。
OFFにする方法ない?

480 名前:デフォルトの名無しさん [2022/07/23(土) 09:23:17.53 ID:bR39w9BX.net]
>>459
++
ほんそれ

481 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 09:48:06.05 ID:lkZCuVJ2.net]
>>462
おつかれちゃーん、なかなか楽しめたし勉強になったわ
日記帳とか言ってる奴等も参加すれば良かったのに、実際にコード書かないと勉強にならないぞっ!w

482 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 10:20:26.06 ID:zqWGCIwO.net]
コード出してあれこれやるのはいいと思うけどここまで引っ張るのはさすがにスレチだわな
こっちへ行けよ

Pythonのお勉強 Part67
https://mevius.5ch.net/test/read.cgi/tech/1653540315/

483 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 10:32:50.67 ID:lkZCuVJ2.net]
>>467
引っ張るとスレチって意味が分からんw そっちのスレも同じじゃん何が違うのよ?
うーん、、もしかして自分が質問したレスが埋もれちゃったとか?
それは関係ないよ、単に答えられるor答える人が居なかっただけで我々のせいではない



484 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 10:41:14.21 ID:iHVC6bwv.net]
我々…

485 名前:デフォルトの名無しさん [2022/07/23(土) 10:43:44.38 ID:bR39w9BX.net]
自演で自分のレス褒めてるレスとか観ると
他人事乍ら哀しくなるな

486 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 10:59:03 ID:zqWGCIwO.net]
>>468
スレタイも読めないのか?
ここは超初心者用な
>>430はスレタイに沿ってるけどその後print_bar でグダグダ書くのは違うだろ

487 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:09:30 ID:QCnlUATD.net]
スレタイに日記帳って書いてあるスレで試行錯誤すべきだったよな

488 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:18:41.28 ID:lkZCuVJ2.net]
>>471
うん?>>433からすでにスレチってこと?
コード出してあれこれは良いとか>>467に書いてるし
何が言いたいのか意味が分からん、どこからスレチなのかレス番号かけや

489 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:21:00.46 ID:Q9mI3iQv.net]
しつこい

490 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:29:25.91 ID:zqWGCIwO.net]
>>473
スレチかどうかの閾値なんて人によって違うからここからスレチなんて言うことはできない
それでも「ここまで引っ張ったら」多くの人がスレチって感じるだろって話

491 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:31:58.41 ID:lkZCuVJ2.net]
>>475
ほえぇぇぇぇえぇぇええええええええ〜〜〜〜〜〜〜〜!!
ボクちゃんが気に食わなかったからスレチですってことですかぁああああ???
びっくりしましたぁぁああああああwwww

492 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:38:20.58 ID:3Ek+JvxJ.net]
3回までよくて4回目がだめなんてことはない
3回でだめな人もいるし、4回はアウトだろうという人もいる
だが10回までくるとさすがに全員がアウトと感じる
そういう状況

493 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:49:34.23 ID:lkZCuVJ2.net]
>>477
うん?10回は全然良いよ、っていうかスレに沿っているなら何回でもええがな
全員がアウトと感じるとかウソつくなよw 君たちのお気持ちの表明がまさにスレチw
なぜならPythonと全く関係ございません!これが完璧なスレチの指摘というものだよ
お気持ちとか何だよww 脳みそ付いてんのか?w



494 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:49:41.79 ID:Py93vpAm.net]
>>476
> ボクちゃんが気に食わなかったからスレチですってことですかぁああああ???
ダメな理由は前に書いてあるだろ...

> スレタイも読めないのか?
> ここは超初心者用な

> びっくりしましたぁぁああああああwwww
お前の無能さにこっちがびっくりだよw

495 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:51:51.55 ID:NAv7kQq5.net]
>>478
そう、君たち、この言葉がすべて
おまえだけだよいいと思ってんのは

496 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:52:41.39 ID:lkZCuVJ2.net]
>>479
ダメな理由は>>475に書いてあんだろ、スレに沿っていたけど途中で彼の閾値を超えたんだってww
10回はダメでちゅ〜〜ww

497 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 11:53:42.77 ID:lkZCuVJ2.net]
>>480
はい、じゃあ全員じゃないね、答え合わせありがとうw

498 名前:デフォルトの名無しさん [2022/07/23(土) 12:01:36.99 ID:LCkddkGN.net]
>>460
460です。beautifulsoupも初めて聞いたレベルなのですが、
チャレンジさせていただきます。
ありがとうございました。

499 名前:デフォルトの名無しさん [2022/07/23(土) 12:01:47.65 ID:LCkddkGN.net]
>>461
460です。beautifulsoupも初めて聞いたレベルなのですが、
チャレンジさせていただきます。
ありがとうございました。

500 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:02:11.20 ID:cx+wDCne.net]
>>482
そうだね
一人だけ空気読めないやつがいる
これが正確な言い方

501 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:12:16.70 ID:zqWGCIwO.net]
今日の様に暑いとID:lkZCuVJ2みたいな奴が犯罪にはしらないか心配になるw

502 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:12:53 ID:DC0ZGSft.net]
462です。
スレ見なおしたけど反省するようなレスしていない
449で予想外のツッコミ受けて驚いたが。
自治厨の相手はしたくないので、この件のコメントはこれが最初で最後

503 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:13:10 ID:Sr9KJy9/.net]
絶望的に適性ないやつがいるな
そんな無駄なことは今すぐやめろ
限りある人生をもっと有意義なことに使え



504 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:16:15 ID:cx+wDCne.net]
まあ反省できるようなやつだったら最初からこんなことしないわな

505 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:39:52 ID:zqWGCIwO.net]
コード出して色々言うのはいいけど適切なスレでやってねって話なんだけど自治厨とか言い出してる時点で反省なんてしてないわなw

506 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 12:46:43 ID:b3gXMMo0.net]
自己中なんだろ
自分以外見えてない

507 名前:デフォルトの名無しさん [2022/07/23(土) 15:41:49.42 ID:FAO+OpS7.net]
ネオ麦茶

508 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 17:14:17.68 ID:QCnlUATD.net]
>>492
犯罪示唆ですね
通報しました

509 名前:デフォルトの名無しさん [2022/07/23(土) 18:06:21.74 ID:KR63qUqp.net]
随分とハイコンテクストな犯罪教唆だな

510 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 21:20:29.07 ID:MqDru3I9.net]
>>460
例えばRuby では、input.csv が以下の内容として、
a
b,c

require 'csv'
require 'open-uri'

url = "localhost:8000/input.csv"

CSV.parse( open( url ).string ).each do | row | # 1行ずつ処理する
p row
end

出力
["a"]
["b", "c"]

または、curl コマンドを使う事もできる。
input_csv = `curl #{ url }`

511 名前:デフォルトの名無しさん mailto:sage [2022/07/23(土) 22:54:21.58 ID:jIlcufBL.net]
完全自殺なんチャラって本も流行ったなぁ

512 名前:デフォルトの名無しさん [2022/07/24(日) 05:32:21 ID:or5HZl/v.net]
1.適性がない、というその適性を定義してください。
2.適性がない、となぜ判断

513 名前:したのか 1. をもとに詳しく記述してください
3.1.2.が出来ないのではないのならば、あなたこそ、あなたのいう適性をもちあわせていない、と私は判断します
以上
[]
[ここ壊れてます]



514 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 10:18:49.14 ID:VDm4wods.net]
>>497
非論理的だね
著しく論理的思考能力の低い人はプログラミングの適性がないと言われても仕方ない

515 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 12:33:12 ID:DlP0Pw4T.net]
>>498
1.自民党と統一教会の関係を説明してください
2.公明党と政教分離の関係を説明してください
3.おまえは馬鹿

516 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 13:48:43.90 ID:Kadg5L8P.net]
>>499
ここで政治の話は止めて頂きたい

517 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:03:28.06 ID:s7YMPwIQ.net]
>>500
おまえは馬鹿

518 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:09:01.48 ID:nqGRTr2S.net]
プログラミングしてると、
Delete、Enter、BackSpace、半角全角、home、end
ここらへんがホームポジションから遠すぎて困るな
半角、全角は無変換と変換に割り当てたんだけど

みんなはキーマップカスタマイズとかしてるの?

519 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:12:13.07 ID:s7YMPwIQ.net]
それはPythonと関係のある話題ですか?

520 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:14:56.30 ID:QkJUlhBv.net]
手を叩いて大きくすると良い感じになるよ。

521 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:20:46.38 ID:VlRFcd7U.net]
>>499
メンバシップ関数を定義するのけ?

522 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 14:43:22.46 ID:Kadg5L8P.net]
>>502
ctrl<->capsの入れ替えくらい

523 名前:デフォルトの名無しさん [2022/07/24(日) 16:12:15.26 ID:ydeGY7xn.net]
>>502
親指活用できるエルゴノミクスキーボード使ってる
詳しくはハードウェア板のエルゴノミクスキーボードスレへ
kinesis, ergodox, teckあたりかねその辺打ちやすいの



524 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 16:23:06.62 ID:oKMHGzT9.net]
集団自決したはずなのに生きていた人が死去

525 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 19:45:11 ID:e/hljxBO.net]
スクレイピングの練習中でリスト内包表記とre.search()について教えてください
seleniumとlxmlで取得したデータの変換がうまく行かないです

url_list = ['https://www.tekitou'+re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group() for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]

html.cssselect('#tekitou > div > div > a:nth-child(1)').get('href')の時点で取得できてるurlは下記のような感じです。

https://www.tekitou/%〇〇%〇〇/dp/(10桁の英数字 英は半角大文字)/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1

https://www.tekitou/music/player/ref=zg_bs_10桁の数字_2桁の数字/3桁の数字-7桁の数字-7桁の数字?pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1


re.search().group()する前のurlが/dp/ありのurlと/dp/なしのurlに分かれるのですが、
re.search(r'[^0-9A-Z]dp[^0-9A-Z]([0-9A-Z]{10})([^0-9A-Z]|$)',a.get('href')).group()の作業の際にエラーがでてしまうため
/dp/なしのurlを削除するようにするか、
pd_rd_i=(10桁の英数字 英は半角大文字)&psc=1の(10桁の英数字 英は半角大文字)を取得するようにしたいです。

なにかうまい表記があれば教えてください

526 名前:デフォルトの名無しさん [2022/07/24(日) 19:55:36 ID:IZxLU3+7.net]
秀丸最強

527 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 20:08:14.75 ID:JBPZyDq1.net]
アマゾンのURLくらいググったら色々出てきそうだけどクソ見にくい正規表現で無理せずにスラッシュでsplitでifにlengthとアスキー確認くらいでいいんじゃないの?

528 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 23:38:55 ID:GhBFnIe8.net]
プログラミングって直感じゃね?
論理は直感を説明するの

529 名前:ノ用いることに有効だけど
プログラム書くのにいちいち考えないっしょ
考えるのは設計とテストだけだし
[]
[ここ壊れてます]

530 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 23:39:26 ID:GhBFnIe8.net]
それ以外にもあるかもしれんけど

531 名前:デフォルトの名無しさん mailto:sage [2022/07/24(日) 23:43:50 ID:nVQ6Xq/p.net]
>>509
pd_rd_iから取得
url_list = ['https://www.tekitou/dp/{0}/'.format(re.findall(r'\?pd_rd_i=(\w+)', a.get('href'))[0]) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]

532 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 00:22:12.12 ID:kwIPZDW5.net]
argparse使って、たとえば1つ目の位置引数(スイッチのようなもの)の違いで、それ以降は全く異なる引数ルールになるような場合はどのような指定をすればよいでしょうか?
それともそれぞれ別のルールを定義してパースする必要がありますか?

すごく簡単な例ですが、addの場合とlistの場合で指定する引数が違うようなものとか
user.py
-add name [--prop property]
-list [--group group]

533 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 00:41:00.73 ID:YiCqNPeZ.net]
>>515
1つめの位置引数を読んでから残りをargparseにかければいいんでないの?

それかサブコマンド対応してるライブラリを使うか



534 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 00:57:12.30 ID:kwIPZDW5.net]
>>516
なるほど。argparseで一度にまとめてできればと思ったんですが、できないってことですね…

535 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 01:00:15.74 ID:gTrk2zFk.net]
>>509
例えば、Ruby なら、

URI.split で、URL のパス部分だけを抜き出して、
その文字列内に、/dp/ が含まれているかで条件分岐する

require 'uri'

dp_url = "example.com/%E3%81%82/dp/a" # あ = %E3%81%82
non_dp_url = "example.com/%E3%81%82/a"

p dp_ary = URI.split( dp_url )
p non_dp_ary = URI.split( non_dp_url )
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/dp/a", nil, nil, nil]
#=> ["http", nil, "example.com", nil, nil, "/%E3%81%82/a", nil, nil, nil]

# パス部分
p dp_ary[ 5 ]
p non_dp_ary[ 5 ]
#=> "/%E3%81%82/dp/a"
#=> "/%E3%81%82/a"

p dp_ary[ 5 ].match( '/dp/' )
p non_dp_ary[ 5 ].match( '/dp/' )
#=> <MatchData "/dp/"> : 一致する
#=> nil : 一致しない

536 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 01:03:04.79 ID:oCKr0yXR.net]
add_subparsersでやればいいんじゃない

537 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 09:00:21.95 ID:9Mfr9nvz.net]
>>512
うう……設計がプログラミングに含まれてない……うそやろ……

538 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 09:35:32.16 ID:Tcjxae6G.net]
>>509
/dp/(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
?pd_rd_i=(10桁の英数字 英は半角大文字)があれば、その(10桁の英数字 英は半角大文字)を取得
どちらも無ければ空文字を返しエラーとはならない方法

url_list = ['https://www.tekitou/dp/{0}/'.format(re.search(r'(?<=/dp/)(\w+)|(?<=\?pd_rd_i=)(\w+)|$', a.get('href')).group()) for a in html.cssselect('#tekitou > div > div > a:nth-child(1)')]

539 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 09:43:03 ID:VgpbHR93.net]
>>520
Don't think. Feeeel!!

540 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 10:25:41.85 ID:kwIPZDW5.net]
>>519
add_subparsers使えばできますね!
ありがとうございます。

541 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 12:52:01.49 ID:gFjrq6Gs.net]
>>520
設計は人が考えたものを具現化するプロセスまでの事でプログラミングに含まれないよね

プログラミングは優秀な言語と開発支援ツールに頼って直感のままに組み立てる作業

人が本来やることは自身の進化とソフトウエアのアップデート対応に強い設計する事と作業を減らす工夫と世界が前進することへの貢献

542 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 12:57:49.15 ID:gFjrq6Gs.net]
簡単そうに言ってる

543 名前:けど
かなり時間かけて様々なことを知らないといけないし知らない未知のことへの挑戦もしてかなきゃいけない
そーゆー志を持った人がこのスレの中に居てくれたら俺は嬉しい
[]
[ここ壊れてます]



544 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 13:20:20.14 ID:9Mfr9nvz.net]
>>524
(それコーディングじゃない?)

545 名前:デフォルトの名無しさん mailto:sage [2022/07/25(月) 14:36:18.33 ID:evu7R6rH.net]
docker入れてみたけどやっぱ仮想環境だからGB単位でメモリそこそこつかうんだよな
アイドル状態で8GB、vscodeで1〜2GB、dockerで2GB、Chromeで動画見ながら作業したら2〜3GBぐらい使うからギリギリで困る
やっぱメモリ32GBは入れないとだめか






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

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

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