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


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

くだすれPython(超初心者用) その45【Ruby禁止】



1 名前:デフォルトの名無しさん mailto:age [2019/10/16(水) 10:17:12.96 ID:dCHq3Ix4.net]
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨

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

★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
  ↓等のてきとうなソースコード用うpろだに貼ってきてください。
  スクショをImgur等にうp といった 手抜き(クソ行為)禁止。
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう

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

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

〇前スレ〇
くだすれPython(超初心者用) その44【Ruby禁止】
mevius.5ch.net/test/read.cgi/tech/1563969768/

355 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 20:33:56.00 ID:hknmBY+P.net]
例外の握りつぶしとかだろ。


356 名前:例外をキャッチしたけど、何もせずに、そのまま処理を継続したとか

Jupyter Notebook(JN)は、Python, Julia, Ruby などで使うIDE だろ。
VSCode みたいなもの

Bash, PowerShell などのシェル経由でも、
シングル/ダブルクォーテーションで、エスケープのタイミングが違ってくる。
Linux/Windows で書き方が異なる

シェルに渡すときに、既にエスケープされているか、されていないのか

エスケープ文字を、エディタで設定できるかも知れない
[]
[ここ壊れてます]

357 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 20:43:49.33 ID:R3eAH8fN.net]
>>335-336
個人的には>>339の解釈に1票。
try:
    なんとかかんとか
except:
    pass
みたいなマジクソ行為は
自分以外の人物が
たとえ0.1×10^23%でもかかわる可能性があるソースコードでは
絶対やっちゃだめだなwww

358 名前:デフォルトの名無しさん [2019/11/27(水) 21:37:06.71 ID:OMjrfaFS.net]
pygameは商用利用できますか?

359 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 21:48:56.24 ID:gPxE2uPM.net]
>>340
どんなに小さな確率でも、と言いたいのかもしれないけど巨大な下図になってるぞw

360 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 21:49:28.61 ID:gPxE2uPM.net]
>>342
数だった。人のことは言えないな。

361 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:17:55.37 ID:ap410XA+.net]
>>340
passがダメだとして何なら良いわけ?

362 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:18:57.75 ID:vYtjQlD0.net]
>>341
可能だが、pyinstallerのような方法で事実上の静的リンクを行った場合には
LGPLに従ってpygameが含まれている実行ファイル全体の再配布を許可せねばならない
つまり俺が買ったらそれを10円で再販してやる

363 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:20:16.38 ID:1UHKBbgP.net]
>>344
passを書くくらいならエラー処理せずに普通にエラー発生させた方がマシ



364 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:27:15.42 ID:vYtjQlD0.net]
>>341
補足
あと、リンクの方法に関わらず、そのソフトウェアを買った俺はそれをリバースエンジニアリングし、改造できる
俺のスキルをもってすればライセンス認証の回避は容易であり、お前はそれを禁止できない

365 名前:347 mailto:sage [2019/11/27(水) 22:31:35.68 ID:vYtjQlD0.net]
すまん、俺が金払って買ったなら認証を回避する意味はなかったな
問題は、ダウンロードは無料だが継続して利用するにはライセンス認証が必要になるというような典型的な配布パターンだ
この場合、俺は金を払わずに改造してライセンス認証を突破し、タダでそれを使う
そしてその方法をWebで公開する
お前はそれを禁止できない
なぜならLGPLライブラリを使用しているからだ

366 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:42:28.92 ID:ap410XA+.net]
>>346
つまりtry ~ except は不要と言ってるのか?
excaptの中に何を書くのが良いのか訊いているんだが。

367 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:48:46.79 ID:R3eAH8fN.net]
>>342
ほんとだ 重要なマイナスが抜けてた!

>>340訂正する
×たとえ0.1×10^23%でもかかわる可能性があるソースコードでは
〇たとえ全世界の砂粒から、ハズレの1粒をひきあてたくらいの確率でも、かかわる可能性があるソースコードでは


>>349
「except:」みたいな雑なくくりをせず
おきるエラーの種類ひとつひとつについて
「except Errorhogehoge:」みたいなかんじで一個ずつちゃんと分岐させろ

368 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 22:57:52.16 ID:ap410XA+.net]
>>350
例外の種類ごとに異なる対処が必要なら分岐するがそうでないならその限りではない。
何か対処すべきことがあればそれを記述するが他にすることがなければpassでよい。

おまえ

369 名前:ウんは何か変な教条主義に囚われているんではないかね? []
[ここ壊れてます]

370 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 23:06:11.22 ID:vYtjQlD0.net]
>>350
悪いけど、最初から個別の例外について虱潰しに対応しようとするのは典型的なアンチパターンだよ
あまりにも手間がかかりすぎるし、変更に対して非常に弱いコードになる。
例外処理で死守すべき大原則は、アプリを落とさないこと、綺麗に回復すること、の2点だけだ。
その上で、必要に応じて丁寧な個別対応をしてもよい。
まずアプリを落とさないことだが、WebのリクエストハンドラであったりUIのイベントハンドラであったりバッチ処理の一番大本のループであったり、
「ここまで戻れば確実に回復できる」という箇所で全ての例外をキャッチし、リトライやエラーメッセージの表示等を行って回復する。
次に綺麗に回復すること、これは、適切にwithやfinally等を使用して例外発生時に適切な後片付けを行うことだ。
この2点が守れていれば例外処理は完璧だが、場合によっては個別対応することで早期に回復できたり、より適切なエラーメッセージをユーザーに表示できたりするケースがある。
しかしそれはあくまでオプションにすぎない。

371 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 23:22:24.86 ID:ymKEnJ4Y.net]
>>351-352
え、お前らマジでこんなコード書いてるの!?
いろいろビックリするわ

try:
____do_something()
except:
____pass

372 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 23:28:50.58 ID:hknmBY+P.net]
Ruby on Rails で、RSpec で、TDD から学びなおせw

373 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 23:31:50.95 ID:vYtjQlD0.net]
>>353
単に無視することが適切な回復なのであればそれで正しいよ
大抵はそうではないが、だからといって例外が発生した瞬間に直上でキャッチしたところで対処のしようがないケースがほとんど
ほとんどの例外は単純にキャッチせずにスルーし、上の方で纏めてキャッチしてエラーを表示したりすることになる



374 名前:デフォルトの名無しさん [2019/11/27(水) 23:36:46.74 ID:OMjrfaFS.net]
>>348
ありがとうございます。ようするにpygameを使った作品は著作権を放棄しろってことなんですね。。。

375 名前:デフォルトの名無しさん mailto:sage [2019/11/27(水) 23:58:21.75 ID:ymKEnJ4Y.net]
>>355
範囲の狭い特定のエラーを意図して無視するのが適切な場合はあっても
あらゆるエラーをすべて無視するのが適切な場合はまずないやろ

376 名前:デフォルトの名無しさん mailto:sage [2019/11/28(Thu) 00:12:16 ID:H2QhOzf/.net]
>>356
細かいツッコミすると、国内で放棄できるのは著作請求権だけ

377 名前:デフォルトの名無しさん [2019/11/28(Thu) 01:29:21 ID:BjRR3Cis.net]
>>358
ありがとうございます!!

378 名前:デフォルトの名無しさん mailto:sage [2019/11/28(Thu) 03:06:02 ID:1K1GwsjB.net]
著作権を放棄しているわけではない
自分の著作権の下で自らの著作物をLGPLの派生物として配布しているんだ
自分の著作物をどんなライセンスで配布しようが本来は勝手だが、利用しているライブラリが他人の著作物である以上、
そのライブラリの著作権を同梱した派生物を配布するためにはそのライブラリの著作権者が定めるライセンスに従わねばならない
そして、そのライセンスが派生物のライセンスを制約するようなものであった場合は結果的に自分の著作物にライセンスが感染する形になるわけだ

379 名前:デフォルトの名無しさん [2019/11/28(木) 05:28:36.70 ID:BjRR3Cis.net]
>>360
そういうことなんですね!
勉強になりました。

380 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 07:46:57.30 ID:LEtsBWW2.net]
俺が不勉強なだけかもしれないが
try:〜except:passでエラーを握りつぶしておいて
直上でエラー処理するってどういうことだ?

普通にエラーをそのままにしといたら呼び出し元にエラーが届いて
そこで処理したらいいだけの話だろ 一番下の階層でpassして握り潰す必要はない

381 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 08:33:14.83 ID:VOkh5kHm.net]
>>362
> try:〜except:passでエラーを握りつぶしておいて


382 名前:がそんなことを言ってるんだ?
そう思い込んでいるのはあなただけでは
[]
[ここ壊れてます]

383 名前:デフォルトの名無しさん [2019/11/28(木) 08:38:48.41 ID:b0jGiHif.net]
異常系をわざわざ戻り値で表現し直すんじゃないの?w
そんなことするより、リスローの方が絶対にいいわな。



384 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 14:36:06.70 ID:B2pLXdx8.net]
>>353
やってるけど

385 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 14:59:01.40 ID:p/uKw1d3.net]
pyautoguiっての普通に使ってる時は問題ないんだけど
リモートデスクトップで1度開いちゃうと画面閉じた時に
pyautoguiの中のsetcursorposってのでエラー出るんだけどどうにかならない?

386 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 16:12:48.01 ID:rcIus152.net]
大企業で無料で商用利用できるIDEでオススメありませんか?
個人ではVScode使ってますがエンタープライズ企業は無償利用無理みたいです

387 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 16:26:05.13 ID:sRkzUhKD.net]
生産性を無視する企業に未来はない

388 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 16:48:19.24 ID:f9JN6uOx.net]
>>367
そんな都合のいいものはない
大企業税(有名税てきな)だとおもって
あきらメロン

389 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 17:08:37.95 ID:VOkh5kHm.net]
>>367
VSCodeはエンタープライズでも無償だぞ

390 名前:デフォルトの名無しさん [2019/11/28(木) 17:24:36.37 ID:i2j7bL3h.net]
どうせVSと近藤してるんだろ

391 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 21:56:29.31 ID:qnF6NUyh.net]
>>357
堅牢なソフトウェアを構築する方法論として、何かエラーがあったらその処理単位ごと
無かったことにするというものがある。DBのトランザクションとかerlangのlet it crashとかな。
そういう方法論ではエラーの種類など見ない。
そこでは逆に、知ってるエラーだけcatchして他はスルーするという手法こそ否定される。
なぜなら、下層のルーチンが「知らない」とスルーしたエラーなら上層のルーチンは
「もっと知らない」はずだからな。

392 名前:デフォルトの名無しさん [2019/11/28(木) 22:06:08.08 ID:4XtsM+GQ.net]
せやろか?

393 名前:デフォルトの名無しさん mailto:sage [2019/11/28(木) 23:49:35.94 ID:3SZL29g0.net]
>>372
ものすっごい中途半端な知識で知ったかしようとする前に基礎を抑えようね

DBのトランザクション処理を実行しました
なんかエラー発生しました
エラーの種類など見ないっ(キリッ)

軽量プロセスにsend messageしました
なんかプロセス落ちました
リスタートあるのみ(キリッ)

>なぜなら、下層のルーチンが「知らない」とスルーしたエラーなら上層のルーチンは
>「もっと知らない」はずだからな。
何を知らないのか考えようね



394 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 00:49:58.07 ID:8hJB6N01.net]
>>372のやり方だと「止まらない」プログラムは作ることはできても
「使える」プログラムは作れそうにないなw

395 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 01:26:05.58 ID:pmSmtC6r.net]
例外原理主義か…

396 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 09:16:06 ID:B0LTR+GE.net]
スターリン風エラー処理

397 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 09:24:58 ID:TmZsQyhe.net]
pyautoguiのsetcursorposエラーはtry:〜except:passで無事解決しました!

398 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 09:28:46 ID:wYCEjZQR.net]
わださんのゆうめいなやつ
https://speakerdeck.com/twada/php-conference-2016
PHPだけど、理解できるだろ。読んどけ。

399 名前:デフォルトの名無しさん [2019/11/29(金) 10:27:27 ID:N/f9f1S7.net]
>>349
漏れもpassは禁止で正しく処理するべきだと考えるが
どうしてもスルーしてプログラムを続行したい場合は

1.フラグを立ててプログラム終了時に報告
2.loggerでsyslogに出力
3.上の1と2の合わせ技

400 名前:デフォルトの名無しさん [2019/11/29(金) 10:30:54 ID:N/f9f1S7.net]
>>355
上の方でまとめてキャッチしたいのに
except で pass したらキャッチされないぞ

except でその場だけキャッチせず上にスルーしたいならあらためて raise しろ

401 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 12:06:18.51 ID:dGU1sZlL.net]
pyautoguiでとりあえずブラウザ

402 名前:内の手作業のの自動化できたから、seleniumにも手を出してみたけどこっちは難しいね
HTMLが分かってないとキツイな(´・ω・`)
[]
[ここ壊れてます]

403 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 17:46:37.36 ID:po6NZMwT.net]
python勉強しようと思うんだけどエディタはjupyterがデフォなの?
visual studioになれてるからvs使いたいんだけどまずいのかな。



404 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 17:47:25.58 ID:lBRwa/7I.net]
ok

405 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 17:51:35.27 ID:VBGSEbtt.net]
>>383
PCのスペックが足りてて問題なく動けば問題ないぞ
スペック足りない俺様PCでは
秀丸エディタかsakuraエディタが精いっぱいなんだぜ

406 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 19:37:04.50 ID:LMfDTWZ+.net]
>>383
VSCodeにしとけ
MSはPythonの開発環境としては今VSCodeを推していて、本家VSの方のPythonサポートはもう将来性がない

407 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 19:41:46.20 ID:VBGSEbtt.net]
>>386
横レスだけど参考になった

408 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 19:56:54.52 ID:SQehs03a.net]
>>380
>漏れもpassは禁止で正しく処理するべきだと考えるが

passは正しい処理ではないと言っているようだが、そう断言できる根拠はないだろ。
ログを吐けばオーケーというのも意味わからん。プログラムの正しさとは何の関係もないだろうに。

409 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 20:05:59.92 ID:8hJB6N01.net]
保守性が落ちるコードは正しいコードとはいえないだろ
例外処理でpassするくらいならそもそも例外が出ないようにすべきだし
自分で例外処理が書けないなら例外をそのまま発生させて別の誰かか未来の自分が対処できるようにすべき

自分ひとりで全部完結するプログラミングなら
他人から見てエラーを脳死で握りつぶしているのか
面倒臭くてpassしてるのか分からない変なコード書くのもありかもしれないけどな

ぶっちゃけ「正しいコード」が書きたいならpythonじゃなく証明型プログラミング使えばいいだけだしな

410 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 20:10:38.20 ID:5FLVJ8iu.net]
正しい処理どうこうの前に
passは文字通り何もしてないんだから処理したとは言わないだろ

411 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 20:18:27.56 ID:VBGSEbtt.net]
>>389
> 例外処理でpassするくらいならそもそも例外が出ないようにすべきだし
> 自分で例外処理が書けないなら例外をそのまま発生させて別の誰かか未来の自分が対処できるようにすべき
>
> 自分ひとりで全部完結するプログラミングなら
> 他人から見てエラーを脳死で握りつぶしているのか
> 面倒臭くてpassしてるのか分からない変なコード書くのもありかもしれないけど
↑イイ!!(・∀・)こと書いてある!!!

412 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 21:32:51.55 ID:SQehs03a.net]
>>389
>例外処理でpassするくらいならそもそも例外が出ないようにすべきだし

なんか言っていることが矛盾してるね。自分ひとりで全部のコードを書いているわけじゃなけりゃ
下層のルーチンから例外が出ないようにするなんてことが常にできるわけがないだろう。
自分で保証できるのは上流の呼び出し元にどういう例外を渡すか(渡さないか)だけ。

>他人から見てエラーを脳死で握りつぶしているのか
>面倒臭くてpassしてるのか分からない変なコード書くのもありかもしれないけどな

意図がわかりやすいコードを書くことが推奨されるのはもちろんだが、逆にコードだけからは
意図を判断しづらいケースはいくらでもあるわけなんでそこを非難しようとしても不毛なだけだと
思うがな。
例えば逆のケースで例外をcatchしていないコードがあった時、それが意図的にスルーして
いるのか面倒くさいからかcatchしなかったのかはたまた例外が発生する可能性を見過ごして
いたのか、コードの字面だけからはやっぱり判断できんだろう。

そもそも、面倒くさくて握りつぶすという発想がよくわからんな。
面倒くさいなら何もしないでスルーするんじゃないの?
#Javaの話で関数の仕様を変えられないから、とかならわからんでもないが。

413 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 21:44:06.26 ID:8hJB6N01.net]
>>392
下層で例外を上に渡すのか渡さないのか決めるなら
例外処理をどうするのかを上層で判断するのか下層で判断するのか
結局どちらでもない中途半端になるだけだな 
上層に例外処理を任せるなら 例外を握りつぶしにしても上層で握りつぶす
例外が出る可能性を消せないのであれば例外を隠蔽しない
例外を隠蔽するくらいなら例外が出る可能性を完全に消す
単純な話だ



414 名前:


>例えば逆のケースで例外をcatchしていないコードがあった時、それが意図的にスルーして
>いるのか面倒くさいからかcatchしなかったのかはたまた例外が発生する可能性を見過ごして
>いたのか、コードの字面だけからはやっぱり判断できんだろう。

このうちのどれかなんて判断しなくていい 全部対処の必要があるからな
君は「問題なく動くコード」を作ることを最優先にしているようだがそのために「問題を起きていないことにする」んじゃあ意味がない
起きてない問題を解決するのは起きている問題を解決することの数倍難しいんだ

エラーが発生すること自体は開発の過程においては別に悪いことじゃない
エラーを見かけ上発生させなくなることで問題を不可視にするほうが害悪
[]
[ここ壊れてます]

415 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 22:04:01.71 ID:SQehs03a.net]
>上層に例外処理を任せるなら 例外を握りつぶしにしても上層で握りつぶす

その例外を発生させた処理に近い方が適切な判断ができるに決まってるだろう。
どういうメリットがあってその処理を上層に任せるなんて言ってるのかねえ。

>エラーを見かけ上発生させなくなることで問題を不可視にするほうが害悪

こうなるともう宗教だな。
仮に内部でエラーが起きたとしても、それが外に対して悪影響を及ぼさないんだったら
無かったことにして全然問題ないと思うが。

416 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 22:08:10.95 ID:5FLVJ8iu.net]
外に悪影響を及ぼさないことを保証できる実力があるなら文句ないわ
俺にはとても出来ない

417 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 22:28:46.19 ID:8hJB6N01.net]
>>394が作ったプログラムが上手く動かなかったときは
下層上層問わずすべてのコードを精査して
「外部に対した悪影響を及ぼさないからエラーを握りつぶしてOK」と「思いこんでいるかもしれない部分」
も含めてチェックしないといけないハメになるな

地獄だぜ

418 名前:デフォルトの名無しさん mailto:sage [2019/11/29(金) 22:51:00.95 ID:X/BrqNBd.net]
全能無謬の神PG降臨

419 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 10:27:47.46 ID:rKTaGmhL.net]
わださんへの反応が皆無で笑ったwさすが初心者スレ。

420 名前:デフォルトの名無しさん [2019/11/30(土) 11:15:37.77 ID:u5c1qEtQ.net]
numpyとかいうのなしで、配列を回転させることはできますか?
テトリスのブロックの回転です

var base = [
[0,0,0,0],
[0,0,0,0],
[0,0,0,0],
[0,0,0,0]
]
var block = [
[0,0,0,0],
[1,1,0,0],
[0,1,1,0],
[0,0,0,0]
]

#
func _ready():
for y in block.size():
for x in block[y].size():
block[y][x] =
print(block)

421 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 11:41:37.85 ID:eoIz8ORY.net]
[[block[3-l][i] for l in range(4)] for i in range(4)]

422 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 11:54:44.80 ID:rKTaGmhL.net]
テトリスなら回転した情報は固定で持っとけ

423 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 12:03:43.42 ID:OO2kPiiB.net]
>>399
 >>401に補足すっと
各ブロックの向き4種類をあらかじめ準備しといて、
まわすボタン(AボタンとBボタンで回る向き違うよな)1回押されるごとに、
(左右どっちか)隣の状態へ行くようにしとけ
4種類目から次へいく指令がきたときは、1種類目を表示するようにも、しとけ。

いちいち回す計算してたら ちぬる



424 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 12:17:28.60 ID:PlBmox+6.net]
配列回すのなんて計算してインデックスを読み替えるだけだろ
配列を書き換える必要などないし計算コストなんてほぼゼロだし極めて単純な算数
>>402はよほど頭悪いんだろうな

425 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 12:51:05.66 ID:rKTaGmhL.net]
> 極めて単純な算数

長いヤツの180°回転がずれたら叫ぶぞw

426 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 12:54:57.33 ID:OO2kPiiB.net]
>>404
んだべや

配列の回転て
手計算だと結構しくじるヤツがいるし
理屈はわかってても、プログラムするとなるとバグ仕込んじゃうヤツけっこういるぞw
>>403は現場を知らない

427 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 12:57:48.37 ID:OO2kPiiB.net]
テトリスブロック回してずれたら(・x・)コロヌ!!!だけど、
ぷよぷよの場合は
「滝登り」できないと逆に困るけどなw

428 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:40:28.58 ID:X9RQeX1v.net]
数億パターンとかあるわけじゃないでしょ?
じゃあテーブルルックアップの方が早いに決まってる

429 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:51:38.88 ID:e3px8G1e.net]
visual studioでpythonをインタプリタ形式で動かすのってどこで設定すればいいんでしょう?

430 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 13:56:10.70 ID:PlBmox+6.net]
>>408
どのような方法で実行しようがPythonはインタプリタ形式で動きます

431 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 15:12:04.28 ID:u5c1qEtQ.net]
テトリス野郎です
ありがとうございます
理解できないんでもう少し調べてrから着ます(´・ω・`)

432 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 15:47:17.79 ID:MBj/QS/D.net]
class myClass():
def __init__(self, message):
self.value = message

def name(self):
self.name1 = self.value
print(self.name1)

m = myClass("hello!")
print(m.name())

433 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 15:48:48.66 ID:MBj/QS/D.net]
>>411なんですが、実行するとhello!とNoneが表示されます
Noneは、どこから湧いてきていますか(´・ω・`)?



434 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 15:50:04.56 ID:MBj/QS/D.net]
class myClass():
 def __init__(self, message):
  self.value = message

 def name(self):
  self.name1 = self.value
  print(self.name1)

m = myClass("hello!")
print(m.name())

インデント入れるとこんな感じです

435 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 15:54:41.68 ID:OO2kPiiB.net]
>>411-413
最終行が悪い
Noneがいらないなら
m.name()
でおk

436 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 15:57:11.28 ID:OO2kPiiB.net]
ところで
>>413な内容をやらせるのに
nameってつけるネーミングセンスは
ないわー

437 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 16:18:36.23 ID:MBj/QS/D.net]
サンクス、直ったわ(´・ω・`)

NameError: name 'センス' is not defined

438 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 16:34:21.86 ID:Esy6R5Oj.net]
>>409
ああ、一行入力したらすぐに結果が返ってくるようにしたいのです。

439 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 16:46:10.13 ID:OO2kPiiB.net]
>>416
なおってなにより。

2年後の自分が上からよんでって、
過去の自分に対して殺意が湧かない程度の名前をつけるようにしる。
すげーだいじだぞ。

440 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 16:51:12.50 ID:SKhbFAll.net]
Tensorflowでディープラーニングの勉強するのに必要なPCのスペックを教えてください。

GPUはやはりいりますか?

441 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 16:57:04.40 ID:NRfKrTi3.net]
はい

442 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 19:01:21.04 ID:BP9rhd+I.net]
>>419
NVIDIAのGPUがいいとか、その中でもGTX750、850、950、1050以上でないと無理だとか
メモリもできれば8GBできれば16GBがいいとか
色々あったか

4スレッドのCPUだとそれがボトルネックになったなんて話もあったかな

だがスピードを気にしないならGPUなしでも出来るだろ!って人もいる
大規模な問題は出来なくなるが

443 名前:デフォルトの名無しさん [2019/11/30(土) 19:04:37.44 ID:SKhbFAll.net]
>>420-421

ありがとうございます。

小さな問題さえ試せればOKだと考えています。
Tensorflowやいろいろなツールを使えるようになればOKだと考えています。



444 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 19:44:27.10 ID:OO2kPiiB.net]
>>422
いやだからさ、
テンフロつかって 何がしたいかによるんだってばよ・・・

ある1人の文豪の文章全部を教師にして
文豪もどきっぽいあやしいモノをつくったったwwwくらいなら
GPUなし、一昔前の古しいPCでも3週間かけっぱでできるんだYO

ところが
文書データといっても
Abstractがひっぱってこれる既存の理系英語論文全てをターゲットにして
なんかかんかしようとすると
メモリ2テラくらい使っていいスパコンがないと、無理。

445 名前:デフォルトの名無しさん mailto:sage [2019/11/30(土) 23 ]
[ここ壊れてます]

446 名前::18:38.91 ID:X9RQeX1v.net mailto: 結局スパコンのタイムシェアリングで50年前と同じじゃねえか []
[ここ壊れてます]

447 名前:デフォルトの名無しさん [2019/12/01(日) 06:11:57 ID:Yb3VJQ//.net]
はじめましてPython初心者です

a = input()

で入力を求めて、[1,2,3,4,5]
と入力をしても変数aが配列にならず文字になってしまいます。
誰が良い方法をお願いします

448 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 06:47:09.10 ID:i2YaNYYV.net]
c#アプリで計測したデータをpythonで自動的に統計処理してグラフ表示する。
って考えてるんですが、言語はpythonでokでしょうか?Rを使うのとどっちがいいか悩んでます。

449 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 06:49:59 ID:i2YaNYYV.net]
想定してる統計は単回帰とコルモゴフスミノフなど簡単なものです。グラフは回帰直線表示させた後に平均値、最大値、最小値を赤でプロットしたい。

450 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 08:24:56 ID:7UL7JgFh.net]
>>425
input()は文字列を返す関数なので、自分で変換する必要がある
https://docs.python.org/3/library/functions.html#input

In [1]: a = input()
1 2 3 4 5

In [2]: list(map(int, a.split(' ')))
Out[2]: [1, 2, 3, 4, 5]

451 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 08:31:43 ID:gxWit/c+.net]
すみません。
macでanaconda3(python3.7)をインストールしたのですが
ターミナルでconda -versionで確認してもcommand not found
python -Vで確認しても2.7.10と表示されるのですが何故でしょうか

環境構築の質問で申し訳ないですがどなたか詳しい方いますか?

452 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 08:39:56 ID:Yb3VJQ//.net]
>>428
ありがとうございます!
変換する必要があるんですね!

453 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 08:51:20 ID:w+6yrHlL.net]
>>426-427
どっちでもできるよ

その後どういう風に上達していきたいのか
それとももうその作業さえできればおkなのか
あとは自分がどっちの言語がより好きなのか

による



454 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 08:52:50 ID:w+6yrHlL.net]
>>429
Macにデフォで入ってるPythonのほうが優先で呼ばれている件
環境変数を弄らないとだめだとおもわれるが
いじるとそれはそれで困ったことになるかもしれない

py -V
は動くけ?
(Python3系は「py」で呼べるのだ)

455 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 09:05:38 ID:gxWit/c+.net]
>>432
ありがとうございます
py -Vもcommand not foundとなってしまいました

私の今の状態はanaconda3、python3.7ともにインストールはされているもののパスが通っていないと言う認識で間違い無いでしょうか?

456 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 09:15:08.45 ID:YC7h427T.net]
>>433
パスが通ってない可能性に気づいたなら、まず自分なりにパスの確認までしてから次の質問をした方がいいぞ。(自分で考える&確かめる習慣をつけるために。)

457 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 09:27:14.95 ID:YoP0MD/8.net]
>>429
>macでanaconda3(python3.7)をインストール
>ターミナルでconda -versionで確認してもcommand not found

Mac使いさんにWin使いが出しゃばってしまうのは非常に失礼なのは承知だが
Winだと

https://qiita.com/kaizen_nagoya/items/7bfd7ecdc4e8edcbd679

Anacondaでのインストール後に
Windosのコマンドプロンプトやパワーシェルにpython -vで
何か表示されるのは、むしろ良くない事だとされている

で、Macだとどうなbだろう?

458 名前:ャfフォルトの名末ウしさん mailto:sage [2019/12/01(日) 09:37:44.85 ID:w+6yrHlL.net]
>>435
conda -versionも動作しないってゆってるからなー

Macは最初からシステムにPython2.7系が入ってるから
なにかがうまくいってなくても
Python2.7系がはいってますよー ってならないとおかしい。

459 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 09:38:14.87 ID:w+6yrHlL.net]
>>433
434氏がすごくイイ!!(・∀・)ことゆってくれてる

460 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 09:40:59.48 ID:YoP0MD/8.net]
anaconda Mac ターミナル

って検索したらやっぱり書いてる人がいたw
この辺はどこも同じか
でもWinはパスは無理に通すな!って書いてあるけど、
Macだと通しても異常が起こりにくいって事だろうな

461 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 09:43:21.98 ID:SqfEoEmM.net]
>>435
複数のPython環境を使い分ける必要があるのは、受託や自社サービスなどコード書くこと自体が仕事の人だけだ
その記事書いた人も例に漏れずバリバリのエンジニアのようだ(その割にはWindowsを使っているというのが滑稽ではあるが)
データ分析やちょっとした手元の処理の自動化など、アドホックにPythonを使いたいならPythonの神経質なバージョン管理は要らん

462 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 10:09:00.60 ID:YoP0MD/8.net]
>>439
>複数のPython環境を使い分ける必要があるのは、受託や自社サービスなどコード書くこと自体が仕事の人だけだ

自分の場合

1.
何かtensorflowのインストールって物凄く難しいらしい!これは別環境作っておかないとヤバい!!!
→Anaconda内にPython3.6の別環境作る。何か今年前半くらいまで3.7では無理だったらしいし
(今では可能になった)

2.
OpenCVのインストールも結構難しいらしいぞ!これも別環境作ってそっちでテストしてから統合だ!
→(1)OpenCVインストール用環境作ってインストール法確立(wheel型の選び方とインストールなど)
(2)先に作っておいたtensorflow用環境をクローンした新環境を作り、そこにOpenCVインストール
(3)全てが上手く行ったことを確認してから、BASEと、[tensorflowとOpenCV両方入った環境]だけ残して
半端なのを捨てる

3. XGBoost?こんなもんは余裕でインストールできんだろ?Baseに入れる
→yaml型がぐっちゃぐちゃになって全部使えなくなる
→Anaconda丸ごと入れ直したorz

ここでXGBoost専用環境作っておけば良かったなあ

4. 1つのWindows入りPCは、ユーザー名の姓名の間に半角スペースが入っていたため
Anacondaインストール後に別環境を作れないと判明したorz
HDDにパーティションつけてそちらにUbuntu入れて出直すべきか

463 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 10:26:29.97 ID:SqfEoEmM.net]
>>440
それならGoogle Colabでよくね
もしモデルを実運用するにしてもどうせクラウド上でやるだろうし



464 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 10:55:49.47 ID:i2YaNYYV.net]
>>431
いずれ、AIとかwebにも手を出してみたいからpythonなんでしょうね。

465 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 15:19:46.36 ID:9bW3hmPM.net]
class myClass():
 def print(self ):
  print('test')
 def __enter__(self ):
  return self
 def __exit__(self, ex_type, ex_value, trace):
  pass

with myClass() as m:
 m.print()
m.print() #←★まだ生きてる

上の場合、withを抜けたらdel相当が行われインスタンスmは使えないと思ってたのですが使えるようです。
classのインスタンス作成でwithを使うのは意味がなかったりますか(´・ω・`)?

466 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 15:29:58.31 ID:n5DjgtsH.net]
pythonに限らない社会通念だと「コンストラクタでインスタンス作成しましょう」というのが共通認識

withは出来るがしてはいけないこと
暗黙のうちの諒解
意味が無いではなく、作法・マナー違反

467 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 15:52:03.12 ID:jNUYX66D.net]
それよりもdel相当が行われっていう認識がヤバい
誰に吹き込まれたんだよそれ

468 名前:デフォルトの名無しさん [2019/12/01(日) 16:02:06.50 ID:iKyYFZEF.net]
LU

469 名前:V MACHINES AG400XN-M2SH2-KK 価格.com限定
Ryzen 7/16GBメモリ/256GB NVMe SSD+2TB HDD/GTX1650搭載モデル

↑現在価格コムのランキングが6位のデスクトップパソコンです。
自分にとってはこれでも高いパソコンですが、このパソコンでディープラーニングを学習できますか?
[]
[ここ壊れてます]

470 名前:デフォルトの名無しさん [2019/12/01(日) 16:04:18.10 ID:iKyYFZEF.net]
GeForce GTX 1650

というGPUが搭載されているとのことです。

471 名前:デフォルトの名無しさん [2019/12/01(日) 16:10:49.64 ID:iKyYFZEF.net]
OSはLinuxではなくWindows 10でもOKですか?ディープラーニング専用機にはしたくないです。

472 名前:デフォルトの名無しさん [2019/12/01(日) 16:14:17.70 ID:iKyYFZEF.net]
電源が500W以上のものばかりですが、電気代もかかるんですね。

473 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 16:19:47.62 ID:x82DeScF.net]
>>443
withにスコープはないからmはその関数内で可視というだけ。
後始末したいものがあれば__exit__でやればいい。mそのものは気にしない。



474 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 16:57:57.48 ID:i659FOIW.net]
A列の値でカンマで区切られたB列に入っている文字列の位置を検索したいのですが、

A列 え
B列 あ, い, う, え, お
欲しい結果 → 3

カンマでsplitした後にA列の値の参照ができなくて、頭がぐるぐるしてきました

475 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 17:06:58.45 ID:w+6yrHlL.net]
>>451
ソースを>>1に挙がってるソース用うpろだのどこかにうp

476 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 17:15:04.02 ID:7UL7JgFh.net]
C#のusingとかと比べると(´・ω・`)?になるのはよく分かる

477 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 17:15:22.17 ID:n5DjgtsH.net]
文字列をイコールで比べてるなら「カンマでsplitした後」は
『う』じゃなくて『 う』だな
ようするに先頭に空白でもあるんじゃねえの

478 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 22:13:46.59 ID:gxWit/c+.net]
すみません
>>433です
いろいろググって試しましたがpathが追加されず・・・
macの環境に詳しい方いませんか?

479 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 22:49:38.38 ID:w+6yrHlL.net]
>>455
「MacでPATHを通す」でぐぐれカス
あと
ルートレスとかが強烈だとそれも解かないとだめかもね

480 名前:デフォルトの名無しさん mailto:sage [2019/12/01(日) 23:08:22.92 ID:UCpH0Yie.net]
>>419-423
>>446-447
マウスコンピューター、
期間限定 2019/11/20(水)11時 〜 2019/12/4 (水)11時
ttps://www.mouse-jp.co.jp/special/sale/

m-Book X400H
ノートPC で、87,800円

14型 フルHDノングレア (LEDバックライト)で良ければ、
Core i7-8565U, 8GB メモリ, 256GB SSD

m-Book K700XN-M2SH5
ノートPC で、133,800円

15.6型 フルHDノングレア (LEDバックライト)
Core i7-9750H, 32GB メモリ, 512GB SSD NVMe対応,
GeForceR MX250, 1TB HDD

481 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 00:39:03 ID:jhokUOzU.net]
全く関係無いが、Core i5の1万番台のu型って
4コア8スレだったのか
一部で、深層学習でGPUを使うならコア性能よりスレッド数重視だぞってあったが
本当なのかなあ

MX250だと一応はCUDAコアを使えるね
今はCPUオンボードで深層学習での性能が上がって来てるけど、それよりは数倍は良い

482 名前:457 mailto:sage [2019/12/02(月) 08:20:54 ID:H5nAExhM.net]
>>446
も、マウスコンピューターのタワー、96,800円。
価格.com限定モデルか

メモリも、32/64GB まで拡張した方がよい。
SSD も、512GB へ。
保証期間も3年以上は、ほしい

OS も一応、5,800円

483 名前:で、Windows Pro版にする []
[ここ壊れてます]



484 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 09:34:41 ID:PBi2xeij.net]
こっちもMacで困ってるな〜
Finder使いづらくて共有かけてWindowsエクスプローラー+Windows側のVSCodeで作業してるんだけど
Windows側(3.7.3)では問題なく動く、Mac側(3.7.3)もターミナルは問題なく動く、XCode(3.7.1)からだとPythonのバージョンが違う・・・

485 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 09:44:43.19 ID:az4xQt0G.net]
pythonはexcelと共にwin側についたからね
appleとしては排除したいところ

出来れば自社開発の軽量スクリプト言語を広めたいハズだが
winとmac両方で動くインタプリタをappleが作る……なんてのはやりたくないはずだ
なんつったって軽量スクリプト言語でトップシェアはpythonじゃなくexcel付属のvbaだからな

486 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 09:55:11.39 ID:H5nAExhM.net]
Docker Hub で、好きなバージョンを探せば?

それか、仮想環境とか

487 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 10:06:45.06 ID:wB1a1keO.net]
FinderでPython関連のファイルなんか触ったことないわ
普通VSCode上でやるかターミナルじゃね

488 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 10:45:06.16 ID:5RGCQ9ir.net]
プロゲートのpython最後までやってじゃんけんするゲームを作った
forなりifなり覚えたけどここ以降どうすればいいのかよくわからん…
今後の目標としては自分なりのプログラム作りたいけども皆さんはどのように進めていった?

489 名前:デフォルトの名無しさん [2019/12/02(月) 10:52:33.57 ID:KwsHxcvC.net]
>>461
マイクロソフト「マイクロソフトが Excel に搭載するのは JavaScript であって、Python を使いたいのであれば PyXLL か xlwings を使え」
ExcelにPythonが搭載?その後 - xlwings を使おう
https://qiita.com/yniji/items/b38bc312e860027108ac

アップル「AppleScript使ってくれる人増えないからMacの自働化用の言語にJavaScript (JavaScript for Automation : JXA) も追加したわ」

490 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 10:56:28 ID:2anHlm9G.net]
123円までは押し目買いで誰でも儲かる相場やね

491 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 15:19:02.88 ID:/uccKnPl.net]
テトリミノの回転をやってるのですが、前の配列にアクセスする方法はありますか?
array = [1,2,3,4]
for i in array.size():
■array[3]
とすると4が取り出されますが、その前の3にアクセスする方法はありますか?
array[3]-1
みたいな感じですかね

まだよく理解できんてないんで(´・ω・`)

492 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 16:12:08.26 ID:OkhwRYub.net]
a[3-1]でおk

493 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 16:19:15.17 ID:OkhwRYub.net]
よく見るといろいろおかしいな。
配列の要素にダイレクトにアクセスするならforは要らんし、
要素数を求めるならlen(array)

for i in array:
print(i)



494 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 16:37:06.71 ID:/uccKnPl.net]
前の配列にアクセスに書き換えることで、回転させるわけすよね(´・ω・`)

495 名前:デフォルトの名無しさん [2019/12/02(月) 16:37:32.77 ID:HSnksJTz.net]
>>443
インタプリタというかIDE環境でやってると
立ち上げて実行したときのmは全部残るから
前にテストしてたmが残ってるだけじゃないのか

496 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 17:18:43.24 ID:TTdajGZT.net]
>>464
で、次は何がしたいんだ?

497 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 17:22:48.79 ID:TTdajGZT.net]
>>467
temporary=3
mae_no_yatsu=array[temporary-1]
的な

>>470
逆向きに回す場合は
次の配列にアクセス、かつ「次」が配列の要素数をこえてたら、振り出しに戻す(0番目を呼ぶ)んだぞ

498 名前:デフォルトの名無しさん mailto:sage [2019/12/02(月) 23:30:43 ID:Vi1WkRIA.net]
Win環境で2枚の画像ファイルを必ず一定(Min.1)の
出力フレーム周期で、交互にフルスクリ

499 名前:ーン表示する
手段は無いでしょうか。
今はOpnnCvのフルスクリーン設定でループさせて、
cv2.waitKey(1)
sleep(0.011)
といった記述ですが、原理的にずれるを避けたいです。
PsychoPyはFHDクラスのフルスクリーンに対応できず、
waitForVBlankやFrameSwap等のキーワードは把握したのですが、
使い方がわかりませんでした。
[]
[ここ壊れてます]

500 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 09:14:43 ID:NKF0Kit+.net]
なんか上の方でmacOSでのanaconda導入の話題あったから便乗して質問してみます

・やったこと
https://weblabo.oscasierra.net/python-anaconda-install-macos/

↑を参考に公式からインストール
ターミナルで下記実行するも
python3 --version
conda --version ともにcommand not foundになる
python --versionではおそらくデフォで入ってる2.7.10が表示される

brew install python3を実行後、python3 --versionすると3.7.0と表示

condaコマンド?は/Users/user_name/opt/anaconda3/binにあるらしい
かつ、printenv PATHしてみると上記PATHが表示されないのでPATHが通っていないと推察

https://qiita.com/nbkn/items/01a11392921119fa0153

↑を参考に上記PATHを記述後、printenv PATHしてみたが変わらず

・聞きたいこと
1.condaコマンドが使えないのはPATHが通っていないという推測は合っているか

2.1が正しい場合、他にどのように通す方法があるか
 現状(anaconda3インストール時点)のbash_plofileに記載されているのは↓の質問者の試したことにあるのと同じ内容

https://teratail.com/questions/157057

3.そもそもanacondaインストール手順として自分がやったことは合っているのか


稚拙な質問かつ分かりにくい文章で申し訳ありませんがどなたかご教示お願いします

501 名前:デフォルトの名無しさん [2019/12/03(火) 09:39:57 ID:yN5r9ueQ.net]
>>474
pygame

502 名前:デフォルトの名無しさん [2019/12/03(火) 09:41:35 ID:yN5r9ueQ.net]
>>475
3が間違ってる可能性が高い
つまり1と2は議論の無駄

503 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 10:52:33 ID:jDo5c24e.net]
>>475
$ echo $SHELL
でシェルがbashかどうか確認

$ source ~/.bash_profile
で.bash_profileの中身(conda initの記述)を実行

$ conda



504 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 10:59:33 ID:tHrvVoQx.net]
>>472
定まってないですね
なので先人が基礎的なこと覚えたあとになにをやってるのか興味があります

505 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 11:13:43 ID:qZgArKp4.net]
>>479
おれは文字列処理@Python2系に挑んで地獄を見た
機械学習ごっこも、日本語をPython2系でやって大変だった。
そしてそのせいで仕事も文字列処理系(ただし英文だった)をやらされていた。

506 名前:デフォルトの名無しさん [2019/12/03(火) 11:44:17.75 ID:AqN4uIMS.net]
>>479
作りたいもの作ってた

507 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 11:44:47.36 ID:NKF0Kit+.net]
>>477
ありがとうございます
具体的に何が足りないor間違っていますか?
わかる範囲で指摘いただければ助かります

>>478
ありがとうございます
SHELLはbashです、昨日確認しました
残り2つはマシンが手元にないので後ほど確認します

508 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 12:34:43.15 ID:V7OsQf4N.net]
素人がAnaconda使うなと言っとるに

ほんと害悪

509 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 12:49:44.64 ID:q4QgEASS.net]
まあ最近はどの本やらサ

510 名前:イトもpython始めるならanaconda導入から始めようみたいなの多いしそれを見たんだろう []
[ここ壊れてます]

511 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 12:53:12.70 ID:jDo5c24e.net]
>>479
先人はまず短期的な目標を定めてました

512 名前:デフォルトの名無しさん [2019/12/03(火) 14:50:11.02 ID:yN5r9ueQ.net]
WindowsのAnacondaは悪くない
Macが糞なだけ

513 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 15:13:57.50 ID:y8LThl7W.net]
ほんとMac使いにくいなぁ、Windows版のXCodeないのかな



514 名前:デフォルトの名無しさん [2019/12/03(火) 15:34:53.26 ID:wVEeBLb4.net]
コンピューターサイエンティストはなぜMacを使っている人が多いのでしょうか?

515 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 16:03:37.12 ID:ZS5h3RP8.net]
UNIXだから
Python使うにしても手元でアドホックな自慰をするだけならWindowsで問題ないけど、
でき上がったものをクラウドで実運用に乗せようと思うと途端にWindowsは嫌になる

516 名前:デフォルトの名無しさん [2019/12/03(火) 17:10:29.26 ID:5ZiHQIvd.net]
ディープラーニングやらブロックチェーンやらでGPUブン回す人たちはMacなんか使わんでしょう

517 名前:デフォルトの名無しさん [2019/12/03(火) 17:27:41 ID:yN5r9ueQ.net]
Macでどやりたいひとはwebクリエイターωの意識他界系の人らだから

518 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 17:45:48 ID:qZgArKp4.net]
> 意識他界系
  ↑New!!!

519 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 17:50:56 ID:TyO2yArk.net]
newではなかろ

520 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 17:59:03 ID:qZgArKp4.net]
他界しちゃうレベルwは新しくね?

521 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 18:12:42 ID:I9YoNGrF.net]
GPUガン積みの自作PCだとWinになる
自作の情報が多いのはWin

522 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 18:20:22 ID:1+EGgKJy.net]
macアンチ多いんだな
肩身が狭い

523 名前:デフォルトの名無しさん [2019/12/03(火) 18:25:02 ID:aHy1at+0.net]
dockerやクラウドなどなどリモート開発が主体だから、最早WinとかMacとか関係ない。
GPUにしても、最近はGPUサーバを作ることを考慮して、Linux対応も重視されてきてる。



524 名前:デフォルトの名無しさん [2019/12/03(火) 18:51:26.99 ID:wVEeBLb4.net]
オンラインのコンピューターサイエンス系の動画を見ると大抵Macのノートブックを使っているので、
不自然に感じました。

一般人はWindowsの人ばかりですよね?

525 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 18:59:49.01 ID:y8LThl7W.net]
Windows一筋だな、MacBookAir持ってるけどスタバ用

526 名前:デフォルトの名無しさん [2019/12/03(火) 19:13:19.98 ID:TpwdWSlD.net]
MBP2017今も使ってるけどキーボード酷すぎで一気にアンチになったわ。
と、言ってもネットで恨み辛み書き込んでるだけでようやっと欠陥キーボードやめたらしい最新モデルの13インチ版が出たらまたMacにしてしまうかもしれん。

527 名前:デフォルトの名無しさん [2019/12/03(火) 20:02:59.85 ID:wVEeBLb4.net]
>>500

ちなみになぜMacが好きなんですか?

素人目に見ると、Linux, Mac, Windowsどれも大差ないように思います。

528 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 21:01:39.68 ID:qZgArKp4.net]
>>498
研究室だと
初期設定を人数分するのがうっとうしいとか
元居た畑のソフトがその昔Mac用しかなかったとか
予算がありあまってるからとか
昔は入ってたヒラギノが大好きだからとか
色んな理由でMacイ諸がいる

529 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 21:07:43.82 ID:2pgR0qgk.net]
>>501
Unix環境でMS Officeがまともに動くのがmacOSだったから
今ならWindowsでもWSLあるから別にどっちでもいい
Docker使うときだけはWindows 10 proになるが、これが恐ろしく使いにくいのでmacを使っている

530 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 21:10:47.82 ID:2pgR0qgk.net]
>>483
単に使ってるヤツがダメなだけだぞ
超簡単なインストールすら出来ない奴が、本家のpythonでトラブル起こさない保証はゼロだ

531 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 21:14:29.01 ID:2pgR0qgk.net]
>>486
いや、俺の感覚ではwindowsのanacondaの方が難しい
特にvscodeでデ

532 名前:oッグする場合のクソさは辟易する
Powershell周りがまだまだ全然安定していない

macはそのあたりノートラブルだから非常に素直だ
macでanaconda disってるヤツは本当に使った事があるのか疑問
[]
[ここ壊れてます]

533 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 21:26:28.87 ID:2pgR0qgk.net]
>>475
一応答えておくか

anacondaのインストールに失敗している可能性が高いので、まずは全部消す

anacondaはサイズがデカいので、googleでminicondaを検索
macOS 64bits版をダウンロードして、ターミナルから

bash ダウンロードしたファイル名

すると

/Users/ユーザ名/miniconda3

にインストールされる
.bash_profileに設定が追加されるかどうかはインストール最後の質問にどう答えたかで変わる



534 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 22:01:53.53 ID:jDo5c24e.net]
何を根拠にインストールが失敗してると言ってるのか??
インストール先から直接実行してみればPATHが原因かどうかはわかるやろ?
$ /opt/anaconda3/bin/conda

535 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 22:24:46.68 ID:g35XzY+N.net]
>>507
全部デフォルトでインストールした場合、condaコマンドが見つからないと言う状況は起こらないので失敗していると判断

.bash_profileに既に何らかのバグがあってanacondaのインストーラが追加したスクリプトに到達しないとかはあり得る

536 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 22:26:13.73 ID:1+EGgKJy.net]
全部消すって言ってもcondaコマンドが使えないならアンイストールすらできないんじゃね?

537 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 22:32:35.05 ID:g35XzY+N.net]
>>509
Anacondaはディレクトリをrm等で消して、
.bash_profileに追加されたスクリプトを消すだけでOK

venvとか使ってanacondaをインストールするのはオススメしない
あとは/opt/anacondaや/usr/local/anacondaに共用としてインストールしたいとか、そんな欲求は捨てて全部デフォルトに従うのが吉

538 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 22:35:56.90 ID:1+EGgKJy.net]
>>510
へーそうなのか
消すことはないだろうけど勉強になるわサンガツ

デフォルトの件は>>475のインストール手順書いたサイト見ると次へをポチポチしてるだけだからデフォルトっぽいけど何か違うんかね?

539 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 22:58:31.06 ID:g35XzY+N.net]
色々な可能性はあるけども
1. .bash_profileにバグがある
2. デフォルトshellがbashでない
3. インストール前からディレクトリの不整合を起こしていた
と言う感じかなぁ

minicondaではなくAnacondaを入れたのなら、
/Application
の下のAnaconda-Navigatorが正常に動くかどうかでも確認できそう

540 名前:デフォルトの名無しさん mailto:sage [2019/12/03(火) 23:05:47.06 ID:g35XzY+N.net]
よく見ると記事が若干古いなぁ

昔のデフォルトは/anaconda3で、その設定が残ってている可能性はありそう
今のデフォルトは/opt/anaconda3

541 名前:デフォルトの名無しさん [2019/12/04(水) 11:06:34.64 ID:sb3P/SSe.net]
>>498
おまいは印象操作に簡単に引っかかるタイプやろ
ジャパンライフに騙されるのもこんな人らだろ

542 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 12:33:08.37 ID:tCRQbFTx.net]
そして今日からAnacondaのPythonが3.8になりやがった
そして3.7に落としてから、tensorflow-gpuをインストールして、無事動作確認

tensorflow-gpuも前みたいに事前に色々入れなくても動くんだな
Visual StudioなしでcudatoolkitもcuDNNもcondaで持ってきてくれた
なおtensorflow-gpuは1.15
cudatoolkitは10.0を持ってきてくれた(RTXなので良かった)

ちょっと前にGTXの後期のを入れたときはcudaも9を自分で選んだ

543 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 20:43:50.89 ID:yceLOpTG.net]
Mac with Anacondaって変になると、アンインストールも出来ん



544 名前:デフォルトの名無しさん mailto:sage [2019/12/04(水) 21:17:36.87 ID:F/ByLZY9.net]
yokokara

545 名前:デフォルトの名無しさん [2019/12/05(Thu) 10:02:18 ID:IbmhSLeW.net]
VSも変になるとアンインストールも再インストールも出来ん

546 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 14:29:13 ID:TzSLtKO4.net]
https://codeday.me/jp/qa/20190216

547 名前:/261316.html
この質問者と同じことがしたいんですが、回答が参考にならないです。

質問:.pyへの引数として*.csvのようなワイルドカード(のファイル名)を使いたい、
回答:.py内に'*.csv'とシングルクォートで囲って書け

そういうことではなく(.pyへの直書きではなく)
.pyを実行する際の引数にワイルドカードを使いたいんですが、可能でしょうか?
[]
[ここ壊れてます]

548 名前:デフォルトの名無しさん mailto:sage [2019/12/05(Thu) 14:53:39 ID:Wm9fQur5.net]
リンク先の回答者が的外れなように書いてるけど、あなたが理解していないだけ。
ちゃんとglobモジュールを使うことで…と書いてある。
python test.py '*.csv'

import glob,sys
filelist = glob.glob(sys.argv[1])
print (filelist)

549 名前:デフォルトの名無しさん [2019/12/05(Thu) 15:01:59 ID:IbmhSLeW.net]
ワイルドカードの展開ってshellがするんじゃなかったか

550 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 18:09:17.19 ID:OLqlmSOk.net]
import hoge
した時にimporterrorになったら
自動でpip installしたいとき

try:
import hoge
except:
subprocess.call('pip install hoge')
import hoge

こんな感じのを、関数化するにはどうすればよいですか
importをimportlib使って引数にストリングで渡すと、hogeが未宣言になります

551 名前:デフォルトの名無しさん [2019/12/05(木) 20:08:18.78 ID:2mCSg13D.net]
やるならSetuptoolsとかでやるべき部分だと思う
せいぜい実行したいpipコマンド出力するぐらいでいいでしょ

552 名前:デフォルトの名無しさん mailto:sage [2019/12/05(木) 20:51:28.08 ID:wdnl8B6T.net]
>>522
hoge = importlib.import_module(“hoge”)
hoge.hage()

553 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 00:49:38 ID:IktivxOB.net]
>>519-520
Ruby の1-liner なら、これでカレントディレクトリにある、
すべてのCSV ファイル名が表示される

ruby -e "puts Dir.glob( '*.csv' )"

'*.csv' を、コマンドライン引数として渡したいのなら、ARGV[ 0 ] に入ってくる。
ruby -e "puts Dir.glob( ARGV[ 0 ] )" '*.csv'

例えば、
ruby -e "puts ARGV[ 0 ]" 'abc'
#=> abc

Ruby の場合は、
「ruby オプション script.rb 引数」で、
スクリプトファイル名は、ARGV[ 0 ]じゃなくて、$0 に入ってくるので、
引数がARGV[ 0 ]となる

漏れは、Python は知らないので、>>520
によると、引数がARGV[ 1 ]に入ってくるのかな?

>>521
* のままなら、シェルが展開する。
ls [b-d]* # bcd で始まるファイル名

*をエスケープするには、'*' "*" \* の3つ。
expr 2 '*' 3 #=> 6



554 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 05:01:48.56 ID:Z1B97fiv.net]
>>525
糞食って寝ろ

555 名前:デフォルトの名無しさん [2019/12/06(金) 08:57:25.01 ID:y8t5v3Vv.net]
>>525
python知らないなら出ていけ

556 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 09:24:26 ID:jevOtndm.net]
ネタじゃないうえにPython関係ない質問なんだけど
Rubyってどこで使われてるの?めったにみないよね、Windowsには無いし

557 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 09:51:33.13 ID:ju+bNL7K.net]
>>528
ネタじゃないならお前はスレタイ読めないゴミw
スレにもいらない。出ていけ。

558 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 10:26:00.43 ID:e8Nbwz4h.net]
>>528
Webサービス
有名なのはクックパッドとかGithubとか
どちらも最近はGoへの置き換えが進んでるらしいがw

559 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 13:37:02 ID:bsu7R2yD.net]
なんでそんなイライラしてんのww

560 名前:デフォルトの名無しさん [2019/12/06(金) 14:01:46.87 ID:rmctNxUZ.net]
HDD消さずに業者に手渡したから
証明書貰ってるから大丈夫だよね?

561 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 15:08:35.02 ID:y+wr0N/5.net]
>>528
件のRubyバカが懇

562 名前:リ丁寧に(いい加減な話も含めて)教えてくれるだろうから、手を取り合ってどこか他所に行って続けてくれ []
[ここ壊れてます]

563 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 17:52:40 ID:TL5X+SDz.net]
>>524
関数化はどうすればいいですか?
my_import("hoge")

import hoge
と同等の機能を実現できる関数化したいです。
やっぱ無理ですか?



564 名前:デフォルトの名無しさん [2019/12/06(金) 18:00:33 ID:rmctNxUZ.net]
setattr で local とか global に追加汁

565 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 18:28:19 ID:c6fF/5cl.net]
yokokara

566 名前:デフォルトの名無しさん mailto:sage [2019/12/06(金) 18:50:12 ID:bsu7R2yD.net]
>>534
え〜

def my_import(module):
____return importlib.import_module(module)

hage = my_import(“hoge”)で
import hoge as hage とだいたい同じ

567 名前:デフォルトの名無しさん [2019/12/06(金) 18:56:20 ID:K1aFtUDf.net]
return必須なの?

568 名前:デフォルトの名無しさん [2019/12/06(金) 19:42:50.51 ID:ELuQ0rBw.net]
def my_import(module):
setattr(globals(), module, importlib.import_module(module))

569 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 20:40:09.64 ID:ZdcZp/3W.net]
Pythonて、配列無いんですか?

570 名前:デフォルトの名無しさん [2019/12/07(土) 20:42:30.04 ID:tj55yZgB.net]
リストの実装は配列じゃないかな

571 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 20:46:16.73 ID:ZdcZp/3W.net]
>>541
ありがとうございます。配列の事を調べると、すぐにNumpyというライブラリーの話題になってしまうので
ひょっとして標準で存在しないのだろうかと悩んでました
リストのことを調べてみます

572 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 22:27:30.46 ID:ADlg+SvA.net]
[]←これとはまた別なの?
あれ配列って長が固定なもんを指すんだっけ?
()ともまた違うんけ?

それよりnunpyの話詳しくしてほしいなって…!
なんか便利なライブラリーなんしょ?

573 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 22:38:35.16 ID:Z1wtMTIj.net]
便利というか数値配列扱って計算とかするなら実質必須



574 名前:デフォルトの名無しさん mailto:sage [2019/12/07(土) 22:56:30.44 ID:i1TdHIG2.net]
>>542-543
[]はリスト
()はタプル

575 名前:デフォルトの名無しさん [2019/12/08(日) 00:16:58.54 ID:0l6xumYX.net]
今こそ血涙の文字で告白しよう!!
僕たちが純粋な輝きを失って大人になってしまったらお座なりとおべんちゃらと、陰口と
服従と妥協と打算と倦怠と保身の中で、ずるがしこく、チョロチョロと動き回りながらネズミの
一生を送るようになるんだ。
それから結婚して子供を作って、世の中でいちばん醜悪な母親という大人になるんだ。
ああ、時の流れとはなんと残酷なのだろう!!
生きることと老いることが同義語だという過酷な命題を直視しなければならないんだ。
老いはまさしく肉体と精神の双方の病気だったが、老い自体が不治の病だということは、
人間存在自体が不治の病だというに等しく、われわれの肉体そのものが病であり、
潜在的な死なんだ。
衰えることが病であれば、衰えることの根本原因である肉体こそ病だった。肉体の本質は
滅びに在り、肉体が時間の中に置かれていることは、衰亡の証明、滅びの証明に使われて
いることに他ならないんだ。
老いはすさまじい恐怖であり苦痛であり、そして真実である。
このままだと僕たちは腐敗して汚れて蝕まれたおぞましい大人になってしまうんだ。
大人たちは日々を生きのびようとする故なき執念、執着によって、地上に栄える
ありとあらゆる悪徳と汚穢とを一身に体現しているのだ。
テチには限られた貴重な時間を死にものぐるいで生きてもらって思う存分に輝いてもらいたい。
ああ、一分一分、一秒一秒、二

576 名前:xとかえらぬ時を、人はなんという稀薄な生の意識で
すりぬけるのだろう!!そうして血が失われるように時が失われていく。
そしてテチが二十歳になったら、その最後の輝きの絶頂の中でステージ上で美しく鮮烈に
死んで欲しい。
ああ、テチの光輝あふれる肉体と精神が劣化することも衰退することもない永遠に美しいまま
伝説となり歴史となるために無慈悲な時の流れを止めたい!!
その時、テチには誰かもわからない僕も自殺する。
大人になるテチなんか絶対に許さない。僕はテチと血まみれになって心中する。
テチを殺すことを許してください。テチをステージ上で銃殺して自殺する。
僕の血とテチの血が混ざり合って純化されるのだ。
これだけはわかって欲しい。僕が誰よりも平手友梨奈を永遠に愛していることを・・
[]
[ここ壊れてます]

577 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 00:25:36.70 ID:ohyhj+qx.net]
来てみりゃいきなし通報案件じゃねえか……
こりゃたまげたなぁ……

578 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 08:38:54.60 ID:d61YKsOU.net]
しかも文章めっちゃ上手いよね
その才能をなぜ文学とか別の方向性に活かせないのか…

579 名前:デフォルトの名無しさん [2019/12/08(日) 14:51:24.96 ID:J+6Nu+8f.net]
>>542
numpy 使った方が良い

580 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 17:09:05.43 ID:pSs03yKS.net]
本当に超初心者質問です。
pythonで

a=100

a = 100

では、どっちの書き方にするべきですか?
今までC#でVSが

を打つと自動的にきれいにスペース入れてくれてたので、
どう書くのが標準なのかわかりません。

581 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 17:11:09.15 ID:iU1G1+Qw.net]
a = 100

582 名前:デフォルトの名無しさん [2019/12/08(日) 17:17:26.29 ID:wNkvi2te.net]
>>550
https://pep8-ja.readthedocs.io/ja/latest/

583 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 18:22:21.20 ID:pSs03yKS.net]
>>551
これVSが自動で直してくれないんでしょうか?
自分でスペースとか入れていると、
いちいち表記法を意識しなければいけないのでしんどい。



584 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 18:23:02.65 ID:B7mwO2xN.net]
>>550
pycodestyleやautopep8みたいなlinterを使うと
変な書き方してると注意してくれたり修正してれたりする

585 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 18:28:29.58 ID:/kMCly/x.net]
>>553
VSをアンインストールしてVSCodeをインストールすれば自動修正も可能

586 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 19:29:26.06 ID:ick2zDgR.net]
yokokara

587 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 19:42:50.38 ID:Wyx2vkr6.net]
>>555
C#使ってるやつのVS、アンインストールさせんなw追加でVSCode入れればいい。

588 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:31:30.09 ID:ZrAxLUnk.net]
>>552
そーか、インデントにはtabじゃなくてスペース4個が望ましかったのか.....
ずっとtab使ってたわ、まぁ他人に配布することないし今後もtabで行くと思うけど...

589 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 20:41:40.91 ID:ohyhj+qx.net]
そういう宗派ですからね
戒律は厳しいです

590 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 21:18:36.18 ID:/kMCly/x.net]
>>558
https://stackoverflow.blog/2017/06/15/developers-use-spaces-make-money-use-tabs/
> スペース派はタブ派よりも高収入

591 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 21:47:58.89 ID:h14g0YSH.net]
>>558
俺もtab(表示は4スペース)派
人に渡すことはまずないしあっても変換すりゃいいだけだし

592 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 21:52:20.12 ID:ZrAxLUnk.net]
>>560
ぱっと読んで多変量解析してなさそうな報告だったけど、本当にインデントの種類が収入の因子になって

593 名前:驍フかね?
まぁ、俺は趣味だからtabで今後も行くし,spaceインデントを否定するつもりはないけど

(1)スペースだと4段階インデントに16回スペースを押さなければならない、tabだと4回で済む
(2)スペースの打ち間違いによるエラーがわかりにくい、
   4段階インデントの場合、スペース16個と17個(間違い)がぱっとみわかりづらい。
   CとかならいざしらずPythonだとエラーになる。tabだとtab4個と5個では違いがはっきりしてる。

オートインデント使えねえクズは死ねとか言われそうだけど.....
[]
[ここ壊れてます]



594 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 22:06:25.63 ID:iU1G1+Qw.net]
開発環境の整備を検討するべきだ

595 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 22:47:58.24 ID:B7mwO2xN.net]
>>562
>(1)スペースだと4段階インデントに16回スペースを押さなければならない、tabだと4回で済む

エディタの機能でtabキーを4回押せばスペース16個になる
さすがにスペースキー連打してるやつはいないよ

596 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 22:52:01.83 ID:ZtTX+YkB.net]
>>562
ちょっとちょっとw
丁寧におかしな分析してんじゃないですよ?

597 名前:デフォルトの名無しさん mailto:sage [2019/12/08(日) 22:59:41.29 ID:Wir5LDVx.net]
他言語ではタブ派だけどpythonだけはvscodeでスペース4に設定してるな
indent-rainbow入れとけばインデントミスはすぐわかるし

598 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 00:23:43 ID:1/0np3ih.net]
>>557
vscodeなら直してくれるんだ・・・。
pythonsはやっぱりVSでなくてvscode使えってことなのか。

599 名前:デフォルトの名無しさん [2019/12/09(月) 11:12:02 ID:RLwtKsqp.net]
インデントの話やPEP8の話が出て来ると
必ずと言って良いほどオレの方が正しいって
主張始めるやつが出て来るのが面白いな

スペース 2 個派です

600 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 12:15:24.24 ID:WTLcFYnZ.net]
pythonの場合、インデントが必ずしも2とか4の倍数じゃないところがめんどくさい。
パレンで囲って改行したときに、次の行頭にちまちまスペース入れなきゃならないし。
まぁ、しなくても動くけど。

タブ文字は便利だが、こうした場合スペースと混合されると紛らわしいな。

601 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 12:38:11.52 ID:WjwE1wYD.net]
>>568
Pythonは一応バイブルあるから自分が正しいって主張する奴はあんまりいなくね?
大抵は俺と一緒で「自分しか関与しないから俺流でやるぜ」って奴かと

602 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 12:59:58 ID:W35ag/eC.net]
教義を守らないヤツは異端だから滅ぼしていい
ってのが西洋人の考え方だよ

603 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 13:46:32.29 ID:2N90NDIG.net]
2はそれでホロンだ



604 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 16:20:48 ID:qscAnUd4.net]
そういえば、ホロン・リナックスってあったなぁ

605 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 16:55:51 ID:03JGrJKy.net]
他の言語(Goはタブ強制だから除く)だとスペース2個派だけど、Pythonは4だなあ
PEP以前にPythonでスペース2個は浅すぎて読めん
深いネストから戻るときに今何段目か分からん

606 名前:デフォルトの名無しさん [2019/12/09(月) 16:57:50 ID:VQkZ+CLb.net]
ネストよりフラットが良い by zen of python
貧乳派の教祖である。

607 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:26:52.50 ID:3v06ZNRZ.net]
https://ideone.com/Wg79gW
ループをy→xの順で回して、printはlist[x][y]とすると以下の結果になります
1324
これはなぜでしょうか
どういう仕組みでこうなるかわかりませぬ

608 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:29:17.58 ID:uy6UoUfX.net]
え?

609 名前:デフォルトの名無しさん [2019/12/09(月) 17:33:45.58 ID:RLwtKsqp.net]
そもそもpythonじゃないのでネタ確定だが
あえてpythonで書くと
https://ideone.com/osA1LA

610 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:34:28.98 ID:scocuTx7.net]
>>576
varで始まってる時点でPythonじゃねぇ
チネ!!

611 名前:!(・∀・) []
[ここ壊れてます]

612 名前:デフォルトの名無しさん [2019/12/09(月) 17:39:42.43 ID:RLwtKsqp.net]
ごめん途中で送信したので
やり直し
https://ideone.com/5YnYmj

613 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:42:40.72 ID:3v06ZNRZ.net]
>>579
似てるのでここでいいです



614 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:43:07.42 ID:3v06ZNRZ.net]
>>580
ネタではないです
ただ、どういうロジックでこういう結果になるのかわからないです

615 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:47:31.97 ID:scocuTx7.net]
>>581
それを判断するのはオメーじゃねぇ
(・∀・)カエレ!!!
チネ!!!(・∀・)

616 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 17:56:15.08 ID:FD9BPIub.net]
>>582
xとyの値を確認しながらデバッガーでステップ実行するかprintデバッグすればわかる

617 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 19:13:08.22 ID:3v06ZNRZ.net]
ありがとう
でもわからない

618 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 20:12:58.55 ID:8kuRYSAZ.net]
>>581
もしかしてお前は自分が書いている言語が何なのかすら知らないのではないか?ロジックがどうこう言う手前の段階だろう。

619 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 21:49:55.90 ID:m18yM9uO.net]
Windowsの「アプリA」バージョン3が文字列を画面に表示してます
これを「アプリA」バージョン2に対してコピペしたいのですが
二つのアプリは同時に起動することができません

そこで、まずバージョン3を起動して、手に入れたい部分をコピーしてテンポラリー書類にコピーペースト.

入れ替わりでバージョン2を起動して
テンポラリーからコピペしたい部分をゲットして
バージョン2宛にペースト.
そんな工程を目論んでます

テンポラリーファイルには、変数名と文字列、数値が記録されることになると思います

このような手法に適した、ファイルの書き出し・読み込みと言えばどんなものがあるでしょうか?

自分なりにはpickleというものを見つけましたが、なんか難しそうな気がしました
アドバイス頂ければ嬉しいです

620 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 21:53:47.07 ID:gL89svw9.net]
クラスの勉強をするかdict型で書き出すかして
そのままpickleにかけろ
それより楽な方法は生データをテキストで保存することだが後々苦労するからやめとけ

621 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 22:18:14.86 ID:m18yM9uO.net]
ありがとうございます
dictと、クラスの定義ですね

はて?
pickleって、ひょっとして持っていけるのは要素だけで
変数名とかリスト名とかは持っていけない?

622 名前:デフォルトの名無しさん mailto:sage [2019/12/09(月) 23:42:57.55 ID:Pxm13ZGa.net]
可読性を重視するならjsonもありかと

623 名前:デフォルトの名無しさん [2019/12/10(火) 09:42:46 ID:Gtb8KZ21.net]
可読性ならjsonよりyamlやtomlのほうが…



624 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 13:06:22.84 ID:6QYDHDQi.net]
括弧が付いてると可読性が上がる

625 名前:デフォルトの名無しさん [2019/12/10(火) 13:28:31.47 ID:uPxE4CgL.net]
カッコ悪い

626 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 13:35:45.35 ID:F3h+m1zk.net]
(E)!

627 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 15:08:32 ID:FE1Fen7q.net]
jsonファイアフォックスで見れば見やすいぞ

628 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 15:46:55.98 ID:6QYDHDQi.net]
よしなに整形してくれるからな

629 名前:デフォルトの名無しさん [2019/12/10(火) 15:57:56 ID:48kVELqA.net]
>>589-591
msgpack

630 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 16:51:25 ID:LOypIkS3.net]
590の”可読性”はhuman-readableの意味で使ってんだろ

631 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 17:23:44.99 ID:eJPx3dnZ.net]
msgpackはJSON比で大して速くも小さくもない
人間による読み書きが可能であり大抵の言語で標準で扱えるというJSONのメリットを捨てるのに見合ったリターンはない

632 名前:デフォルトの名無しさん [2019/12/10(火) 17:53:43.58 ID:48kVELqA.net]
充分小さいぞ

633 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 18:12:40.55 ID:eJPx3dnZ.net]
せいぜい50%程度を充分と思うかは貴方次第
私はそうは思いませんね



634 名前:デフォルトの名無しさん [2019/12/10(火) 18:15:41.31 ID:48kVELqA.net]
キーを何度も使いまわすのは無駄だと思う

635 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:20: ]
[ここ壊れてます]

636 名前:38.59 ID:eJPx3dnZ.net mailto: msgpackが同じキーを何度も書いていないとでも? []
[ここ壊れてます]

637 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:51:08.94 ID:1ZU0zLKJ.net]
まあ一連のレスは無駄そうだな

638 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 19:59:18.07 ID:ORQYQVvI.net]
yokokara

639 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 20:52:52.51 ID:hzlCevra.net]
可読性といえばxmlじゃないの
いやよく知りませんけど!

640 名前:デフォルトの名無しさん mailto:sage [2019/12/10(火) 20:56:35.79 ID:6QYDHDQi.net]
訳あってWordのdocument.xmlを読んだが非常に厳しい

641 名前:デフォルトの名無しさん [2019/12/11(水) 09:06:12.26 ID:ZT47FwY4.net]
>実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
Python2.7.1 Windows 2000pro 開発環境はPython付属のIDLEです

Win32のクリップボードから取得した要素を、順番に辞書に渡しているのですが
「一番目、二番目」の順で渡したものが、「二番目、一番目」とひっくり返ったり
三つ渡すと「三番目、三番目、二番目」なんて順で保管されたりして、訳がわかりません
「辞書型オブジェクトには順序がありません」という話ではなくて
keyを使って取り出してみると整合してないのです

助言を頂ければありがたいです。

642 名前:デフォルトの名無しさん [2019/12/11(水) 09:07:29.80 ID:ZT47FwY4.net]
>>608
(続き)
(続き)
import win32com.client
import win32clipboard

def copy(text):
  win32clipboard.OpenClipboard()
  win32clipboard.EmptyClipboard()
  win32clipboard.SetClipboardText( text, win32clipboard.CF_UNICODETEXT )
  win32clipboard.CloseClipboard()

def paste():
  win32clipboard.OpenClipboard()
  data = win32clipboard.GetClipboardData(win32clipboard.CF_UNICODETEXT)
  win32clipboard.CloseClipboard()
  return data

oAutoIt = win32com.client.Dispatch("AutoItX3.Control")
#Windowsアプリケーションでカーソルを操作するためのAPIです
oAutoIt.WinActivate("とある請求書ソフトウェア - [xxx-xx-x.uqm]")
#APIは、とある請求書ソフトウェアが起動して、xxx-xx-x.uqmウィンドウが開くまで待機して、その後実行します

643 名前:デフォルトの名無しさん [2019/12/11(水) 09:08:21.34 ID:ZT47FwY4.net]
>>609
(続き)

dic = {}

oAutoIt.MouseClick("left",91,369,3)
oAutoIt.MouseClick("left",654,65,1)
#とある請求書ソフトウェアから"AAAAA"をコピーしてきます
dic ["key"] = paste()

oAutoIt.MouseClick("left",345,367,1)
oAutoIt.MouseClick("left",649,62,1)
#とある請求書ソフトウェアから"BBBBB"をコピーしてきます
dic ["key2"] = paste()

A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)


#print結果
============RESTART============
>>>
BBBBB
AAAAA
>>>



644 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 09:33:54 ID:cSF0k0t2.net]
>>610
そのAPIは知らんけど、copy関数使われてなくない?

645 名前:デフォルトの名無しさん [2019/12/11(水) 09:40:31 ID:ZT47FwY4.net]
>>610
Windowsのクリップボードを監視した感触では、
とある請求書ソフトウェアからは、正しい順番でコピーされている様子です

ペースト関数を、一回しか使わない場合は、正常動作します。
素人ながら、なんか、定義済の変数に新しい値が代入されるとき
前後でメモリの処理がまずくなっているのかなと思いました
グローバル変数とかローカル変数とか、そっちの問題なんだろうかと、それらの勉強も始めましたが
まだまださっぱりわかりません

助言だけでもいただければありがたいです

646 名前:デフォルトの名無しさん [2019/12/11(水) 09:43:31 ID:ZT47FwY4.net]
>>611
そうですね。copy関数は使われてないですね
参考元では、copyとpasteがペアで表記されていたので
もしかして改善するときに必要になるかな?と思って、念のためにあげました
失礼しました

647 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 09:51:14 ID:cSF0k0t2.net]
>>613
copy関数使わないで、コピーはどうしてるの?
マウスクリックしかされてないみたいだけど。
想像だけど、copy関数使ってコピーしてそのままreturnしたら良いんじゃ無いの?

648 名前:デフォルトの名無しさん [2019/12/11(水) 09:58:47 ID:ZT47FwY4.net]
>614
copy関数使わないで、コピーはどうしてるの?

「とある請求書ソフトウェア」は、画面上に「COPY」というボタンがありまして
それを一回クリックしてます
するとWindowsのクリップボードに、テキストが入ってきます

649 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 10:12:58 ID:Z8/OjH57.net]
sleepないときつくない?

650 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 10:47:34 ID:pFOdIusR.net]
>>608
3.6までの辞書は
「とにかく出てくる順番はテキトー 気分次第」になるぞ。
keyがうんたらなんたらとかいうレベルではなく。

いやorこまるなら3.7系にするか
標準で装備されてるcollectionsモジュールの「OrderedDict」(これは2.7系から使える)を使う

651 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 10:48:31 ID:ZT47FwY4.net]
>>616
後出しですみません

import time
time.sleep(0.3)
#0.3〜3までいくつか検討

結果
time.sleep(3)
AAAAA

近くにある命令が辞書に入ってくる
不思議な現象が起きております
環境が悪いんですかね

652 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 10:50:17 ID:b0NSAXs1.net]
>>610
A = (dic["key"])
print(A)
B = (dic["key2"])
print(B)

これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?
puts "A の値は : #{ A }"

print結果が、単にタイミングの問題で、
後にprintされたものが、先に表示されているだけかも知れない

653 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 10:56:31.99 ID:PLslpcOL.net]
ループが理解できない(´;ω;`)



654 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 10:57:06.73 ID:ZT47FwY4.net]
>>617
いやいやいや
出てくる順番は適当で良いですけど

キーと一緒に代入した(つもり)要素が、別物になってたら困りますよね

それはそれでOrderedDict 調べてみます

655 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 11:01:37.93 ID:ZT47FwY4.net]
>>619
>これを、Ruby の式展開、JavaScript のテンプレート・リテラルみたいに、もっと分かりやすく書けないか?

すみません。今の私の技術では限界です
ソースにふりがなのついた参考書と、赤い表紙の本を手引きにしてるレベルです

>後にprintされたものが、先に表示されているだけかも知れない

探ってみます

656 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 11:17:42.24 ID:pFOdIusR.net]
>>620
ループといってもいろいろあるので
https://ja.wikipedia.org/wiki/%E3%83%AB%E3%83%BC%E3%83%97_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
↑このへんから辿って勉強しる

657 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 11:18:43.26 ID:pFOdIusR.net]
>>618
環境か
メモリの壊れかけを疑う件

658 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 12:22:25.53 ID:fWs5lM4b.net]
>>618
sleepどこに書いたの?
MouseClickした後paste呼ぶ間に入れてみれ
マウスクリックで相手のソフト側がコピーするんだったら自動化してたとしても非同期なんだよ

659 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 12:29:51.76 ID:pFOdIusR.net]
>>625
横レスだけど
> マウスクリックで相手のソフト側がコピーするんだったら自動化してたとしても非同期
なるほどとってもなっとくっく

660 名前:デフォルトの名無しさん [2019/12/11(水) 12:44:29.61 ID:8OP/pbId.net]
dataの参照を取り出してるだけで
dataの中身を取り出してないから
printするときに逆になるんじゃね
知らんけど

661 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 12:48:31.95 ID:ZT47FwY4.net]
>>625
>sleepどこに書いたの?
>MouseClickした後paste呼ぶ間に入れてみれ

pasteの後に入れてました
1回目と2回目のコピペの間で、休ませれば正常動作するかな?と思いまして

そして、はー。これが正解でした
sleepの位置も大事なんですね
ありがとうございました

みなさんもありがとうございました

662 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 12:53:40.70 ID:Z8/OjH57.net]
AutoItからの移行組だと思ったけどあれじゃAutoItの時も動かないはずだが

663 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 15:59:30 ID:PLslpcOL.net]
https://ideone.com/qx5CEY
このコードの1つ目だと、1列目の行にしかアクセスできてないです
しかし、2つ目のようにarray[x][y]とすると、2つめの行までアクセスできています
しかし、yループは1度しか回していません



664 名前:

xを先に書くとxがyループの取り出しに使われるのですか?
[]
[ここ壊れてます]

665 名前:デフォルトの名無しさん [2019/12/11(水) 16:03:10 ID:8OP/pbId.net]
何を意図してるかにもよるが
縦(行)をyと考えてるなら
array[y][x] でアクセスするべき

君がやりたければ
array[x][y] でも構わないが
y は横(列)になるってだけ

666 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 16:08:47 ID:H3x5MOt+.net]
>>610
printデバッグとデバッガのステップ実行を使うといいよ
両方組み合わせればタイミングが原因かどうかはだいだい切り分けられる

今回の例ならpaste関数のreturnの前にprint(“paste data: ”, data)を入れて
dic[“key”] = paste()の直前か直後にブレイクポイントを設定してステップ実行する

667 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 16:10:35 ID:cSF0k0t2.net]
>>630
ループ以前に配列を理解していない。
2つ目のはy値はずっと0でx値は0,1と変化している。
print(array[0][0])、print(array[1][0])と実行していることになる。

668 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 16:19:15 ID:H3x5MOt+.net]
>>630
array = [ [1,2], [3,4] ]

このarrayは1つ目の要素が[1,2]、2つ目の要素が[3,4]
だからarray[0]は[1,2]で、array[1]は[3,4]

array[0][0]は[1,2]の1つ目の要素なので1
array[0][1]は[1,2]の2つ目の要素なので2

for y in range(10):とするとyという変数に
0から9まで(10は含まない)を代入しつつループの中の処理を実行する
ループ内でyを参照したらそのループ開始時に代入された値が入ってる
xやyじゃなくfor i in range(10)と書いても同じ
xやyに特別な意味があるわけじゃない

669 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 16:27:38.36 ID:PLslpcOL.net]
>>631
テトリスの作成で、配列の回転をしたかったんですよ
行は[1,2]を1行目、[3,4]を2行目と考えています

670 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 17:01:24 ID:wQahrCJY.net]
>>635
拾い物
https://pastebin.com/3kAeGTNV

671 名前:デフォルトの名無しさん mailto:sage [2019/12/11(水) 18:26:22.83 ID:BSd1dztf.net]
さすがにOSアップデートしろよwww
そんな化石使ってる時点で話にならない

672 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 17:12:30.59 ID:f967V2wE.net]
x = [0,0.1,0.2,0.5,1,2,3]
y = [0.5,0.5,0.4,0.4,0.5,0.4,0.5]

このリストの数値を使ってmatplotlibで折れ線グラフを書きたいのですが、xの小数の値が偏ってしまい見づらくなってしまいます。
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
x軸を等間隔に表示させる書き方があれば教えていただけませんでしょうか。
x,yはそれぞれx軸、y軸にあてたい数字です。

673 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 17:14:40.82 ID:f967V2wE.net]
>>638
(0 0.1 0.2 0.5 1 2 3) ←x軸の数字がこのようになってしまう。
この行スペースが表示できませんでしたが、メモリの0~0.5までが寄ってて、1~3までが間隔空きすぎている。等間隔ではないってことを言いたかったです。



674 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 17:51:08.05 ID:dyy25qsp.net]
>>638-639
fig = plt.figure()
ax = fig.add_subplot(111)
#↑ここまでは適宜自分がやってるように読み替えれ
#↓目盛りの指示を好きなように出せる呪文。y軸の設定はset_yticksだ
ax.set_xticks([0, 1, 2, 3, 4])

675 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:11:33.19 ID:n05Ewb3K.net]
plt.plot(x, y)
plt.show()
で普通に等間隔のtickで表示される

plt.plot(x, y)
plt.xticks(x)
plt.show()
とかすれば等間隔じゃないtickで表示される

676 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:21:07.32 ID:f967V2wE.net]
>>640さん、>>641さん
ありがとうございます。お二人のようにそれぞれやってみましたが等間隔で表示できません…。
少数のところが偏って表示されてしまいます。

一応コード載せます
figure = plt.figure(figsize=(10, 5))
axis = figure.add_subplot(1

677 名前:, 1, 1)
plt.plot(x,y)
axis.set_xticks([0,0.1,0.2,0.5,1,2,3])

plt.show()
http://o.5ch.net/1l95o.png
[]
[ここ壊れてます]

678 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:22:15.85 ID:f967V2wE.net]
すみません…。画像の乗せ方わからなかったので試しにかいてみたやつ消すのを忘れてました…!

679 名前:デフォルトの名無しさん [2019/12/12(木) 18:28:45.35 ID:Lo+C9eAO.net]
ネタじゃなくてマジ池沼さん?

680 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:32:25.07 ID:n05Ewb3K.net]
>>642
>axis.set_xticks([0,0.1,0.2,0.5,1,2,3])
↑等間隔じゃないtick設定しとるやーーん

681 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 18:42:20.58 ID:f967V2wE.net]
>>645
はい。もともと等間隔ではないものを等間隔に表示したいという質問でした。
関数の値(例えばx = 0.1ならy = 0.4)をグラフにしたいと思っていました。
xの値は0~1までは少数もとりますが、1からは整数しかとらないためにグラフにすると偏りが出て見づらくなってしまいます。
それを等間隔に表示できれば見やすいかなと思いました。

682 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 20:20:59.56 ID:TAtdTKRF.net]
yokokara

683 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 20:54:04.13 ID:n05Ewb3K.net]
>>646
そいうことだったのか

tickを等間隔な値にして、対応するラベルを設定したい等間隔じゃない値にする
んでplotするxの値をそれに対応するよう変換する必要があるんじゃないのかな
自動でやってくれる方法があるのかは知らない

plt.plot(range(len(x)), y)
plt.xticks(range(len(x)), x)
plt.show()



684 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 21:57:18.88 ID:dyy25qsp.net]
>>646
無理に時空を歪めるのは見る側のことを考えてないのでヤメレ

常識的な解決策としては
・対数グラフを使う
・一部(x=0から1の区間だけ)拡大図を
  範囲内のどっか空きスペースまたは別添えでつくる

685 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 22:46:47.08 ID:f967V2wE.net]
>>648
すごい!これできれいにグラフが出せました。本当にありがとうございます!
書き方に工夫が必要で、そういうのをぱっと思いつけるように勉強いたします。

>>649
関数のグラフではなくてxに対応するyの値(値がxのときの結果はこの数値)はこれですよっていうだけの折れ線グラフを出したかったのです。
ですから時空は大丈夫のはず…です。
対数グラフというものを知りませんでしたので調べてみます。ありがとうございます。

686 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 23:26:28.33 ID:XBUUy+/0.net]
いろいろな参考書で、辞書はKeyと値のペアで出来ていると理解しましたが

keyだけがあって、値が空のを作ってしまってはいかんのでしょうか?

687 名前:デフォルトの名無しさん [2019/12/12(木) 23:54:29.36 ID:ZS52b4mm.net]
from selenium import webdriver
browser = webdriver.Chrome('chromedriver.exe')
browser.get('https://qiita.com/advent-calendar/2016/crawler')

calendar = browser.find_elements_by_css_selector('div.col-sm-12')

for col_sm in calendar:
col_sms = col_sm.find_elements_by_css_selector('th.adventCalendarCalendar_dayName')
print(col_sms.text)

エラーが
---> 9 print(col_sms.text)
AttributeError: 'list' object has no attribute 'text'
と表示されます。textで出力できないのはなぜなんでしょうか?
色々調べているのですが出力方法がわかりません。
初歩的なことですみませんが教えていただけないでしょうか。

688 名前:デフォルトの名無しさん mailto:sage [2019/12/12(木) 23:58:02.89 ID:n05Ewb3K.net]
>>651
setが辞書のキーだけを集めたコレクション

689 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 00:15:27.02 ID:+9OE4qBy.net]
>>652
ブラウザのコンソールからJS叩くかIPythonとかでデバッグするかして
そのCSSセレクタで意図した要素が取得できてるのか確かめるといい

ビジュアルに確認できるのでブラウザのほうが最初はわかりやすいと思う

690 名前:デフォルトの名無しさん [2019/12/13(金) 01:37:03.59 ID:cqNP6rMk.net]
>>654
ブラウザコンソール開いてみました。ブラウザコンソールについて調べてみたのですが
よくわかりませんでした。ここに何かのコードを入力するのでしょうか。
JSとはなんでしょうか?
Jupyter Notebookを使っていまして取得したいcol_smsには
<selenium.webdriver.remote.webelement.WebElement (session="667d743c5f872d23247665eb139f3bac", element="f43fbb00-654d-472f-b0f0-1b43973384b4")>
というようなものがいくつか入っているのですが、textを使っても出力されない状況です。
質問ばかりですみません。 []
[ここ壊れてます]

692 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 02:19:41.88 ID:VJl1Rt3v.net]
普通に長さが1の配列が戻ってきてんじゃね
イテレーター使って.text使うかcol_sms[0].textでいいんじゃね

col_sm.find_elements_by_css_selector()の戻り値ggれば解決しそうな話
俺は面倒くさいのでggりませんけども…!

693 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 03:41:11 ID:+9OE4qBy.net]
>>655
JSはJavaScript
スクレイピングするならHTML/CSSと
JavaScript/DOM APIの基礎知識は必須

browser.find_elements_by_css_selector('div.col-sm-12') はJSで
document.querySelectorAll(‘div.col-sm-12’) とするのと同じ

find_element_by_css_selectorは最初に見つかった要素を返す
find_elements_by_css_selectorは要素のリストを返す
んでリストには’text’というAttributeはありませんよってエラーが出てるよね



694 名前:デフォルトの名無しさん [2019/12/13(金) 06:07:45.61 ID:N3jObneI.net]
Cython について
Cython の pyx ファイルの中に、
@cython.infer_types(True) とあるんだけど、
この@は何の働きをしているの?記法なの?
詳しい人教えて

695 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 10:39:13.33 ID:A6tZ4ufL.net]
>>652-657
Ruby, Selenium Webdriver なら、
find_element は最初の1つだけで、find_elements はすべてを取得する(配列)

css_selector では、div.col-sm-12 などの、
Bootstrap などのCSS フレームワークなどの、デザインを指定するクラスは、あまり意味がない

#main とか、div.container.adventCalendarCalendar とか、table.table とか、
HTML の構造的に、意味があるようなセレクターを指定する。
そうすれば、スマホ・PC などのデザインによって変わらない

css_selector = "#main > div.container.adventCalendarCalendar table.table > thead th.adventCalendarCalendar_dayName"

element = driver.find_element( :css, css_selector )
elements = driver.find_elements( :css, css_selector )

puts element.text, elements[ 0 ].text, elements.length

出力
Sun
Sun
7 (配列の要素数)

696 名前:デフォルトの名無しさん [2019/12/13(金) 11:17:38.66 ID:V90d9jYd.net]
小学生っぽい子供が混ざってるようだが
質問するときは相手に伝わるようにちゃんと考えた方が良い
技術力よりコミュニケーション力や日本語力を気にしろ

697 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 11:40:28.24 ID:Mexu05AP.net]
>>653
ちょっと難しかったです。
とりあえず辞書は、キーだけで値がなくても構わないと思うことにします

698 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 12:14:38.95 ID:A6tZ4ufL.net]
Ruby では、ハッシュのキーに値を設定しなければ、値がnil になる。
一方、存在しないキーの値を取得すると、nil になる

これでは両者の区別がつかなくなるので、デフォルト値を設定する。
そうすると、キーに値を設定しなければ、値がデフォルト値になる

バグを避けるためには、必ずキーに値を設定するか、デフォルト値を設定しておく

699 名前:デフォルトの名無しさん [2019/12/13(金) 12:38:34.35 ID:ZbkO1X73.net]
>>661
set(集合)とdict(辞書)は内部的にはそこそこ近いことをやってる
ハッシュテーブルを作って、keyのハッシュからvalueを見るのがdict。key(setにkeyって概念はないけど、便宜上)のハッシュを見て、key自体が 衝突 and 同じ内容が含まれてるか を見て、key自体を要素として扱うのがset。
setは本当に数学における集合と同じような動作をする(bitwise操作などができる)って認識しとけばおっけー

700 名前:デフォルトの名無しさん [2019/12/13(金) 12:41:27.69 ID:ZbkO1X73.net]
Rubyの話をしてる人が居るのは本当に謎だけど、Pythonでも
dict.get(key, default)
とすればdefaultを設定した上で値を取得できる。
あるいは、collections.defaultdictを使うのもあり

701 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 12:46:19.59 ID:Mexu05AP.net]
>>662-663
ありがとうございます

702 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 12:49:22.97 ID:Mexu05AP.net]
>>664
デフォルトを設定した辞書もあるのですね
ありがとうございます

703 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 13:41:19.76 ID:+9OE4qBy.net]
>>661
「キーだけで値が無い辞書」をどういう風に使いたいの?



704 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 15:24:58.53 ID:yspevzV6.net]
>>664
スレタイにRuby禁止って付けられるくらいに、スレ違いのRubyの話をしたがる頭のおかしい構ってちゃんが一人居ついているだけだからスルーしとけばいいよ

705 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 15:26:20.43 ID:hzMr3/rM.net]
>>667
とある請求書作成アプリのセルからテキストをコピーして辞書に格納してから、別アプリにペーストしたいのです
ケースによって空欄のセルもあるので、そのままで良かったのだろうかと考えてました
でもNoneを入れる事にしました

706 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 16:20:03.71 ID:+9OE4qBy.net]
>>669
なるほど
「キーに対応する値が無い」ケースをどう表現すべきかという話だったね

文字列の空欄を示す場合は一般的には空文字を使っておいたほうが
後でテキスト処理をする時にNoneのハンドリングが必要ないし
キー自体が存在してなくてNoneになるケースとの区別が付きやすくてベターだと思う

707 名前:デフォルトの名無しさん [2019/12/13(金) 18:47:08.49 ID:cqNP6rMk.net]
>>656-657-659
ご回答ありがとうございます。皆さまから教えていただいたことをできる限り試してみます。

708 名前:デフォルトの名無しさん mailto:sage [2019/12/13(金) 18:53:53.21 ID:Mu2dn80c.net]
>>652
そのページそもそもdiv.col-sm-12の子孫にth.adventCalendarCalendar_dayNameが無い件

709 名前:デフォルトの名無しさん [2019/12/14(土) 00:53:34.54 ID:28JG+Fsi.net]
>>672
子孫など何か関係がないといけないのですね。入力をすればなんでも取得できると思っていました。
教えていただきありがとうございます。簡単なサイトを作れるぐらいのHTMLやCSSの基本をまずは覚えた方がいいんでしょうか...

710 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 09:57:24.53 ID:YkKG/mMh.net]
>>670
アドバイスありがとうございます

実は辞書を作る前工程で
Win32のクリップボード経由で、文字列を取得してくるプロセスがあったのですが

そこで自分が書いた関数だと、Winアプリが文字列が空だと、エラーになることに気がつきました

悩ましかったのですが、エラーになったらtry 〜exceptで
変数にNoneを入れることでしのぎました

text = “” だとデバッグで読むときよく分からなかったですし

ここは、何がベターなのかもう少し考えてみます
このスレのコメントは大変ためになります

711 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 10:57:58.37 ID:oHNLq8G6.net]
馬鹿には無理

712 名前:659 mailto:sage [2019/12/14(土) 10:59:10.77 ID:8NRAnTxB.net]
>>673
web アプリの初心者は基本、サーバー側はRuby で、
クライアント側は、HTML, CSS/SASS, Bootstrap, JavaScript, jQuery などを使う

jQuery のCSS Selector のルールを学べばよい。
emmet も、似たようなもの

# はid で、. はクラスとか、
x > y なら子要素(子孫を含まない)で、x y なら子孫要素とか

それと、他人のHTML の解析は、基本無理。
クラスをどういう意味で使っているのか、分からないから

構造的な意味で使っているのか、単なるデザイン上のものなのか、
または、Bootstrap などのCSS フレームワークのルールなのかも

713 名前:知れないし、
他人の考えなど、分からない

col-sm-12 みたいに、small なら、12列分の幅を使うとか、
こういうデザイン上のものを、CSS Selectorに入れると、
ページのデザインが変わると、セレクトされなくなったりしてしまう

一方、構造的な意味は、変わりにくい
[]
[ここ壊れてます]



714 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 11:23:55.42 ID:dDx9/YlQ.net]
yokokara

715 名前:デフォルトの名無しさん [2019/12/14(土) 11:34:02.24 ID:TlZt0bii.net]
後ろから前から

716 名前:デフォルトの名無しさん [2019/12/14(土) 11:52:10.65 ID:e26gFA86.net]
アホな質問で申し訳ないが
class の、書き方について質問あります

Python がはじめてのプログラミング言語で
やっと手続き的な記述ではやりたいことが
できるようになってきた

オブジェクト指向理解してないのもあるかもだけど
ライブラリとか、フレームワークのclass をオーバーライドしてかく時に

self が乱立しまくってて、
効率わるいようなきがするのだけども
書き方があってるのか知りたい

現場エラー吐いてないから、いいかもしれないけど
マナーというか、お作法としてどうなんやろ?と

別途class つくったり関数作ったりするの?

717 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 14:32:25.78 ID:tCtWHq2v.net]
>>679
それは誰もが感じる疑問

Pythonではインスタンスメソッドとして扱いたいメソッドの第一引数にselfを渡して
明示的にselfを指定する以外にインスタンスメンバーを参照する方法はないので
オブジェクト指向的に書く場合はselfが乱立しまくるのが通常

”Explicit is better than implicit.”という苦しい言い訳をする人も多いけど
そんな高尚なものじゃなく単に言語の制約なのでPython使う限りは諦めて受け入れるしかない

718 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:23:05.11 ID:8NRAnTxB.net]
Ruby のクラスでは、引数にself を持ちまわらなくても、selfが使えるだろ。
それは、実装が大変

ユーザーの利便性を上げるために、実装で頑張った

719 名前:デフォルトの名無しさん [2019/12/14(土) 16:52:04.55 ID:TlZt0bii.net]
selfが嫌なら第一引数を@にすれば良いんだよ
@.hoge でアクセス出来るし便利だぞ

720 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 16:58:40.39 ID:tCtWHq2v.net]
>>681
実装は大変じゃないよ

そんな大変ならPython以外にも
1つくらいselfを要求するOO言語があってもいいよね

721 名前:デフォルトの名無しさん [2019/12/14(土) 17:15:21.14 ID:TlZt0bii.net]
最近はRustとかNimみたいに
第一引数.関数名(第二引数以降はカッコ内)
の様な文法が流行ってる

722 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 17:45:57.04 ID:tCtWHq2v.net]
>>684
もうそういう苦しい言い訳やめたほうがいいよ
RustやNimやGoはコンテキストが全く違うんだから

>>679
FAQも読むといいよ
https://docs.python.org/ja/3/faq/design.html#why-self
日本語訳おかしいから英語読めるなら原文のほうがおすすめ

723 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 18:17:59.35 ID:zJmCdf+U.net]
Pythonは変数のスコープもちょっと微妙なとこあるし、self必須とかはスコープに由来してるかわかんないけど、その辺は受け入れるしかないよね

その辺受け入れたとしても便利だからPython選んでるわけで

もちろん後方互換性を保ったまま改善できる言語変更があったら嬉しいけど

○○が変だからPythonは使えない、という人には他の言語もあるしね。



724 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 21:51:22.03 ID:BIA5WTIR.net]
テトリスってむずいすか(´・ω・`)

725 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 22:02:54.83 ID:1E2rCKG0.net]
>>687
ゲームを作りながら楽しく学べるPythonプログラミング
で題材になるぐらいには簡単(入門向け)

726 名前:デフォルトの名無しさん mailto:sage [2019/12/14(土) 23:29:48.51 ID:Ztjs0n6X.net]
>>687
たぶんブロックの回転で行列がどうこう言ってた人かな?
テトリスは特段難しくはないんだけど、これまでのレスを見てるともっと基礎レベルから頑張った方が良さそう。

727 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 07:07:55.11 ID:DnIG8IxI.net]
今がんばってます(´・ω・`)ゲームつくりたいんで(´;

728 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 12:01:47.20 ID:tER7UmuJ.net]
この界隈だとがんばっちゃダメ
テトリスのコードを10くらい眺めて理解すればいい

729 名前:デフォルトの名無しさん [2019/12/15(日) 12:11:02.09 ID:+1jKhtSK.net]
>>676
詳しく教えていただきありがとうございます。
jQuery のCSS Selectorのルールなど見てみようと思います。

730 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 12:21:43.19 ID:YeoWUmPH.net]
>>691
どこで仕入れればいいの

731 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 15:30:08.19 ID:GQ26ybwL.net]
SQLite3で巨大なDBにデータを追加してcommitした時
動作としてはdbファイル全体が改めてディスクに書き込まれるのでしょうか
それとも変更した部分のみがディスクに書き込まれるのでしょうか

SDカード上にdbファイルを置いているため書き込み耐久が心配になり質問しました

732 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 15:53:14.71 ID:goe0JUwd.net]
>>694
普通は全書き込みだと思うんだが

そんなに消えて困るものならば
SDカードだったら
常時上書きのドラレコ突っ込みOKみたいな特上品使わないと
やばくね?

733 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 16:09:30.52 ID:fGq+HT2S.net]
ページ単位で管理されていて更新されたデータのあるページだけ書き込まれる。



734 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 19:58:47.04 ID:tER7UmuJ.net]
>>693
chromeかFireFoxのブラウザで「python tetris」と検索して出てきたものを上位から読む

735 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 23:09:27.37 ID:fpSJINfx.net]
>>694-696
ファイルシステムによる

Linux のext では、例えば、40KB のファイルは、4KB のページサイズでは、10ページある。
その5ページ目に、8KBのデータを追加したとすると、

追加された2ページ分は、11・12ページに書かれて、
1〜5, 11, 12, 6〜10 の順番に、リンクが張られる

この場合は、既存のページは、再配置されない。
次のページを示す、リンクのみが書き変わる。
つまり、5→11、11→12、12→6 を指す

でも、12ページ分48KBを超えると、管理方法が変わるから、
データの再配置が起きるかも知れない

736 名前:デフォルトの名無しさん mailto:sage [2019/12/15(日) 23:47:23.79 ID:YEGq3iyi.net]
すいません。どなたか教えてください。

jupyter notebook にてpyperclip をインポートしようとしたところできなかったため、
anaconda prompt にてインストール試みました。

conda install pyperclip だと、公式サイトで探してね。的なエラーが出てきたため、
pip install pyperclip で試みたところインストールは完了したのですが、、、

やはりjupyter notebook上でインポートしようとすると、同様の見つかりませんエラーが返ってきます。。。
何が悪いのか、どこを見ればいいのかよくわかりません。。。

教えていただけると大変ありがたいです。。。

737 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 07:51:04.24 ID:79yFDnLG.net]
>>698
dbはふつうそんな追加の仕方はしない。

738 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 08:55:41.01 ID:+69MK1pA.net]
>>687
アルゴリズムはねちょねちょ考えるのが楽しそうだから、回転行列とか勉強しながらやってみ?
問題は表示とかキー入力をどうするかだと思うなぁ。
普通はpygameになっちゃうんだろうけど、tkinterとかPyQtやWx使うとたいへんですかね?
せっかくインタプリタ言語な

739 名前:んだからtubeの「小一時間で作ってみた」シリーズみたいに
テキストベースで気楽に作れるライブラリあると良いのにね。
[]
[ここ壊れてます]

740 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 08:57:09.75 ID:Ugry/p2L.net]
>>699
いまお使いの仮想環境名は把握してますか

conda list -n 仮想環境名 で
その環境を指定して、インストール済み一覧が表示されるから
それで分かるんじゃないでしょうか?

741 名前:デフォルトの名無しさん [2019/12/16(月) 12:37:42.94 ID:0jmxiGrg.net]
>>701
curses
ncurses
pdcurses

742 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 21:11:21.65 ID:yUF0sPmO.net]
>>702
レスありがとうございます!
仮想環境名を確認したところ 恐らくbaseで、モジュール一覧を確認するとpyperはインストールされてますよとの表示がありました。
(pyperがpyperclipを指すのかも不明の状態です。。。w)

仕組みがよくわかっていないため、とりあえずググって出てくるトラブルシュートを全て試そうと、
アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
再びpip install pyperclip を試すと、完了しているはずがなぜかインストール開始に。。。
その後、jupyter でimport pyperclip 試すもやはりエラー
PC再起動後、jupyter 上でpip install が実行できるとの情報を得、pyperclipをインストール試みると、すでに完了してますよとのメッセージ
その後jupyter上で import pyperclipがエラーを吐き出さないこと確認しました。

恐らく
>アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
>再びpip install pyperclip を試すと、完了しているはずが、なぜかインストール開始に。。。
この辺がキモだったんだと思いますが、よくわかってませんw
プログラミングってそれ自体もそうだし、環境構築も奥が深いんですね。。。。

改めてアドバイスありがとうございました(^^)

743 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 21:11:27.79 ID:yUF0sPmO.net]
>>702
レスありがとうございます!
仮想環境名を確認したところ 恐らくbaseで、モジュール一覧を確認するとpyperはインストールされてますよとの表示がありました。
(pyperがpyperclipを指すのかも不明の状態です。。。w)

仕組みがよくわかっていないため、とりあえずググって出てくるトラブルシュートを全て試そうと、
アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
再びpip install pyperclip を試すと、完了しているはずがなぜかインストール開始に。。。
その後、jupyter でimport pyperclip 試すもやはりエラー
PC再起動後、jupyter 上でpip install が実行できるとの情報を得、pyperclipをインストール試みると、すでに完了してますよとのメッセージ
その後jupyter上で import pyperclipがエラーを吐き出さないこと確認しました。

恐らく
>アナコンダナビゲーターのopenterminal でconda install jupyter を実行した後、
>再びpip install pyperclip を試すと、完了しているはずが、なぜかインストール開始に。。。
この辺がキモだったんだと思いますが、よくわかってませんw
プログラミングってそれ自体もそうだし、環境構築も奥が深いんですね。。。。

改めてアドバイスありがとうございました(^^)



744 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 21:30:31.84 ID:ZGRHc5ZN.net]
yokokara

745 名前:デフォルトの名無しさん mailto:sage [2019/12/16(月) 23:12:57.95 ID:levX/ad3.net]
yokokara連呼厨子ね

746 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 05:54:50 ID:eGUcswGM.net]
conda, pip とか、異なるパッケージマネージャー(PM) を同時に使えるのかな?
それらは、同じデータベース(DB)に、各パッケージの依存関係を記録しているのか?

例えば、node.js をインストールしておいてから、
yarn を、npm を使わずに、
OS に直接または、OSに入れている、Homebrew, Chocolatey などのPMを使って、インストールすることはある

大きな括りでは、異なるPMを使うことはあるけど、
各モジュールのような小さいライブラリを、異なるPMで管理する事は、あるのかな?

片方のPMの依存関係DBが更新されても、もう一方のDBが更新されるのか?

yarnのように、処理が異なるだけで、npmと同じ依存関係DBを使っているのなら、
npm/yarnは、同一のDBを参照するけど

これと同じで、pip/condaは、同一のDBを参照しているのか?

747 名前:デフォルトの名無しさん [2019/12/17(火) 08:18:13.44 ID:dA33S95E.net]
pythonでWindowsGUIアプリの自動化をやらせたいいんだけど。
(例えば、了解ボタンクリックとかメニューの選択等)
大概の場合、PyAutoGUIで座標クリックにいきつくんですが、座標クリックだとウィンドウの大きさとか
動かなくなるときの考慮てどうするんですか。

748 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 09:45:31.97 ID:QqOdTjZG.net]
>>709
>大概の場合、PyAutoGUIで座標クリックにいきつくんですが、座標クリックだとウィンドウの大きさとか

PyAutoGUIでなくて申し訳ないが
私はそういう事で困る事の少ないAutoITXを使っている
座標系のマウスクリックだけじゃなくて、
アプリやウィンドウ、ダイアログの名前を判断して、指定したダイアログにある「了解」というボタンを押す
なんて命令が使えるから

749 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 09:54:50.75 ID:OaYPHXYM.net]
知恵袋でテトリスの回転のコードをも

750 名前:らったのですが、
https://ideone.com/2j9PhQ
このコードの内包表記の部分がよく分かりません(tmpのとこです)


この部分をもう少し一般的な書き方はできないでしょうか?
[]
[ここ壊れてます]

751 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:18:22.18 ID:QqOdTjZG.net]
質問です。python2.7.1 windowsです

リストを作りました
list = [“left” , 1 , 2, 3, “num_a1”]
要素は5個です

関数を作りまして、引数を5個にしました
関数にリストを読み込ませたら、無事に動きました

次に要素を15個に増やして
関数に、先頭から5個ずつ読み込ませて
3回、関数に仕事をさせたいと思います

リストは二次元配列にしようと思います

ばくぜんと、forを使うのだろうということは分かるのですが
ググっても類似のソースを見つけられず、悩んでます

気軽に「こんな手法があるよ」程度で、レスをつけてもらえればありがたいです

752 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:21:32.79 ID:qeIaMe/y.net]
自身の脳みそを一般的な水準にまで引き上げた方が早い

753 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:23:25.96 ID:4rBcrl8A.net]
AutoITは遅くてやめてpyautoguiはインポートするだけでDPIのスケーリング変わっちゃうから
Win32guiとctypesで全部書いて行った



754 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:27:52.81 ID:GwugB5zt.net]
>>711
お前、色んなとこで質問してコード継ぎ接ぎしてるだけだろ?
プログラミング向いてないからやめとけ。

755 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:29:46.26 ID:qeIaMe/y.net]
teratailの虐殺君じゃね?

756 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 10:47:25.74 ID:sELGcuhs.net]
大層な名前の割にしょぼそう

757 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 11:06:24.34 ID:OaYPHXYM.net]
>>715
わからないから質問して何が悪いのだろうか

758 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 11:32:25.65 ID:GwugB5zt.net]
>>718
ばかなの?

> お前、色んなとこで質問してコード継ぎ接ぎしてるだけだろ?
> プログラミング向いてないからやめとけ。

ただ向いてないだけ。

759 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 11:43:42.66 ID:6LhBKKEf.net]
>>718
質問すること自体は悪くはないが、自分の現在のレベルを自覚して目標を定めた方がいいぞ。
まずはテトリスは遠い未来の話にして、入門書を一から頑張れ。
連立方程式が分かりませんというから解説したら、九々ができないレベルでした、って状態だから、まずは九々を身に付けよう。
今理解できないレベルの問題を相手を変えて、説明の方法を変えてもらっても、理解できないことに変わりはない。相手に手間をかけさせるだけだし、君自身も前進せずに同じところをグルグルしてるだけだろう。

760 名前:デフォルトの名無しさん [2019/12/17(火) 12:13:38.61 ID:rApV4krM.net]
>>708
両方使ってるけど問題無い
先に conda の方使って conda に無ければ pip 使ってる

761 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:04:39.73 ID:Ef4LKPDY.net]
>>712
チュートリアルを一通りやってから出直そうか
チュートリアルで理解できないところがあったらそれを質問したらいい
https://docs.python.org/ja/2.7/tutorial/

今の段階でググって類似のソースを見つけようとするのは無駄どころか害でしかないよ

762 名前:デフォルトの名無しさん [2019/12/17(火) 14:11:37.23 ID:rApV4krM.net]
>>712
codepad.org/jnBqqX9F

763 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:14:27.53 ID:q5RkcH8n.net]
visualstudioでc#使ってるときのように、インテリセンスが働いて、なおかつスペースとかを教典通りに調整してくれるテキストエディタありませんか?



764 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:16:09.48 ID:q5RkcH8n.net]
vs→vcに乗り換えてインテリセンスが働くようになったのは良かったんですが、スペース入れるbekiどうかで悩んだり、そこに脳のメモリ取られるのがうっとうしい。。。

765 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:18:53.50 ID:Ef4LKPDY.net]
>>711

block = [ [11,12,13,14],
[15,

766 名前:16,17,18],
[19,20,21,22],
[23,24,25,26] ]

def rot():
____tmp = [[x for x in y] for y in block] # listのlistを一時用に作る

これはおちょくられてるのかもな
不必要なコードだけどリスト内包表記はPythonの基本なので理解する努力をしよう
[]
[ここ壊れてます]

767 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 14:29:57.73 ID:QqOdTjZG.net]
>>722
ありがとうございます
単にコピペで貼り合わせて動くものを作るにとどまらず
なぜ動くのかを理解しながら、参考資料にあたりたいと思います


>>723
ありがとうございます

実は調べてるうちに、chunkなる単語を知りまして
やりたかったことは、これだったんだと思ったと同時に
活路が開けたといいますか、学習が進みました
ヒントのソースありがとうございました

768 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 20:48:36.49 ID:eGUcswGM.net]
テトリスなんて、10年以上やってる香具師でも、簡単に作れない

Java 土方で有名なベテラン、T Umezawa の動画を見てみ。
こんな、神レベルの達人でも、タイルが壁にめり込んだりして、簡単には作れない!

落ち物パズルゲームのプログラミング解説 1/2
https://www.youtube.com/watch?v=iyMMaQWlF_0

素人が作るのは、10年以上早いw

作ったと言ってる香具師は、作っていない。
コピペしただけw

769 名前:デフォルトの名無しさん mailto:sage [2019/12/17(火) 20:52:54.24 ID:CYemexLv.net]
お前の頭が悪いだけ

770 名前:デフォルトの名無しさん [2019/12/17(火) 23:11:25.06 ID:8Os966QG.net]
みんながんば!

771 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 00:22:03.39 ID:Z6EQDlLl.net]
Java土方で設計力もテスト設計力もないから書けないだけじゃないの

小学生の頃BASICのテトリスのコードの量見て難しいと思った記憶があるけど、今ならどんな言語でも書ける自信があるぞ

今のPCパワーで高速化とか考えなくていいなら愚直に書くだけだろう

772 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 01:38:39 ID:N9ghlCsW.net]
ブロック?じゃなく行列をなんで回転させようとするんだろう?
全く理解できない感覚なんだけど

773 名前:デフォルトの名無しさん [2019/12/18(水) 05:13:33 ID:YyMc+ouu.net]
a = ['01','03','05']
b = ['02','04','06']

ていう配列があって、それをforで回すんだけど。
for x,y in zip(a,b):
print(x,":",y)

1個飛ばしでstepさせることでてきますか?
マトモな言語ならfor i=0 to a.length step 1とかできるのに。



774 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 07:14:26.22 ID:Qufxt8uf.net]
>>733
自分の無知により自分の思うようにいかないからといって、マトモでないという思考はやめた方がいいぞ

775 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 08:09:09.35 ID:ZgzG2chb.net]
今時lengthだってw
原始人かよ

776 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 08:16:02.71 ID:4Fp+UrW3.net]
for x,y in list(zip(a,b))[0::2]:
print(x,":",y)

777 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 08:37:40.12 ID:4Fp+UrW3.net]
for i=0 to a.length step 1
をPyで使うなら、
for i in range(0, len(a), 2):
print(a[i],":",b[i])
な気がするが。
で、>>733はなんでzipを使うんだろ

778 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 09:26:00.82 ID:NtHwU1Mj.net]
for left in zip(*pos[::-1]:
とかで使ってるけどzip何なのか調べてないしちゃんと動いてるからいいや

779 名前:728 mailto:sage [2019/12/18(水) 11:59:08.76 ID:j3J ]
[ここ壊れてます]

780 名前:URanB.net mailto: >>731
T Umezawa は、Java, C#, C++ とか何の言語でも、
入力補完を使わずに、メモ帳にすごい勢いで書くだろw

土方を極めた、神としか思えないw

>>732
テトリスのすべてのブロックは、4×4 マスに納まる

キー操作による回転に、対応させないといけない。
90度左回転・右回転とか
[]
[ここ壊れてます]

781 名前:デフォルトの名無しさん [2019/12/18(水) 12:02:31.23 ID:RQBBPl9v.net]
造りたい言い始めてから何日かかってんだ
書き込む暇あったらさっさと造れ
一日もあったら出来るだろ

782 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 12:03:17.83 ID:NtHwU1Mj.net]
回転いらない1x1ブロックのテトリスつくったら?

783 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 12:08:51.54 ID:vQ0YSRP4.net]
>>741
あーこれいいね。絶対に伝わらない良アドバイスw



784 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 12:11:56.37 ID:CFyyhfVu.net]
面倒くせーから早く自殺しろ

785 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 13:39:56.45 ID:N9ghlCsW.net]
>>733
無理して使いにくい言語を使わなくても
マトモだと思う言語を使ったほうがいいと思うよ
皮肉じゃなく割とマジで

pythonでstep指定する時はslice/isliceを使う
は? slice? ってなっても我慢すること
pythonはそういう言語だから

for x, y in islice(zip(a, b), 0, None, 2):
____print(x, y)

786 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 14:00:04.04 ID:N9ghlCsW.net]
>>739
>テトリスのすべてのブロックは、4×4 マスに納まる

4x4マスに収まるからといってブロックを4x4の行列で管理するメリットって何かあるの?
viewとmodelの分離ができてないとしても
ブロックを行列で表現してそれを直接回転させようという発想になる理由に興味ある

787 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 14:05:40.87 ID:j0+9FDxC.net]
ていうかこのテトリス奴って一年くらい前にも同じレベルのレスしてなかったっけ?

788 名前:デフォルトの名無しさん [2019/12/18(水) 14:08:54.50 ID:gHFmoE9o.net]
一個飛ばしってただ単にこういうことじゃなくて?

>>> for n, m in zip(a[::2], b[::2]):
print(n, ':', m)


01 : 02
05 : 06

何をもめてるのかわからん

789 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 17:05:42.74 ID:ZgzG2chb.net]
>>746
10年前もテトリスの話をしてただろう

790 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 18:54:15.48 ID:rPZysOi9.net]
global宣言って何となく行儀が良くないような気がするのですが、上級者の方でも結構使いますか?

791 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 19:04:37.86 ID:YQOjezK4.net]
グローバル変数自体はPythonなら普通に使うけど、global宣言はほとんど使わない
しょっちゅう細かい粒度でグローバル変数を更新するようなことをするとスパゲッティ化しやすい

792 名前:デフォルトの名無しさん mailto:sage [2019/12/18(水) 20:16:50.10 ID:Kq662flJ.net]
nonlocalならまあ、というかよく使う
globalはつかったことがない

793 名前:728 mailto:sage [2019/12/18(水) 23:13:47.41 ID:j3JURanB.net]
>>745
各ブロックの回転パターンは、4つあるから、
ブロックを行列で表現して、それを直接回転させれば、1つで済む

行列の回転なら、動きがおかしくても、回転計算の部分だけを直せばよいけど、
4つのパターンを作っていると、それらのパターンを直接直さないといけないから、大変



794 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 00:00:42.47 ID:snKgfw1x.net]
>>752
回転軸とか壁や設置済みブロックで回転が制限されるケースを考えると
単純な行列回転じゃ無理だし1つの処理でも済むこともないよ
そもそも4x4の行列だとI型のブロック回転させるだけで上下に動いちゃうよ

普通にブロックの型、基準となる座標、向きをモデルとして管理して
描画ロジックとは分けたほうがいい

795 名前:デフォルトの名無しさん [2019/12/19(Thu) 01:26:15 ID:qED21Kil.net]
俺もテトリス作ろうしたことあったけど思ったよりややこしくて放置してるわ…

796 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 08:02:37.49 ID:0eo+DnKB.net]
専門学校のコンピュータ・アニメ・ゲーム科卒から数年経ってプログラマーを目指したくなった者なんですがやっぱり未経験者は四年制大学の新卒しか採用されませんか?
やりたい事はAIのプログラミングです
言語はPythonを覚え中です

797 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 08:11:07.93 ID:EV4M7jYb.net]
単純に需要による
アンドロイドプログラミングとかなら今は需要の割にクッソ人が少ないから
kotlin使えたら未経験だろうが就職できる可能性は比較的高い

一方pythonのほうはこれからどうなるかは分からないが
日本では現状深層学習用などの学問用言語で 実務に使っているところはあまりない
ということはつまりpythonでAIやっていくには大学で専攻したような専門知識を持った人たちに
対抗しなくちゃいけないわけで ちと難しいんじゃないか?

798 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 08:17:46.98 ID:0eo+DnKB.net]
>>756
わかりました
Kotlinにします

799 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 08:21:14.74 ID:0eo+DnKB.net]
早速ポチってきました!
作って楽しむプログラミング Androidアプリ超入門―Android Studio3.3 &Kotlin1.3で学ぶはじめてのスマホアプリ作成

800 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 09:36:46.63 ID:Ez8BH22g.net]
辞書で特定の単語を含むキーをワイルドカードで検索し
ヒットしたキーに対応している値を抽出したいのですが
辞書に正規表現検索を行うのはできないのでしょうか

プリミティブでは難しいでしょうか

801 名前:デフォルトの名無しさん [2019/12/19(木) 10:09:48.45 ID:xAWELgvD.net]
はい

802 名前:デフォルトの名無しさん [2019/12/19(木) 10:49:12.14 ID:Crw8oya5.net]
容易い

803 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 12:27:41.62 ID:dMnFAlGo.net]
Ruby では、正規表現のunion で「または」の正規表現を作ることができる。
その辞書の値を、gsub に渡すことで置換できる

hash = { 'ab' => 'あ', 'xy' => 'ん' }

p re = Regexp.union( hash.keys ) #=> /ab|xy/

p "9xy9ab9xyx".gsub( re, hash )
#=> 9ん9あ9んx



804 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 13:18:16.88 ID:9Fgp9NK8.net]
内包表記を使えば一瞬で解決する

805 名前:デフォルトの名無しさん [2019/12/19(木) 14:15:27.95 ID:+cpLTGtZ.net]
>>755
君がやるべきことは高校を卒業することだ

806 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 14:51:01.29 ID:snKgfw1x.net]
>>759
filter()かリスト内包表記
頻出パターン

foo = {"aaa.py": 1, "bbb.py": 2, "ccc.csv": 3, "ddd.txt": 4}
[value for key, value in foo.items() if ".py" in key]
Out: [1, 2]

条件が複雑ならifのところで正規表現や関数使ってもいい

807 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 15:36:09.20 ID:Ez8BH22g.net]
ありがとうございます。参考になります

808 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 18:28:38.99 ID:V/5EkM6t.net]
機械学習する時、anacondaでpipを使っています
何故、condaを使わないのでしょうか?

809 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 18:37:09.73 ID:V/5EkM6t.net]
× 機械学習する時、anacondaでpipを使っています
〇 機械学習する時、色々なサイトを見てみると大抵、anacondaでpipを使っています

810 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 19:19:08.89 ID:PZllcG7i.net]
そのサイトの記事を書いた人もまたどこかからコピペしてるからだよ
Anacondaがないと何もできないレベルの人が自分で一時情報源に当たって問題解決なんてできるわけないだろ?
そうやって元を辿っていくと、Anacondaを必要としないレベルの人に行き着く

811 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 19:30:49.49 ID:V/5EkM6t.net]
>>769
へぇー、結構適当な理由なんですねw
thank you

812 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 20:35:05.08 ID:Zd ]
[ここ壊れてます]

813 名前:WBIW9y.net mailto: >>750
>>751
ありがとうございます
globalもnonlocalも設定値みたいに使ってglobal変数自体は更新しない場合が多いってことですか?

多少無理してでも引数と返り値でやりくりした方が見栄え良さそうですね
[]
[ここ壊れてます]



814 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 20:52:51.96 ID:igx1CkSL.net]
プロパティの勉強中

class Goods:
def __init__(self, name, price):
self.__data = {"name":name, "price":price}

def get_name(self):
return self.__data["name"]

def ste_name(self, value):
self.__data["name"] = value

def get_price(self):
price = self.__data["price"]
price__str = f"{price:,}円"
return price_str

name = property(get_name, ste_name)
price = property(get_price)


from goods_property import Goods
food = Goods("pizza",200)
print(food.name)    #1
food.name = "humberger"
print(food.name)    #2
food.price = 100
print(food.price)

815 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 20:54:02.72 ID:igx1CkSL.net]
#1で

Exception has occurred: AttributeError
'Goods' object has no attribute 'name'

ってなるのではなんで???
#2はOKなのに、initでデータ入ってないってこと?

816 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 21:28:47.05 ID:xPsWnlhM.net]
>>773
実行していないが
>food.price = 100
ではエラーになると思うが、nameのgetter、setterではエラーにならないんじゃないか
あと、setをsteにするってなんかの教えによるのか

817 名前:デフォルトの名無しさん [2019/12/19(木) 21:32:21.97 ID:Crw8oya5.net]
>>772
https://ideone.com/
に貼ってきて

818 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 21:44:29.89 ID:igx1CkSL.net]
>>775
https://ideone.com/kLRY44
これでOkでしょうか?

819 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 21:45:21.51 ID:igx1CkSL.net]
>>774
すいませんsteは自分で吹きました。。。

820 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 21:50:51.31 ID:snKgfw1x.net]
>>773
#2の直前の
foo.name = “humberger”
でfooにnameっていう変数を新しく追加してそれに”humberger”を代入してるから#2はエラーにならない

__init__で
self.name = name
self.price = price
ってやってればfooにはnameが#1の段階で存在するから#1もエラーにならない

821 名前:デフォルトの名無しさん [2019/12/19(木) 22:17:22.66 ID:Crw8oya5.net]
>>776
File "prog.py", line 13
price__str = f"{price:,}円"
^
SyntaxError: invalid syntax

>Exception has occurred: AttributeError
>'Goods' object has no attribute 'name'
再現できるコード貼ってくほしい

822 名前:デフォルトの名無しさん [2019/12/19(木) 22:19:55.36 ID:Crw8oya5.net]
https://ideone.com/MhxdDj

823 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 22:24:13.55 ID:snKgfw1x.net]
>>778
すまん、↓これ見落としてたわ
name = property(get_name, ste_name)
price = property(get_price)



824 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 22:33:20.61 ID:snKgfw1x.net]
インデントがあってればエラーにはならないね

825 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 22:43:58.50 ID:igx1CkSL.net]
>>778
本当だ・・・。
というか教科書の教材を打ち込んでただけなのですが、教科書自体間違ってるのか・・・。
1時間悩んだのが何だったのか・・・。

ありがとうございます。すっきりしました。

826 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 22:47:34.16 ID:igx1CkSL.net]
>>782
あれ・・・。

name = property(get_name, ste_name)
price = property(get_price)

のインデントってdef 〜と同じところではダメなのでしょうか?

827 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 22:49:21.05 ID:igx1CkSL.net]
よくわからなくなってきた。
properyは初期化には関わらないからinitで代入する
self.name = name
self.price = price
が必要って理解でいいのでしょうか?

828 名前:デフォルトの名無しさん [2019/12/19(木) 23:05:38.53 ID:GR6pg+Yh.net]
socket通信で送った文字列を、Pythonで受け取ってexecするプログラムを作りたいのですが
空いているポートにセキュリティ上の問題が発生してしまいます
セキュリティ問題を回避する方法ってないですか?

829 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 23:24:54.23 ID:68JQcBLU.net]
>>771
個人的にだけど…
globalは宣言もしないし値を使うだけってのもまずやらない
nonlocalは宣言するからには更新するし使うだけってのもバンバンやる
nonlocal宣言するのはGUI部分のみだけど
変数使うだけの方は100行の関数を10行単位の細切れにして引数は渡さないとかそんな感じ

830 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 23:49:48.18 ID:4y7SvWFf.net]
すいません質問なんですが
配列の中のものを交互に2つの処理をするにはどうしたらいいのでしょうか?

a=[0,1,2,3,4]という配列があるとして
0と2と4には5をかけて
1と3には2をたすとかどうしたら良いのでしょうか?

831 名前:デフォルトの名無しさん mailto:sage [2019/12/19(木) 23:51:10.25 ID:snKgfw1x.net]
>>783

>>778に書いたことは一旦忘れてくれ
property()で設定してるのを見落としてたから

インデントが間違ってるってのは
get_name()や name = property(…)が
みんなdef __init__の中に定義されてるところ

832 名前:デフォルトの名無しさん [2019/12/20(金) 00:11:32.82 ID:N19Ct9QI.net]
>>788
これでできます
a=[0,1,2,3,4]
for i,number in enumerate(a):#enumrateでaの要素をnumberに入れる、要素番号をiに入れる
if number % 2 == 0:#numberを2で割った余りが0だった場合
  a[i]= a[i] * 5
else:
  a[i]= a[i] + 2
print(a)

833 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 00:26:29.96 ID:aoxL/sZJ.net]
>>780
それを修正したが、AttributeError なんででるかわからんな
https://ideone.com/dyL8m9



834 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 00:33:50.20 ID:mwn52mbA.net]
>>790
ありがとうございます
a[0::2]とか使うとforが二個できてカッコ悪いなあと悩んでました
助かります!、

835 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 00:56:22.82 ID:LtdBIlOX.net]
>>790
>if number % 2 == 0:
交互に処理したいなら if i % 2 == 0: じゃないかな

836 名前:デフォルトの名無しさん [2019/12/20(金) 09:41:12.09 ID:N19Ct9QI.net]
>>793
たしかに
見落としてた

837 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 12:09:16.88 ID:c7XoinxY.net]
>>764
もうPythonはあきらめました

838 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 13:05:32.03 ID:qS4WQ1Uv.net]
python2.7
windowsのアプリケーションからクリップボード経由で手にいれた文字列

“内閣総理大臣賞受賞”
を変数mymarkに入れておいて

u’総理’ in mymark

と演算子inで調べると、総理は存在するはずなのにFalseを返されます

右も左もソースに自分で打ち込んだ場合は正常なので
win経由のものはどこかでエンコードがおかしくなってるのではないかと思います

以下は調べてみました
type #右も左も<type ‘unicode’>
len(mymark) #9
内閣総理大臣賞受賞、で9文字ですね

len (u’総理’) #6
・これがどうして6になるのかよく分からない

839 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 13:20:02.56 ID:L1XL0AeX.net]
len(u'総理')の長さが6になるのは
多分python2では文字の長さを「文字列全体の容量 / 1文字の容量」で計算してるから
日本語などのマルチバイト文字だと実際の文字列の長さより長くなるんだろうなってことは分かる
(python3では普通に文字列の長さが表示された)

内閣総理大臣賞だけ9文字という正確な値になってるのはよくわからない
自分の調べたpython2環境ではlen("内閣総理大臣賞")で27になっていたが

840 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 13:26:15.19 ID:qS4WQ1Uv.net]
>>797
そうなんですか
じゃあ数があわないから、ここに問題が!と思いましたが
そうではないかも知れないのですね

841 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 13:28:24.35 ID:A+TGdcd9.net]
Ruby なら、powershell, clip コマンドを使って、
Windows のクリップボード処理もできる

Windows(CP932でin) → Ruby内部(utf8 で処理する) → Windows(CP932でout)

# frozen_string_literal: true

# クリップボード内の複数行文字列の、各

842 名前:行の先頭・末尾から、
# 連続する空白類を除去して、クリップボードに入れる

str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換

ary = str.each_line.map( &:strip ) # 連続する空白類を除去する

IO.popen( 'clip', 'w:cp932' ) do | clip | # CP932 へ戻す
clip.print( ary.join "\n" )
end
[]
[ここ壊れてます]

843 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 13:31:51 ID:lig6lPK8.net]
mymark = '内閣総理大臣賞受賞'
だと、18文字
mymark = u'内閣総理大臣賞受賞'
mymark = '内閣総理大臣賞受賞'.decode('cp932')
だと、9文字

最初のmymarkをユニコード文字列にデコードしておけばエラーは出ないね。

2.xのお作法、なんかいろいろ忘れてしまってる。
print()で怒られてしまったw



844 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 13:42:46 ID:lig6lPK8.net]
あと、
len(u'総理')
はちゃんと2になるよ。
python 2.7.17 @Windows10

845 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 15:26:09.89 ID:qS4WQ1Uv.net]
ありがとうございます
プログラムにして動かしてるもの(だが動かない)
があるのですが

右側、mymark に .decode(utf-8)を付けると
UnicodeEncodeError: ‘ascii’が出て

右側、mymarkには何もつけずに
左側(u’総理’)にするとエラーは出ないけれど、in演算子が動かない

試しに左側の総理から、uを取ってしまうと
こんどはUnicodeDecodeError:’ascii’が出るんですね
かなり悩ましいです

別のマシンにpython3環境を構築して、そっちに移植してどうなるか試してみます

846 名前:デフォルトの名無しさん [2019/12/20(金) 16:48:06.47 ID:VlcbOuJw.net]
馬鹿には無理

847 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 17:40:34.24 ID:lig6lPK8.net]
>>802
decode() の中のコードページはクォートで囲わないとだめだよ

848 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 18:07:44.29 ID:LtdBIlOX.net]
>>796
>右も左も

右とか左の意味がわからない
「A in B」のAを左、Bを右と呼んでる?

849 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 21:06:36.63 ID:ITSL0wmI.net]
全角文字列に対してIF処理を入れたいのですが、何で判別すれば良いですか?

検索対象の文字コードはutf8で、
漢字、ひらがな、カタカナ、全角英数を含む可変長の文字列が対象です。

850 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 21:41:38.87 ID:LtdBIlOX.net]
if "バカ" in "バカボン":
___print(True)

True

851 名前:デフォルトの名無しさん mailto:sage [2019/12/20(金) 23:48:14.57 ID:c7XoinxY.net]
Pythonは才能が必要

852 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:02:01.64 ID:k+w4ikT0.net]
>>808
別スレでpythonやめてkotlinやるって言ってた人か?きっとすぐに同じことを言い出すぞ。
入門レベルで必要なのは才能なんかじゃなく、ごく普通レベルの根気と理解力だけだぞ。才能がどうこう言うような段階まで到達してもいないだろう。

853 名前:デフォルトの名無しさん [2019/12/21(土) 00:11:47.62 ID:LfWR8zZ0.net]
プログラミングってそんな大層なことなのか…?



854 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:25:48.14 ID:RZ7OoAF7.net]
>>809
他の言語はともかくPythonは持って生まれた才能が無い人には無理だろ
10年かかってもできないはず
人生を棒に振るぐらいなら簡単な言語を一生懸命やったほうがお得

855 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:27:14.39 ID:kL8tLCEf.net]
Pythonは人を選ぶからなぁ
IQは最低でも120ぐらいはないと難しいかと

856 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:28:58.20 ID:QVJGN34P.net]
>>810
ダニング=クルーガー効果だなw

857 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:36:18.17 ID:GTCnNgdl.net]
Python習得は大学の受験勉強より時間がかかるのは確か

858 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:38:37.92 ID:kL8tLCEf.net]
まぁ、数学(とくに関数

859 名前:ニ微分積分)を完全にマスターして更にそれらを応用させる能力が必要だからな
まず凡人には努力だけでは習得不可能な言語
[]
[ここ壊れてます]

860 名前:デフォルトの名無しさん [2019/12/21(土) 00:39:35.09 ID:LfWR8zZ0.net]
関数を完全にマスターってなに?笑
こわい

861 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:40:21.73 ID:sX1zkF8/.net]
これを小学校のカリキュラムに入れようってんだからなwww
まさに落ちこぼれ量産機www
本当は他のプログラミングができそうな子供達まで絶望させる

862 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:41:11.60 ID:kL8tLCEf.net]
>>816
AIの開発に必須

863 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:42:17.07 ID:AjLe2FOg.net]
プログラミングを知らない初心者に勧めてはいけない超難解言語



864 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:43:21.62 ID:kL8tLCEf.net]
まぁ、すすめるすすめないは自由だがすすめられたほうは挫折するだろうな

865 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:46:24.32 ID:qQwAhvsi.net]
ふつうプログラミングを覚えるということはルールを覚えるという事なんだがPythonは...
(^_^;)

866 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:48:48 ID:k+w4ikT0.net]
>>815
数学は単にpythonを使う応用分野の一つというだけで、言語としてのpythonの習得とは独立した話だろw
日本語を習得するというときに、数学や物理の論文を読み書きする能力まで求める奴はいないだろう。

867 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:50:58 ID:QVJGN34P.net]
ダニング=クルーガー直後の「完全にマスター」だぞ。釣りに決まってんだろw

868 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:51:51 ID:kL8tLCEf.net]
>>822
仕事で使えなきゃ意味ないだろ

869 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 00:57:35 ID:4SIKQrOR.net]
Pythonは9割が脱落する言語と言われてるのもうなずける
もし仮に本人には才能があってもPythonをおぼえようとした時に最初に出会う教材や人によって終わってしまうことも多いと思う
俺はPythonとかプログラミングと全く関係ない数学の応用の本を一緒に読んでた
でも結局脱落した

870 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 01:02:39 ID:k+w4ikT0.net]
初めから言語の習得の話をしていて別に仕事で使う話はしていないぞ。
仕事で使うにしたって、pythonは汎用的なプログラミング言語であって別に用途が人工知能に限定されるわけでなく、ちょっとした統計処理や自動化程度であっても役割として十分だろう。

871 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 01:08:50 ID:kL8tLCEf.net]
初心者の方にはJavaScriptがおすすめ

872 名前:デフォルトの名無しさん [2019/12/21(土) 02:39:08 ID:0LiXcgPL.net]
二ヵ月前に初めてプログラミングの勉強始めて
友人に勧められたからPythonから触ってTwitter API使ったwin用guiアプリ作ったけど
AIとか作るんじゃないならかなり楽やと思うけどなぁ
転職して今週から働きだしてJava触ってるけど
個人的にはJavaのが難しいと思うわ(主にオブジェクト指向とかが)
まあ、両方楽しいし作ったアプリはオブジェクト指向使わずに書いたからコード自体は今見ると可読性悪いのがよく分かったw

873 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 07:22:16.03 ID:V5r7QLnH.net]
自分が落ちこぼれと認めるより、言語が悪いことにしたいよな
私を嫌う連中は私が嫌いなのではなく私の属性が嫌いなの!って騒いでるTwitterのメスガイジと似てるわ



874 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 08:03:18 ID:/C2Zxfa9.net]
>>825
pythonに限らずC言語の昔から同じようなことが言われていた

875 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 09:24:29.16 ID:Bl5cSZK5.net]
C言語はポインタが鬼門。まずポインタという名称が良くなかった。アドレス変数という名称のほうがしっくりくる。

876 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 09:43:01 ID:2jb+e7Ut.net]
アドレスと混同されないようにあえて別の名前を使ったんだろ。

877 名前:デフォルトの名無しさん [2019/12/21(土) 09:44:35.47 ID:LfWR8zZ0.net]
アドレスじゃん

878 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 10:20:00.37 ID:AgLsTGZF.net]
Pythonは俺も挫折した
無理

879 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 15:20:00.57 ID:/C2Zxfa9.net]
pythonもidによって謎の数字が出てくる
アレ何なの
おみくじ?

880 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 15:29:03.30 ID:3CC1js1d.net]
7が並んだら奇跡かおきるってよ

881 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 17:24:57.69 ID:/91O1xjY.net]
VSCODE使ってみて初めてVisual Studioのありがたさがわかった。

882 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 17:26:16.34 ID:/91O1xjY.net]
;をうつとちゃんとした記法に成型してくれるって楽だわ。
C#での話だけど。

誰かVSCODEでも同じ機能をつけてくれないものか・・・。

883 名前:デフォルトの名無しさん [2019/12/21(土) 17:50:40.98 ID:5ArYAWFR.net]
>>838
作るんだよ。お前が。拡張機能を。
あくしろや俺も使ってやるんだからよ。



884 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 18:09:44.05 ID:XVfPANjg.net]
>>808
rubyならキチガイでもできるよ!

885 名前:デフォルトの名無しさん mailto:sage [2019/12/21(土) 18:23:47.67 ID:/91O1xjY.net]
>>839
ああ、そういうことか!
無理です・・・。orz

886 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 05:03:39 ID:CyWocscD.net]
>>840
Rubyか...

887 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 17:18:31.92 ID:Ens8Pa2w.net]
心理系の研究で2Dカードゲームのようなアプリを作ろうとしています。
当初Unityでやるつもりだったんだけど、機械学習の勉強のためPython学んだら、
Pygameでやるのもありかと思い始めた。

トランプのような2DカードゲームつくるならPythonとUnityどちらがおすすめですか?

888 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 17:36:04.52 ID:buP4BnNs.net]
>>843
JavaScript

889 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 17:37:49.15 ID:NMRyBzep.net]
真理やめろ

890 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 17:41:49.90 ID:Ens8Pa2w.net]
>>844
短期間でC#、Unity、R、Pythonと詰め込んで混乱している。
これ以上言語増やしたくない。

891 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 17:43:27.57 ID:c4dmvFhs.net]
どっちでもいっしょだから自分が得意だと思える方でやればいい。

892 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:04:31.25 ID:Ens8Pa2w.net]
>>847
ありがとうございます。
現時点ではUnityのほうが得意なのですが、
アプリからデータ取得して統計処理、機械学習まですることを考えると、
Pythonで統一したほうが後々楽なのかな。。。

893 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:08:30.47 ID:Ens8Pa2w.net]
あと、スレタイどおりくだらない質問で申し訳ないのですが、
C#アプリで取得したデータをpythonで統計分析しようとしているのですが、
CSVファイルにデータを保存するとき

100件のデータを全て一つのファイルに保存。
100個のファイルを作製して1件1ファイルに保存。

のどちらがいいのでしょう?
1件のデータには実験環境等ながいDescriptionデータがついてくるので、
1ファイルだとデータの切り出しがめんどくさいかなと思っているのですが。



894 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:16:24.65 ID:buP4BnNs.net]
>>846
そのゲームを誰にどうやってやってもらうかとか
結果をどう収集すべきかとか
そういうの考えてる?

895 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 18:51:55.19 ID:Ens8Pa2w.net]
>>850
そのへんは考えてるのですが、質問の仕方が良くなかったですね。

***実験条件データ***
年齢:
性別:
特性A:
特性B:


***配列データ***
時間 回数 色 〜
0.11 3 R 〜
0.20 1 B 〜

みたいなデータが100件ぐらい1ファイルに記述したとして、
をpandasで配列データだけ切り出してくるってかんたんにできるものでしょうか?

896 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:03:33.08 ID:4GpMlcpo.net]
>>849
特別な要件がない限り
> 100件のデータを全て一つのファイルに保存。
しかないと思うが

897 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:15:06.28 ID:OE5DN1cz.net]
pygameって3?が頓挫して別のに開発リソースまわってるんじゃなかったっけ?

あとcsvはデータ形式によるから具

898 名前:フ的なカタチがわからないとなんとも… []
[ここ壊れてます]

899 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 19:59:30.18 ID:u+b66RrE.net]
>>851
まず、データだけを抽出する、コンバーターを作る!

そのためには、まず、データだけを抽出しやすいように、
よく考えて作っておかなければならない

JSON とか。
他には、XML, YAML もある

データとデータ以外の切れ目が、分かるようになってれば良いけど

まあ、ファイルを分割している方が簡単で、
後でファイルが増えた時に、融通が利く

900 名前:デフォルトの名無しさん [2019/12/22(日) 20:28:35.39 ID:MAO/zmGQ.net]
>>848
ゲームはUnity、データ処理はPythonってのがいいよ
どうせゲームの記録は一旦保存して、後で処理するのだから、
ゲームを作るのに得意な言語、データの処理に得意な言語で使い分けたほうが良い。
一つにまとめる必要があるのは、アプリケーションパッケージとして売ったり誰かに納品したりする必要があるときだけだと思う。

901 名前:デフォルトの名無しさん [2019/12/22(日) 20:33:44.52 ID:MAO/zmGQ.net]
>>849 >>851
見逃したけど、
100条件なら100ファイルの方が取り扱いが簡単だよ。1ファイルにするメリットはないと思う。
1000を超えてくるとOSの方での取り扱いが面倒になってきたりするけど。

1ファイルにする場合、条件データと配列データを切り出すのはPandasでも出来るけど、素のPythonでまず切り分けておいて、
切り出したCSV部分をPandasに渡すのが普通かな。

902 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:03:29.64 ID:Ens8Pa2w.net]
>>853
情報ありがとう。
開発終了してるし、後継のライブラリもなんか評判良くないね。

ゲーム部分は素直にUnityで開発します。

903 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:07:05.30 ID:Ens8Pa2w.net]
みなさんいろいろありがとうございます。
ファイル分割して、データ統合するコンバータを作るのが良さそうですね。
少し勉強が必要そうだけど、方向が見えてきました。
ありがとう。



904 名前:デフォルトの名無しさん mailto:sage [2019/12/22(日) 22:08:24.35 ID:Ens8Pa2w.net]
>>855
シンプルにUnityからテキストファイルに書き出して、
パイソンでデータ処理するようにします。

Unityからパイソンのファイルを実行するだけなら、自分でもすぐできそうだし。

905 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 00:46:17 ID:i+2w2qhs.net]
本当にくだらないんだけど、
風俗板とこのスレに常駐すると
パイソンがパイパンに見えてくるな。

906 名前:デフォルトの名無しさん [2019/12/23(月) 02:12:53 ID:Z89NhxHR.net]
test_str = 'aaaisaisaihuursstestiisaojyewysa'
というような文字列があったときに
文字列の中に'test'が含まれるかどうかの判定ってどうすればよいですか?
先頭でも末尾でも中間でもどこに含まれていても、print('含まれてるよ')と表示したいです。

907 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 07:39:10.34 ID:i17ydcb/.net]
>>861
'test' in test_str
で判定
いっちゃん簡単なやつ

908 名前:デフォルトの名無しさん [2019/12/23(月) 08:50:45.33 ID:G1ER7e+F.net]
>>861
test_str = 'aaaisaisaihuursstestiisaojyewysa'
if 'test' in test_str :
  print('含まれてるよ')
else:
  print('無いよ')

909 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 09:22:23.85 ID:cv9cp49U.net]
正規表現

910 名前:デフォルトの名無しさん [2019/12/23(月) 15:25:25.14 ID:sEnpgkKc.net]
>>835-836
うbyはidが偶数か奇数かでも動作が違う

911 名前:デフォルトの名無しさん [2019/12/23(月) 17:05:29.34 ID:Z89NhxHR.net]
>>862>>863
ありがとうございます!

912 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:12:29.62 ID:Pi1/7Ubv.net]
アップルが従業員に遺伝子検査サービス無料提供。「治療」から「予防」へ

https://japanese.engadget.com/2019/12/14/apple-clinic/

913 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:16:11.23 ID:Pi1/7Ubv.net]
943
半島人は長い歴史で虐待され続けたため、人間不信に陥っており、
又医学的には拷問を受けたため、遺伝的に脳の前頭葉



914 名前:(脳の30%の部分)が傷ついて萎縮していると判明しています
だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です
今後前頭葉を拡張復元していくことがよい結果を生むことになると思います
アメリカを中心に、高気圧酸素治療法というのがあります
カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です
損傷した脳の復元にかなり効果があることが、わかっていています


284
そこで提案だ
先ほど述べた、Paul Harch 医師達がやっているような、高気圧酸素治療(HBOT)の技術を生かしてみたら、いかがかな
つまり、代々前頭葉萎縮で悩んでいる半島人達の脳に、この治療法を応用するのだ
酸素を効率的に沢山供給することで、エデンちゃんの萎縮していた脳がほぼ通常に広がって戻ったのだから、
うまく考えて根よくやれば、半島人達の遺伝的に萎縮した前頭葉をふくらませられるかもしれない
そうしたら、彼らに失われていた人間的な感情も、わきやすく、育みやすくなるというものだ
半島人も他の民族と同じように気持ちが安定し、前向きになり、責任を持って自分の国作りをするようになるだろう
他に良い方法があればそれでもよいのだがね、1つの案として提示しておく
全世界の皆さんは、真剣に考えてやってほしい
特に、脳科学の研究者達はね
[]
[ここ壊れてます]

915 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:16:37.34 ID:Pi1/7Ubv.net]
276
その方法というのは、

『高気圧酸素治療(HBOT)』と言う

縦長のカプセルの中に患者が仰向けに寝ていて、カプセル内に高濃度の酸素を沢山満たし、吸い込ませ血管に送り込む
又、その際に高めた気圧で酸素を濃縮して、血管に溶け込みやすくする、という仕組みだ
これにより女児は損傷して萎縮していた脳が、酸素の補給により急激に回復し始め、まもなく感情を表し言葉を発したり、母を認識し以前の記憶がよみがえった
又自分で食べられるようになり、運動能力も徐々につき、驚異的な速さで機能が回復して行ったのだ
五才になった今では、多少歩く時に平衡感覚がまだ足りなくて、左右にぐらつくのを矯正中だが、ほぼ普通に元気に歩き、遊べるようになった


278
私が言いたいのは、これを応用できるのではないかということだ

この女の子、エデン・カールソンちゃんを治療したのは、ルイジアナ州立大学医学部のPaul Harch医師だ
彼は、エデンちゃんに主に高気圧酸素治療を行い、1回45分、週5日、計40回で終了した
治療を始めて10回目で、ほぼ正常に見えるほどになったという
その後も40回(8週間か)まで治療を続け、最終的にMRI検査では、エデンちゃんの萎縮してすき間のあった脳が、ほぼ完全に回復していた
脳の回復が速い幼児だからということも幸いしたが、
最近では急性脳損傷のある成人でも効果があることがわかってきた
成人にHBOTを1回実施しただけでも、脳の組織回復に必要な複数の遺伝子の活性に変化が見られたという
(日本では、病院で脳梗塞の治療等に使われている)

916 名前:デフォルトの名無しさん mailto:sage [2019/12/23(月) 20:16:54.72 ID:Pi1/7Ubv.net]
280
朝鮮半島民というのは、医学的に研究された結果、
昔から先祖代々貴族等に虐待や拷問を受けてきた

917 名前:スめに、おびえて脳の前頭葉(脳の30%を占める)に沢山の傷が見られ、そこの部分が萎縮しているそうだ
前頭葉の前半部は、思考、自発性、感情、性格、理性等を司る

前頭葉が損なわれるとどうなるか
例えば、
忘れっぽい
思いつきで動き、不注意
自発性がなく、すぐ人を頼る
大変おしゃべりか、反対に抑うつ的
すぐ怒ったり笑ったり、感情を爆発させる
人を思いやるのが苦手
危険に鈍感になる
規則を守らない
1つのことにこだわり、同時に2つのことができない
過食や浪費

又、もしもその一部である眼窩前頭皮質が損傷すると、
過度に悪態をつく
性欲過多
社会的対話の欠如
共感能力の欠如
アルコール、薬物の摂取過多
等が見られるという

どれも困ったことだ
必ず全てが現れるわけではないし、個人差もあるだろうが

943
半島人は長い歴史で虐待され続けたため、人間不信に陥っており、
又医学的には拷問を受けたため、遺伝的に脳の前頭葉(脳の30%の部分)が傷ついて萎縮していると判明しています
だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です
今後前頭葉を拡張復元していくことがよい結果を生むことになると思います
アメリカを中心に、高気圧酸素治療法というのがあります
カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です
損傷した脳の復元にかなり効果があることが、わかっていています
[]
[ここ壊れてます]

918 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 11:21:49.38 ID:DWLgg12E.net]
pythonにテキストファイルでデータを渡して統計処理しようとして、
初めて整然表現というものを学びました。

919 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 11:25:36.07 ID:DWLgg12E.net]
実験情報

氏名:
性別:
年齢:
実験日時:
実験場所:
実験タイプ:

実験データ
時刻 X Y 色
002 20 14 b


というデータで今まで実験情報と実験データを一つのファイルに記述していたのですが、
SatouTarou20191224DESCR.txt
SatouTarou20191224DATA.csv
と2つのファイルに分けて記述するべきなのでしょうか?

920 名前:デフォルトの名無しさん [2019/12/24(火) 11:34:40.49 ID:oSAz7Duc.net]
Philip N. Kleinという人の書いたベクトルを表すクラスに、以下の記述があります。

__add__ = add

左辺はインターネットで調べた結果、特殊メソッドであることが分かりました。

右辺の「add」は一体なんなんでしょうか?

そして、特殊メソッドである「__add__」を定義せずに、「__add__ = add」と代入していますが、これは文法的にどういうことなのでしょうか?

921 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 11:40:09.88 ID:DWLgg12E.net]
氏名 性別 年齢 ・・・ 時刻  X  Y 色
Sato Tarou 21     002 20 14 B
                004 22 10 R
               010  1  9  Y

みたいに一つのファイルのほうがいいのかな。
実験条件のデータは項目ひとつに1データでみづらいけど、
これがコンピュータにとって扱いやすい整然データということでしょうか?

922 名前:デフォルトの名無しさん [2019/12/24(火) 12:06:36.04 ID:oSAz7Duc.net]
>>873

def add(u, v):

class Vec:
__add__ = add

となっています。

これはクラス Vec の外で定義された「add」と同じ関数として「__add__」を定義するという意味ですか?

923 名前:デフォルトの名無しさん [2019/12/24(火) 12:16:14.86 ID:Ww2BU2Ri.net]
実行ファイルのあるディレクトリのパスを取得するのに
os.path.dirname(sys.argv[0])
という記述があるのですが
sys.argv[0]というのは何故必要なんでしょうか?

また、その1つ上のディレクトリのパスを取得するにはどうしたら良いですか?



924 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 12:35:53.65 ID:3XzgnZW7.net]
>>873-875
add と言う名前から想像すると、加算演算子「+」の再定義(オーバーライド・上書き)かも

例えば、Ruby で、カスタムクラスA を定義して、そのインスタンス同士を足す際、

class A
end

a_1 = A.new
a_2 = A.new

p a_1 + a_2 #=> エラー!

クラスA には、+演算子(メソッド)は、存在しないというエラーになる。
そこで、クラスA に、+演算子を再定義すると、好きな処理ができる。
a_1 + a_2 の場合、レシーバー(self)は、a_1で、other は、a_2 を表す

def +(other)
p self, other
end

925 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 12:41:33.48 ID:8/3Ibfsl.net]
>>876
sys.argv[0]が実行ファイルそのもの。
os.path.dirname(f)はfのディレクトリ。
os.path.dirname(os.path.dirname(f))でさらに一つ上の階層。
sys.argv[0]の代わりにos.path.abspath(__file__)も使える。

python 3.4以降?なら下の様な方法でも。
from pathlib import Path
Path(os.path.abspath(__file__)).parent.parent

926 名前:デフォルトの名無しさん [2019/12/24(火) 13:02:43.62 ID:Ww2BU2Ri.net]
>>878
ありがとうございます!

927 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 13:07:42.57 ID:3XzgnZW7.net]
>>876
Ruby では、シェルで「ruby オプション script.rb 引数」と入力するけど、
このスクリプトファイル名は、$0 という変数で参照できる

引数部分が、ARGV の[ 0 ]から順番に参照できる。
ARGV[ 0 ]には、スクリプトファイル名が入ってこない

そこが、Python とは異なる!

親のディレクトリは、parent で、祖父なら、parent.parent で。
たぶん、python にも、ファイルパスを扱うモジュールがあるはず

require "pathname"

path = Pathname("foo/bar") # 相対パス
path.parent # => #<Pathname:foo>
path.parent.parent # => #<Pathname:.>

928 名前:デフォルトの名無しさん [2019/12/24(火) 15:24:57.39 ID:L1tHoweE.net]
ふーん帰っていいよ

929 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 15:52:08.62 ID:9irKuexe.net]
>>873
class Vec:
__add__ = add

class Vec:
____pass
Vec.__add__ = add
と同じ

930 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 15:57:23.19 ID:9irKuexe.net]
Vec.__add__ = add がどういうことかわからなければ
↓これを参考に
https://ideone.com/Z5nLWW

931 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 16:04:24.92 ID:4c603ABM.net]
Rubyバカはスレタイを100回復唱してから書き込めよ

932 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 17:46:49.50 ID:9irKuexe.net]
>>872
RDBであれば別のテーブルで管理すべき内容

ただ一連の質問を見る限り他人がメンテする必要性が低そうなので1ファイルの場合と2ファイルにした場合のメリット・デメリットを考えてみて好きに決めればいいと思う

ファイルの分割に関係なく実験情報と実験データの1つの組をユニークに識別できるIDを定義しておくのが無難

933 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 17:57:21.54 ID:9irKuexe.net]
>>874
違う
基本はRDBで言う第三正規形



934 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 18:15:54.74 ID:WqUdRB3h.net]
人名単位のcsvに実験データを追記していく
必要なら名簿を作成してI/Oを平易にする

これではいかんのけ?

935 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 18:31:25.90 ID:mGB04tXH.net]
日本語ファイル名は災いの元なので、学籍番号やローマ字表記などに変えるべき。

936 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 19:46:37.28 ID:CDAmWs4U.net]
日本語かどうかよりはファイルシステムでファイル名としては取り扱えない文字かどうかを気にした方が良いような
まあ、結果としてアルファベットと数字とハイフン、アンダースコアにしておくのが無難だという結論になるけれど

937 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 19:59:36.01 ID:l0GCh4fC.net]
>>886
主キーで管理して実験情報テーブルと実験データテーブルを別個に作るということですか。なるほど。

938 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:01:19.05 ID:l0GCh4fC.net]
ってアクセスでならできるけど、パイソンでRDB的なことってできるんでしたっけ?

939 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:02:50.70 ID:l0GCh4fC.net]
>>889
ファイル名は氏名と生年月日と記録日にしようかと思っています。
検索しやすいので

940 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:04:11.90 ID:l0GCh4fC.net]
>>887
同一人物でも異なる実験条件で複数回検査するので。

941 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:12:16.08 ID:l0GCh4fC.net]
あああ、確かに100件以上の実験データを扱うことを考えるとDBにデータ移行できるよ

942 名前:うにした方が良いですね。盲点だった。 []
[ここ壊れてます]

943 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 20:27:01.45 ID:s2lutymo.net]
>>407にもある通り数億とか数千万のオーダーを考えるのは普通
ファイルでも数万は簡単に行く
盲点でも何でもない



944 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 21:24:52.74 ID:r8fNCPuj.net]
参照系なら必ずしも正規形にこだわる必要もないよ。
統計処理はjoinされた形でやるわけだろうし。

945 名前:デフォルトの名無しさん mailto:sage [2019/12/24(火) 21:43:30.63 ID:9irKuexe.net]
>>892
その3つで一意性を完全に保証できる前提ならいいんだけど
同じ人が複数タイプの実験を1日で実施したりすれば対応できなくなるよ

一意性を保証できない状況が発生しうるなら
識別IDに人間の見やすさのための情報を付加する形がいいかも

0011228_SatoTaro_20191224.csv
0011235_SatoTaro_20191224.csv

946 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 08:33:26.59 ID:iqbdwPlo.net]
>>897
スタンドアロンで別施設でデータ取得も考えると
年月日_実験開始時刻_氏名_生年月日
ですかね。
ファイル名は長いですが、
人間が判別するときもこれらのデータがあるとわかりやすいし。


20191224_120122_SatouTarou_19820912

ファイル名長いな・・・。

947 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 09:08:39.56 ID:iqbdwPlo.net]
正規形勉強してきました。
アクセス使ってたけど主キーとかユニークナンバーとしか理解してなかった。。。

948 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 09:12:06.97 ID:iqbdwPlo.net]
>>874
は第一正規形ってことですね。
python上で第三正規形のデータ取り扱うってどうすればいいんだろう???

pythonやRで統計処理をするときは、
第一正規形であれば問題なさそうな気がするんですが、
間違っていますでしょうか?

949 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 11:07:21.89 ID:2sisjRdM.net]
ちょっと論文読んできました。整然データ=第三正規形ではないんだね。

1. 実験情報と実験データでcsvファイルを分ける
2. 1のファイルから要約データを計算し、要約データファイルに実験情報と要約データを順次上書き
3. 要約データを実験条件で分割して有意差検定する

が良いのかなぁ。

950 名前:デフォルトの名無しさん [2019/12/25(水) 11:33:04.71 ID:MC7jTCCf.net]
>>974
間違ってない。
第三正規形は、更新時の書き込み箇所を一本化したり、保守性を上げる(スキーマ改変の範囲を限定する)というようなことが目的だから。
参照オンリーの場合は、むしろパフォーマンス面でマイナスになったりする。
けれど、非正規化するかどうかは別問題。
マテビューなどの解決策もあるからね。

951 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:01:08.00 ID:ZI663GBY.net]
Ruby on Rails では、
多重度、1 : N は、has_mamy, belongs_to とか

参照、references
外部キー、foreign_key

952 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:06:28.68 ID:DT9LgkyT.net]
>>903
https://spectrum.ieee.org/computing/software/the-top-programming-languages-2019
もはや存在すら忘れられたマイナー言語

953 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:38:43.88 ID:wOKia0YU.net]
>>891
sqlite3とか入れてPythonからそれを叩くのが定番



954 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 12:40:43.60 ID:wOKia0YU.net]
>>892
生年月日みたいな個人情報入れるとか大丈夫?
てか企業とか学校なら社員番号とか学籍番号とかあるんじゃないの?

955 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 16:27:06.73 ID:l8QWpMeL.net]
python3.8でコードをexe化する方法ありますか?

956 名前:デフォルトの名無しさん [2019/12/25(水) 17:05:31.75 ID:2ymVLaRc.net]
exe + dll で良いならあるよ

957 名前:デフォルトの名無しさん [2019/12/25(水) 17:18:42.78 ID:urIrQtmF.net]
Python習いたての初心者です。

Pandasでデータフレーム作って
Scikitlearnで標準化をする際に
一旦数字のみ抽出して、標準化、
またデータフレーム化という手順で習ったのですが
回りくどい気がしてなりません。

Pandasのまま標準化するには
計算コード直入力するしかないものですか?

理解不足があったらすみません。

958 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 17:41:48.67 ID:owbFz3od.net]
>>891
実験データをSQLiteとかで管理するのはお勧めできない
間違ってデータ飛ばしたりとかがSQLに慣れてないころには容易に起こる
データの結合とかはpandasでSQLで出来ることはほぼ同レベルの手間でCSVファイルに対してできるから、とにかくCSVファイルに保存していく形にするのが良いと思う
実務ではないのだから、最悪ちょっと機械的な手作業を頑張ったらなんとかなりそうという、見通しが立っている状態を維持し続けるべきだと思う
SQLとかRDBMSにめちゃくちゃ慣れていて、pandasなんか覚えたくないよというのならpandasじゃなくて良いけど

あと、データをあれこれするときはjupyter notebookを使うと履歴が残せるし、うまくいかないところだけ試行錯誤でコードの修正がしやすいので本当にオススメ

959 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:02:29.31 ID:iqbdwPlo.net]
>>902
ありがとう。
>>901
のパターンでやってみる。
データ構造どうするかって、きちんとしておかないと後で地獄見るってよく勉強になりました。

960 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:13:59.86 ID:iqbdwPlo.net]
>>910
pandasでデータ成型(スクレイピングって言うのかな?)
も学ばなきゃ。

新しく学ばなきゃいけないことたくさんだけど、
プログラミングは試行錯誤できることと、
お金があまりかからないのがいいことですね。
がんばります。

961 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 18:17:00.04 ID:JNywgUPx.net]
北海道のグラサンスーパーハゲザーはここにはこないのー?

962 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 21:34:44.21 ID:qDbmzL4T.net]
>>900
>pythonやRで統計処理をするときは、第一正規形であれば問題なさそうな気がするんですが、間違っていますでしょうか?
あってる間違ってるの話ではなく整然データにしておけばデータをこねくり回すときに楽になるよって話
現状困ってないなら無理して整然化する必要はないと思う

>>901
論文にも明記されてるけど整然データ(=tidy data)は第三正規形と基本同じだよ
原典か日本語訳を読むといいと思う
https://vita.had.co.nz/papers/tidy-data.pdf

>>902
一般的に特定の非正規形は特定の分析用途には使いやすくても
違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる
参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい

特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える

963 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:03:00.14 ID:hPmVmQm/.net]
質問でつ
このコードの4行目で print(combsを表示) しちゃうと
最後の return ta_combs の中身が空になるんだけど 何で?

import itertools
def twoSum(nums, target):
・・・combs = itertools.combinations(nums, 2)
・・・#print(list(combs))
・・・ta_combs = set()
・・・for comb in combs:
・・・・・if sum(comb) == target:
・・・・・・・ta_combs.add(comb)
・・・return ta_combs

print(twoSum((10, 20, 10, 40, 50, 60, 70), 50 ))



964 名前:デフォルトの名無しさん [2019/12/25(水) 22:05:12.83 ID:ycC2pkbE.net]
bigtable使ってるから正規化なんてないわ。
SQLもシンプルだし。
速度は言わずもがな。

965 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22: ]
[ここ壊れてます]

966 名前:10:39.36 ID:rtgRmFxx.net mailto: 複数の表をjoinするのとそれらの直積からselect/uniqueをとるのは等価だから
非正規形だと手間がかかるってのは当たらないと思う。
パフォーマンスや容量は別として、必要な変数を選んでuniqueをとるだけという
操作に統一できるから、いちいちどう結合するか考えるより手間が省けるくらい。
[]
[ここ壊れてます]

967 名前:デフォルトの名無しさん [2019/12/25(水) 22:12:36.33 ID:7FLhFvMk.net]
以下のようなテスト用の記述があるとします。
vecというモジュールからクラスVecをインポートしています。
vecモジュール内でも同様のテスト用の記述があるとします。
↓のコードを実行した場合、vec内のテストも行ってしまうようです。
vec内のテストは完了しているので、テストされないようにすることはできるのでしょうか?


from vec import Vec



"""
Returns the value of entry k in M, where k is a 2-tuple
>>> M = Mat(({1,3,5}, {'a'}), {(1,'a'):4, (5,'a'): 2})
>>> M[1,'a']
4
>>> M[3,'a']
0
"""


if __name__ == '__main__':
import doctest
doctest.testmod()

968 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:34:33.78 ID:qDbmzL4T.net]
>>915
list(combs)でイテレータを消費してるから
for comb in combs:のところではもう次のアイテムはない

969 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 22:37:11.85 ID:owbFz3od.net]
>>917
一理ある
DBを正規形にしておくのは必ず非正規化されたデータが正規形の直積から取り出せて、不整合なデータはありませんという保証を担保する側面があるってことだね

970 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 23:00:58.32 ID:qDbmzL4T.net]
>>917
それは一番単純なパターンで
キレイに非正規化されてるケースだけにしか当てはまらないよ

971 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 23:08:03.95 ID:hPmVmQm/.net]
>>919
アドバイス ありがとうございます
イテレータを理解してなかった

import copy 追加して
a = copy.copy(combs) を print の前に入れたら上手くいきました

972 名前:デフォルトの名無しさん mailto:sage [2019/12/25(水) 23:17:51.74 ID:rtgRmFxx.net]
キレイじゃない非正規化ってどういうのを想定してるのかな。
データとして等価じゃないならそりゃまずいが。

973 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 10:44:02.91 ID:g3TV29VW.net]
そもそも第一正規形以外の正規形って更新時異常を避けるために考えられたものであって
検索のことは考慮外なわけで。



974 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 11:09:55.46 ID:Wx+k6Oqq.net]
>>924
そりゃjoinのパフォーマンスなんかDBMSの実装の問題なんだから考慮外で当たり前だろう
レイヤの異なる関心事をごっちゃにしている典型例だな

975 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 14:05:50.96 ID:g3TV29VW.net]
パフォーマンスの話なんてどこから出てきたのやら。

>レイヤの異なる関心事をごっちゃにしている典型例だな

そうだね。

976 名前:907 mailto:sage [2019/12/26(木) 14:45:46.65 ID:FL6xOFYS.net]
すなおにpyinstallerのみ3.7で動かすことにしようと思います

オフライン環境にインストールしたかったので、先にオンライン環境で
pip download -d <保存先> --no-binary :all: pyinstaller
で関係ファイルをすべてDLし、オフライン環境にてpip installを試みました

ところがそれぞれのファイルをインストールし、
最後にPyInstaller-3.5.tar.gzをpip installするところでエラーになってしまいます

エラー内容を見るに、PyInstaller-3.5.tar.gzのpip installの中に
setuptoolsのオンラインでのpip installが含まれているように見えます
もちろんsetuptoolsは先にpip installしているにも関わらずです
何か方法ありますでしょうか

エラーメッセージ↓
ERROR: Command errored out with exit status 1:


977 名前:command: <Python.exeのパス> <pipのパス> install --ignore-installed --no-user --prefix <overlayのパス> --no-warn-script-location --no-bina
ry :none: --only-binary :none: -i https://pypi.org/simple -- 'setuptools>=40.8.0
' wheel
cwd: None
Complete output (8 lines):
Collecting setuptools>=40.8.0
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, st
atus=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3
.connection.VerifiedHTTPSConnection object at 0x02F322D0>: Failed to establish a
new connection: [Errno 11004] getaddrinfo failed')': /simple/setuptools/
(以下繰り返し)
[]
[ここ壊れてます]

978 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 15:57:44.27 ID:vMTIIs6I.net]
自分もひと月ほど前にオフラインでのpip installをやろうとして
行き詰まった
pipは何かとPyPIに接続しにいくからね

結局linuxサーバでプロキシーサーバーとファイヤーウォールを建てて
オンラインでできるようにしてからインストールしたよ

979 名前:デフォルトの名無しさん mailto:sage [2019/12/26(木) 19:24:43.15 ID:FaxhM6Zn.net]
北海道のグラサンスーパーハゲザーはここにはこないのー?

980 名前:907 mailto:sage [2019/12/27(金) 18:52:51.35 ID:Qsz5HXwu.net]
.tar.gz展開して中のsetup.py直接起動させたらいけました
自己解決ですみません

981 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:08:30.85 ID:RMes1jy6.net]
こういうデータがあります 外側のカッコはタプルでも可 要素は重複してないので集合でも可
data = [00, 01, 10, 11, 12, 22]
要素から 1桁目が0のみ抽出・・00,01 2桁目が1のみ抽出・・01,11 という処理をしたいです
今はforで回し正規表現で判断してるのですが、簡単に記述出来るモジュールのような物はあるんでしょうか?

982 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:22:55.46 ID:0wxaCoE9.net]
>>931
条件が簡単ならリスト内包表記で抽出するやり方があるけど
forで回して正規表現で検索する方が何かと汎用性があると思うよ

左1桁めが0のデータを抜き出す場合
[ x for x in data if x[0] == '0' ]

左2桁めが1のデータを抜き出す場合
[ x for x in data if x[1] == '1' ]

983 名前:デフォルトの名無しさん [2019/12/28(土) 02:24:08.22 ID:CljHkVQA.net]
rubyだと?



984 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:30:35.60 ID:r7V1DpIq.net]
>>931
十分簡単な記述だと思うけど、俺ならタダの数値計算にする。
切り捨てで1
10倍して10で割ったあまりが1

985 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 02:31:06.65 ID:r7V1DpIq.net]
切り捨て1じゃないなw

986 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 06:00:15.29 ID:iMlStgtR.net]
yokokara

987 名前:931 mailto:sage [2019/12/28(土) 08:39:10.00 ID:RMes1jy6.net]
要素は文字列でした 間違ってました
data = ["00", "01", "10", "11", "12", "22"]

>>932
"2"を抽出時も簡単ですね 全く思いつかなかったです 
3行の記述が1行に収まるので、こちらでいきたいと思います

>>934
10倍後10で割る方法もレスされて思い出しました

>>932  >>934 ありがとうございました

988 名前:デフォルトの名無しさん [2019/12/28(土) 10:40:09.14 ID:glKwkKz6.net]
>>931
ある言語では

p data.select{|x| x[0] == '0'}

989 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 11:22:22.26 ID:b3ohKRMf.net]
[ x for x in data if re.search(r'1$', x)]
[ x for x in data if re.search(r'1.$', x)]

とある言語では
data.filter{|x| x.match? /1$/}
data.filter{|x| x.match? /1.$/}

またとある言語では
data.filter(x=> /1$/.test(x))
data.filter(x=> /1.$/.test(x)) <

990 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 12:02:33.66 ID:vnZXJluZ.net]
Ruby では、select でフィルターする

data = %w(00 01 10 11 12 22)

p res_1 = data.select{ |x| x[ 0 ] == '0' }
p res_2 = data.select{ |x| x[ 1 ] == '1' }

出力
["00", "01"]
["01", "11"]

991 名前:デフォルトの名無しさん [2019/12/28(土) 13:03:02.30 ID:CljHkVQA.net]
♪───O(≧∇≦)Oキタ────♪

992 名前:デフォルトの名無しさん [2019/12/28(土) 15:28:51.07 ID:+sYlgNhA.net]
>>929
ハゲは北神雄太。

993 名前:931 mailto:sage [2019/12/28(土) 16:42:14.01 ID:RMes1jy6.net]
>>939
別の正規表現で書いてました (r'1$', x) (r'1.$', x) の方が簡単なので使わせて頂きます

参考にします >>938 >>940



994 名前:デフォルトの名無しさん [2019/12/28(土) 16:48:18.35 ID:9o1guVgp.net]
Macで、このプログラムをPyinstallerで実行ファイルにすると動きません。
MacってPythonと相性悪いんでしょうか?

import os
import sys
path_w = os.path.dirname(sys.argv[0])+'/testWrite.txt'
with open(path_w, mode='w') as f:
f.write('testWrite')

995 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 16:51:10.81 ID:EYxHjYjG.net]
>>944
Macには最初からPython2.7系が入っているので
3系を、ケンカしないようにうまいことインスコするのが基本。

でもってpyinstallerって
Windows用じゃなかったっけっか

996 名前:デフォルトの名無しさん [2019/12/28(土) 17:25:15.16 ID:9o1guVgp.net]
>>945
いいえ、Pyinstaller自体はWindows/Mac両方で動くように設計されているもののようで
Pyinstallerでアプリケーション化した後もGUIの作成やソケット通信などの部分は正常に動くのですが
ファイルの参照やファイルを作成のようなコマンドが内部に含まれていると何故か動かなくて困っています。

997 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 17:51:26.10 ID:EYxHjYjG.net]
>>946
pathの書き方がLinux系とWin系で異なるから とかもないなら

Macの「システム設定」てきな歯車アイコンの奥底にある
「出どころがあやしいアプリは動かないようにブロックする」デフォルト設定のせいじゃなかろか
(この機能の正式名称 ルートレス とかなんとかいったような)

998 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 18:34:55.94 ID:FoArgV87.net]
>>944
Macのターミナルから実行した場合は動くの?

999 名前:デフォルトの名無しさん [2019/12/28(土) 18:48:26.90 ID:9o1guVgp.net]
>>948
はい、ターミナル(正確にはAnaconda Prompt)から、素の状態のPythonを実行すると動きます。
しかし、Pyinstallerを使ってアプリ化することによってファイル作成コマンドが使えなくなります。
Windowsの方ではPyinstallerを使っても正常に動きます。

>>947さんの指摘が近そうな気がするので調べてみます。

1000 名前:デフォルトの名無しさん [2019/12/28(土) 18:53:49.75 ID:9o1guVgp.net]
あと、もう1つ情報を付け加えると、PyinstallerによってMacアプリ化すると
アプリが作成されるのと同時に、サブフォルダに「Unix実行ファイル」というのも作成されています。
何故かアプリでは動かないのに、サブフォルダ内の「Unix実行ファイル」の方をクリックするとファイル生成などのコマンドも正常に動いています。

1001 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 20:49:36.94 ID:q2Ylf9qj.net]
有明セントラルタワー

痰吐きジジィのチンポが18階の(どこの島かは言わないよ)20代の女の娘のオマンコに
入って行くウゥウウウーーー!
o.5ch.net/1lejw.png

1002 名前:デフォルトの名無しさん [2019/12/28(土) 22:27:10.71 ID:WD8h4qtV.net]
>>950
sys.argv[0]じゃなくて絶対パス(/Users/hogehoge/Desktop/testWrite.txt)で出来るのか試してみて、
出来るなら、print(sys.argv[0])で何が違うのか確認するべき

1003 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 22:38:08.38 ID:b3ohKRMf.net]
Using sys.executable and sys.argv[0]
https://pyinstaller.readthedocs.io/en/stable/runtime-information.html



1004 名前:デフォルトの名無しさん mailto:sage [2019/12/28(土) 22:59:25.11 ID:Jn+mNcKi.net]
画像高画質化アプリがすごいんだが
https://matsuri.5ch.net/test/read.cgi/morningcoffee/1577518892/

このスレにあるような綺麗な拡大ってPyhonで可能ですか?

1005 名前:デフォルトの名無しさん [2019/12/29(日) 07:36:42.64 ID:qv2BWJ9R.net]
>>952
プリントして表示したらパスが分かりました
ありがとうございました

1006 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 10:02:17.84 ID:12vQU2ip.net]
>>954
理屈的にはできるはず
完成できるかどうかはおまいの腕前次第

1007 名前:デフォルトの名無しさん [2019/12/29(日) 12:26:24.81 ID:kibmeFOr.net]
そういうライブラリがあるか聞いてるわけではなくて?

1008 名前:デフォルトの名無しさん [2019/12/29(日) 13:42:27.55 ID:49gQrlWf.net]

m3SXtna
61x65 96dpi 24bits


o9qwWuG
511x509 96dpi 24bits

横 8.38倍
縦 7.83倍

なんかきもい

1009 名前:デフォルトの名無しさん [2019/12/29(日) 13:43:04.58 ID:49gQrlWf.net]
品質はともかく出来るか出来ないかで言えば出来るだろう
元のより拡大後の方が綺麗に見えるっていう加工にすぎない

1010 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 14:00:37.11 ID:Zt6NZoPC.net]
>>954
waifu2xでググれ

1011 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 14:04:35.53 ID:9RsW793u.net]
>>960
そういうレベルの拡大画質ではないかと

スレの師匠方でも「理論としては可能」というくらいだとかなり難しいという事ですね

1012 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 14:09:06.77 ID:L6E4sJV0.net]
つかこれの可能不可能は言語的な制約によるものではないだろ

頭わりぃな

1013 名前:デフォルトの名無しさん [2019/12/29(日) 14:24:25.04 ID:49gQrlWf.net]
画質は落ちてても人間には綺麗に見えるフィルタなんていくらでもある
「画質」とか「綺麗」とかの定義と客観的定量的指標が必要



1014 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 14:34:23.11 ID:Zt6NZoPC.net]
>>961
そういうレベルw
モデルを顔写真用にトレーニングせずにそのまま使ってもそりゃダメだろ
GANs使ってアイコラ自動生成するアプリと同じ

1015 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 14:59:54.30 ID:Zt6NZoPC.net]
https://github.com/phillipi/pix2pix
https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix

この辺使って粗い拡大写真とキレイな拡大写真のペアでトレーニング

1016 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 16:59:36.46 ID:krz96WXE.net]
pygameのmusicでmp3を流すと、ファイルによってはオクターブが下がったり超低音のくぐもった音で再生されてしまいます。
vlcプレイヤーなどで再生すると同ファイルは正常に再生できるのですが・・・。
さらに後者の現象の後はdouble free or curruption(out)というエラーが発生しています。こんな現象に遭った方いらっしゃいますか?

1017 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 17:14:09.99 ID:5+fH2orr.net]
ゲーム作るならどうせ遅かれ早かれPythonは卒業することになるんだから、
時間を無駄にする前にそろそろunityにでも乗り換えたらどうかな

1018 名前:デフォルトの名無しさん mailto:sage [2019/12/29(日) 18:38:19.91 ID:2GmPR76J.net]
>>963
> 画質は落ちてても人間には綺麗に見えるフィルタなんていくらでもある
マジで?
2~3紹介してくれ

1019 名前:デフォルトの名無しさん [2019/12/29(日) 22:57:27.79 ID:qv2BWJ9R.net]
Windowsのパスを指定するときって\を使う場合と/を使う場合がありますが
/を使うと不具合が起きるような場合ってありますか?

1020 名前:デフォルトの名無しさん [2019/12/30(月) 01:23:59.84 ID:AcEus5TP.net]
pipenvを最近使い始めたのですが、疑問点があります。


1021 名前:度仮想環境から出たあと、pipenv shellを行い、再度仮想環境に入り直そうとすると仮想環境が作り直されます。
毎回pipenv installを行い、ライブラリをインストールしなくてはならないのでしょうか。
[]
[ここ壊れてます]

1022 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 09:02:33.89 ID:4+GP0CVf.net]
>>970
pipenvはプロジェクトごとにフォルダを沸かせて管理してくれやがりますので

Linux系なら
1かいめのpipenv shellのあと
「echo $VIRTUAL_ENV」して
応答で表示されるパスを覚えとけ(ここでは仮に/Users/hoge/fooがかえってきたものとする)
あるいは(echo $VIRTUAL_ENVが反応しなかったときなども)
普段「python -m venv /Users/unko」とかでpipenvをよんでるとおもうので
そのパスをメモれ。

でもって
「export $VIRTUAL_ENV=/Users/hoge/foo」みたいに
魔法の呪文をシェル設定ファイルに書いておけ

1023 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 09:15:28.10 ID:c2EGbkdv.net]
>>961
GANなので画像を補正しているわけではなく、生成している



1024 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 09:23:57.98 ID:5wgoa0WT.net]
Pyhtonは外部ライブラリの氾濫とenv関連の乱立でダメになったね
シンプルで学習コストが低いという最大の強みが
言語本体ではなく周辺環境の学習・構築コストが著しく高くなったことで
相殺されてしまった
Guidoさんも嘆いているだろう

1025 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 09:31:30.67 ID:4+GP0CVf.net]
>>961
きれーに拡大できる画像づくり ≒ ラスタ画像→ベクタ画像の自動変換 は
過去から現在まで
世界各国様々なやつらが
いろいろとがんがってきて
あれやそれやと販売してきはているのだが
未だ「コレダ!!!(´∀`)9 ビシッ!」という優れた製品が出てないのだ。

bmp→jpegで落ちる部分を補完するのだって
りくつはわかるが
おれたちに満足が行くクォリティの実行は
きっと不可能ではないのだろうが、
やっぱりゲキムズ

1026 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 09:47:56.63 ID:U65gHr2Q.net]
>>970
export PIPENV_VENV_IN_PROJECT=true
をシェルの設定ファイルに書いておけば、プロジェクトのルートディレクトリに.venvという名前で仮想環境を作ってくれる

1027 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 13:21:48.69 ID:cw4EWtnb.net]
pipenvがこれからのスタンダードになってくかと思いきや、最近はなんだかpoetryの方が良くね?って空気もあるし、かと思いきや名前忘れたけど新しい有力なパッケージマネージャが出てきたとかなんとか

どれを使えばええんや

1028 名前:デフォルトの名無しさん [2019/12/30(月) 14:02:48.63 ID:WAqdspci.net]
>>974
情報のエントロピー的に上限がある
それを超えるのは異世界にでも行かないと無理

1029 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 14:33:22.82 ID:Nw7Rp9O2.net]
>>976
3年くらい待つ

1030 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 14:42:59.25 ID:g0RN7zwT.net]
>>973
もともと環境の分離が考えられてなかったpythonの造り自体にも一因があると思うぞ。
そのあたりの古臭さは結局最後まで改善されなかった。

1031 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 15:10:41.52 ID:0ybHI6rZ.net]
>>979
環境の分離が考えられた言語って何?

1032 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 15:36:40.82 ID:vvSvem59.net]
>>980
nodeは標準でpipenv相当のパ

1033 名前:bケージマネージャが付属している
Goはコンパイラ自体がパッケージマネージャの機能を有しており、その上すべてをスタティックリンクするから実行環境にも依存しない
[]
[ここ壊れてます]



1034 名前:デフォルトの名無しさん [2019/12/30(月) 15:56:12.12 ID:UTSCwLrd.net]
Rustは

1035 名前:デフォルトの名無しさん [2019/12/30(月) 17:34:06.16 ID:kgySNqX2.net]
https://stackoverflow.com/questions/3520493/python-show-in-finder

上記のURLの回答に出ているsubprocess.callの、「-R」っていうのは何をするオプションですか?

1036 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 17:43:03.33 ID:w8cwRlld.net]
>>983
Mac使ってるんならman openで確認できるよ

1037 名前:デフォルトの名無しさん [2019/12/30(月) 18:00:57.78 ID:kgySNqX2.net]
>>984
ありがとうございます。
subprocess.callというのはunixコマンドを呼び出すもので、-Rオプションを付けると開くのではなく選択状態にするだけということですね。

1038 名前:デフォルトの名無しさん mailto:sage [2019/12/30(月) 23:38:37.05 ID:p3QJuMJ/.net]
Ruby のBundler が基本!
それを真似たのが、Node.js のnpm, yarn、
PHP のComposer

つまり、恥も外聞もなく、Ruby のシステムをパクったものが勝つw

>>969
Windows 10 で、Ruby を使っているけど、/ パス区切りで、問題ない!

Dir.glob( 'C:/Users/Owner/Videos/openload/*' ) do |full_path|
処理
end

1039 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 08:33:34.47 ID:awsyjiM+.net]
pipenv
 vs
poetry
  vs
pyflow

1040 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 09:01:54.02 ID:CC12AHqY.net]
グーグルに頼んでGoのコンパイラをPython対応にしてもらうしかないだろう
バイナリにしちまえばPythonのあらゆる欠点を改善できる

1041 名前:デフォルトの名無しさん [2019/12/31(火) 09:55:13.97 ID:6hm8iNMc.net]
pipenvは、仮想環境を取り込んでしまったのがそもそも大間違い。
パッケージ管理だけに特化すれば良かった。
poetryは一応外せるようにはなってるね。

1042 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 10:18:40.82 ID:YPeginhU.net]
pythonはパッケージをpythonバイナリからの相対位置で探すから、プロジェクトごとに
パッケージを分離しようとすると基本的にpythonバイナリごと丸コピーになる。
poetryってのも裏で仮想環境用意しているんじゃないかと思うが。

1043 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 10:28:29.41 ID:awsyjiM+.net]
とりあえずcondaはもう二度と使わないけどな



1044 名前:デフォルトの名無しさん mailto:sage [2019/12/31(火) 11:37:12.59 ID:Ja8RsyWS.net]
>>990
プロジェクトディレクトリからの相対パスをsys.pathに入れたければ
PYTHONPATH使えばいいんでないの?

1045 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 08:43:33.71 ID:HPE60y2L.net]
blackとかいうformatterめっちゃいい

1046 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 18:49:14.83 ID:XDdD4uFM.net]
エラー文に表示されるハットキャレットはエラー位置を示しているのでしょうか。

1047 名前:デフォルトの名無しさん mailto:sage [2020/01/01(水) 20:10:34.99 ID:zZ41nBr+.net]
違う
「ここで構文解析が行き詰りました」を示す

1048 名前:デフォルトの名無しさん [2020/01/02(木) 14:54:56.28 ID:m/E2OLKG.net]
0**0

1049 名前:デフォルトの名無しさん [2020/01/02(木) 15:58:06.26 ID:ZUrZA+uS.net]
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/

1050 名前:デフォルトの名無しさん [2020/01/02(木) 16:03:11.21 ID:a+sObGCf.net]
ナイス

1051 名前:デフォルトの名無しさん [2020/01/02(木) 16:10:53.55 ID:NYIo0K4b.net]
もっと PYTHONIOENCODING 使おう

1052 名前:デフォルトの名無しさん [2020/01/02(木) 16:12:17.43 ID:NYIo0K4b.net]
くだすれPython(超初心者用) その45【Ruby禁止】
https://mevius.5ch.net/test/read.cgi/tech/1577948214/

1053 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 78日 5時間 55分 5秒



1054 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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