くだすれPython(超初心者用) その45【Ruby禁止】at TECH
くだすれPython(超初心者用) その45【Ruby禁止】 - 暇つぶし2ch716:デフォルトの名無しさん
19/12/14 11:52:10.65 e26gFA86.net
アホな質問で申し訳ないが
class の、書き方について質問あります
Python がはじめてのプログラミング言語で
やっと手続き的な記述ではやりたいことが
できるようになってきた
オブジェクト指向理解してないのもあるかもだけど
ライブラリとか、フレームワークのclass をオーバーライドしてかく時に
self が乱立しまくってて、
効率わるいようなきがするのだけども
書き方があってるのか知りたい
現場エラー吐いてないから、いいかもしれないけど
マナーというか、お作法としてどうなんやろ?と
別途class つくったり関数作ったりするの?

717:デフォルトの名無しさん
19/12/14 14:32:25.78 tCtWHq2v.net
>>679
それは誰もが感じる疑問
Pythonではインスタンスメソッドとして扱いたいメソッドの第一引数にselfを渡して
明示的にselfを指定する以外にインスタンスメンバーを参照する方法はないので
オブジェクト指向的に書く場合はselfが乱立しまくるのが通常
”Explicit is better than implicit.”という苦しい言い訳をする人も多いけど
そんな高尚なものじゃなく単に言語の制約なのでPython使う限りは諦めて受け入れるしかない

718:デフォルトの名無しさん
19/12/14 16:23:05.11 8NRAnTxB.net
Ruby のクラスでは、引数にself を持ちまわらなくても、selfが使えるだろ。
それは、実装が大変
ユーザーの利便性を上げるために、実装で頑張った

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

720:デフォルトの名無しさん
19/12/14 16:58:40.39 tCtWHq2v.net
>>681
実装は大変じゃないよ
そんな大変ならPython以外にも
1つくらいselfを要求するOO言語があってもいいよね

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

722:デフォルトの名無しさん
19/12/14 17:45:57.04 tCtWHq2v.net
>>684
もうそういう苦しい言い訳やめたほうがいいよ
RustやNimやGoはコンテキストが全く違うんだから
>>679
FAQも読むといいよ
URLリンク(docs.python.org)
日本語訳おかしいから英語読めるなら原文のほうがおすすめ

723:デフォルトの名無しさん
19/12/14 18:17:59.35 zJmCdf+U.net
Pythonは変数のスコープもちょっと微妙なとこあるし、self必須とかはスコープに由来してるかわかんないけど、その辺は受け入れるしかないよね
その辺受け入れたとしても便利だからPython選んでるわけで
もちろん後方互換性を保ったまま改善できる言語変更があったら嬉しいけど
○○が変だからPythonは使えない、という人には他の言語もあるしね。

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

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

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

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

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

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

730:デフォルトの名無しさん
19/12/15 12:21:43.19 YeoWUmPH.net
>>691
どこで仕入れればいいの

731:デフォルトの名無しさん
19/12/15 15:30:08.19 GQ26ybwL.net
SQLite3で巨大なDBにデータを追加してcommitした時
動作としてはdbファイル全体が改めてディスクに書き込まれるのでしょうか
それとも変更した部分のみがディスクに書き込まれるのでしょうか
SDカード上にdbファイルを置いているため書き込み耐久が心配になり質問しました

732:デフォルトの名無しさん
19/12/15 15:53:14.71 goe0JUwd.net
>>694
普通は全書き込みだと思うんだが
そんなに消えて困るものならば
SDカードだったら
常時上書きのドラレコ突っ込みOKみたいな特上品使わないと
やばくね?

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

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

735:デフォルトの名無しさん
19/12/15 23:09:27.37 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:デフォルトの名無しさん
19/12/15 23:47:23.79 YEGq3iyi.net
すいません。どなたか教えてください。
jupyter notebook にてpyperclip をインポートしようとしたところできなかったため、
anaconda prompt にてインストール試みました。
conda install pyperclip だと、公式サイトで探してね。的なエラーが出てきたため、
pip install pyperclip で試みたところインストールは完了したのですが、、、
やはりjupyter notebook上でインポートしようとすると、同様の見つかりませんエラーが返ってきます。。。
何が悪いのか、どこを見ればいいのかよくわかりません。。。
教えていただけると大変ありがたいです。。。

737:デフォルトの名無しさん
19/12/16 07:51:04.24 79yFDnLG.net
>>698
dbはふつうそんな追加の仕方はしない。

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


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



740:デフォルトの名無しさん
19/12/16 08:57:09.75 Ugry/p2L.net
>>699
いまお使いの仮想環境名は把握してますか
conda list -n 仮想環境名 で
その環境を指定して、インストール済み一覧が表示されるから
それで分かるんじゃないでしょうか?

741:デフォルトの名無しさん
19/12/16 12:37:42.94 0jmxiGrg.net
>>701
curses
ncurses
pdcurses

742:デフォルトの名無しさん
19/12/16 21:11:21.65 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:デフォルトの名無しさん
19/12/16 21:11:27.79 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:デフォルトの名無しさん
19/12/16 21:30:31.84 ZGRHc5ZN.net
yokokara

745:デフォルトの名無しさん
19/12/16 23:12:57.95 levX/ad3.net
yokokara連呼厨子ね

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

748:デフォルトの名無しさん
19/12/17 09:45:31.97 QqOdTjZG.net
>>709
>大概の場合、PyAutoGUIで座標クリックにいきつくんですが、座標クリックだとウィンドウの大きさとか
PyAutoGUIでなくて申し訳ないが
私はそういう事で困る事の少ないAutoITXを使っている
座標系のマウスクリックだけじゃなくて、
アプリやウィンドウ、ダイアログの名前を判断して、指定したダイアログにある「了解」というボタンを押す
なんて命令が使えるから

749:デフォルトの名無しさん
19/12/17 09:54:50.75 OaYPHXYM.net
知恵袋でテトリスの回転のコードをも


750:らったのですが、 https://ideone.com/2j9PhQ このコードの内包表記の部分がよく分かりません(tmpのとこです) この部分をもう少し一般的な書き方はできないでしょうか?



751:デフォルトの名無しさん
19/12/17 10:18:22.18 QqOdTjZG.net
質問です。python2.7.1 windowsです
リストを作りました
list = [“left” , 1 , 2, 3, “num_a1”]
要素は5個です
関数を作りまして、引数を5個にしました
関数にリストを読み込ませたら、無事に動きました
次に要素を15個に増やして
関数に、先頭から5個ずつ読み込ませて
3回、関数に仕事をさせたいと思います
リストは二次元配列にしようと思います
ばくぜんと、forを使うのだろうということは分かるのですが
ググっても類似のソースを見つけられず、悩んでます
気軽に「こんな手法があるよ」程度で、レスをつけてもらえればありがたいです

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

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

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

755:デフォルトの名無しさん
19/12/17 10:29:46.26 qeIaMe/y.net
teratailの虐殺君じゃね?

756:デフォルトの名無しさん
19/12/17 10:47:25.74 sELGcuhs.net
大層な名前の割にしょぼそう

757:デフォルトの名無しさん
19/12/17 11:06:24.34 OaYPHXYM.net
>>715
わからないから質問して何が悪いのだろうか

758:デフォルトの名無しさん
19/12/17 11:32:25.65 GwugB5zt.net
>>718
ばかなの?
> お前、色んなとこで質問してコード継ぎ接ぎしてるだけだろ?
> プログラミング向いてないからやめとけ。
ただ向いてないだけ。

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

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

761:デフォルトの名無しさん
19/12/17 14:04:39.73 Ef4LKPDY.net
>>712
チュートリアルを一通りやってから出直そうか
チュートリアルで理解できないところがあったらそれを質問したらいい
URLリンク(docs.python.org)
今の段階でググって類似のソースを見つけようとするのは無駄どころか害でしかないよ

762:デフォルトの名無しさん
19/12/17 14:11:37.23 rApV4krM.net
>>712
URLリンク(codepad.org)

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

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

765:デフォルトの名無しさん
19/12/17 14:18:53.50 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:デフォルトの名無しさん
19/12/17 14:29:57.73 QqOdTjZG.net
>>722
ありがとうございます
単にコピペで貼り合わせて動くものを作るにとどまらず
なぜ動くのかを理解しながら、参考資料にあたりたいと思います

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

768:デフォルトの名無しさん
19/12/17 20:48:36.49 eGUcswGM.net
テトリスなんて、10年以上やってる香具師でも、簡単に作れない
Java 土方で有名なベテラン、T Umezawa の動画を見てみ。
こんな、神レベルの達人でも、タイルが壁にめり込んだりして、簡単には作れない!
落ち物パズルゲームのプログラミング解説 1/2
URLリンク(www.youtube.com)
素人が作るのは、10年以上早いw
作ったと言ってる香具師は、作っていない。
コピペしただけw

769:デフォルトの名無しさん
19/12/17 20:52:54.24 CYemexLv.net
お前の頭が悪いだけ

770:デフォルトの名無しさん
19/12/17 23:11:25.06 8Os966QG.net
みんながんば!

771:デフォルトの名無しさん
19/12/18 00:22:03.39 Z6EQDlLl.net
Java土方で設計力もテスト設計力もないから書けないだけじゃないの
小学生の頃BASICのテトリスのコードの量見て難しいと思った記憶があるけど、今ならどんな言語でも書ける自信があるぞ
今のPCパワーで高速化とか考えなくていいなら愚直に書くだけだろう

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

773:デフォルトの名無しさん
19/12/18 05:13:33 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:デフォルトの名無しさん
19/12/18 07:14:26.22 Qufxt8uf.net
>>733
自分の無知により自分の思うようにいかないからといって、マトモでないという思考はやめた方がいいぞ

775:デフォルトの名無しさん
19/12/18 08:09:09.35 ZgzG2chb.net
今時lengthだってw
原始人かよ

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

777:デフォルトの名無しさん
19/12/18 08:37:40.12 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:デフォルトの名無しさん
19/12/18 09:26:00.82 NtHwU1Mj.net
for left in zip(*pos[::-1]:
とかで使ってるけどzip何なのか調べてないしちゃんと動いてるからいいや

779:728
19/12/18 11:59:08.76 j3J


780:URanB.net



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

782:デフォルトの名無しさん
19/12/18 12:03:17.83 NtHwU1Mj.net
回転いらない1x1ブロックのテトリスつくったら?

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

784:デフォルトの名無しさん
19/12/18 12:11:56.37 CFyyhfVu.net
面倒くせーから早く自殺しろ

785:デフォルトの名無しさん
19/12/18 13:39:56.45 N9ghlCsW.net
>>733
無理して使いにくい言語を使わなくても
マトモだと思う言語を使ったほうがいいと思うよ
皮肉じゃなく割とマジで
pythonでstep指定する時はslice/isliceを使う
は? slice? ってなっても我慢すること
pythonはそういう言語だから
for x, y in islice(zip(a, b), 0, None, 2):
____print(x, y)

786:デフォルトの名無しさん
19/12/18 14:00:04.04 N9ghlCsW.net
>>739
>テトリスのすべてのブロックは、4×4 マスに納まる
4x4マスに収まるからといってブロックを4x4の行列で管理するメリットって何かあるの?
viewとmodelの分離ができてないとしても
ブロックを行列で表現してそれを直接回転させようという発想になる理由に興味ある

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

788:デフォルトの名無しさん
19/12/18 14:08:54.50 gHFmoE9o.net
一個飛ばしってただ単にこういうことじゃなくて?
>>> for n, m in zip(a[::2], b[::2]):
print(n, ':', m)

01 : 02
05 : 06
何をもめてるのかわからん

789:デフォルトの名無しさん
19/12/18 17:05:42.74 ZgzG2chb.net
>>746
10年前もテトリスの話をしてただろう

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

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

792:デフォルトの名無しさん
19/12/18 20:16:50.10 Kq662flJ.net
nonlocalならまあ、というかよく使う
globalはつかったことがない

793:728
19/12/18 23:13:47.41 j3JURanB.net
>>745
各ブロックの回転パターンは、4つあるから、
ブロックを行列で表現して、それを直接回転させれば、1つで済む
行列の回転なら、動きがおかしくても、回転計算の部分だけを直せばよいけど、
4つのパターンを作っていると、それらのパターンを直接直さないといけないから、大変

794:デフォルトの名無しさん
19/12/19 00:00:42.47 snKgfw1x.net
>>752
回転軸とか壁や設置済みブロックで回転が制限されるケースを考えると
単純な行列回転じゃ無理だし1つの処理でも済むこともないよ
そもそも4x4の行列だとI型のブロック回転させるだけで上下に動いちゃうよ
普通にブロックの型、基準となる座標、向きをモデルとして管理して
描画ロジックとは分けたほうがいい

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

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

797:デフォルトの名無しさん
19/12/19 08:11:07.93 EV4M7jYb.net
単純に需要による
アンドロイドプログラミングとかなら今は需要の割にクッソ人が少ないから
kotlin使えたら未経験だろうが就職できる可能性は比較的高い
一方pythonのほうはこれからどうなるかは分からないが
日本では現状深層学習用などの学問用言語で 実務に使っているところはあまりない
ということはつまりpythonでAIやっていくには大学で専攻したような専門知識を持った人たちに
対抗しなくちゃいけないわけで ちと難しいんじゃないか?

798:デフォルトの名無しさん
19/12/19 08:17:46.98 0eo+DnKB.net
>>756
わかりました
Kotlinにします

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

800:デフォルトの名無しさん
19/12/19 09:36:46.63 Ez8BH22g.net
辞書で特定の単語を含むキーをワイルドカードで検索し
ヒットしたキーに対応している値を抽出したいのですが
辞書に正規表現検索を行うのはできないのでしょうか
プリミティブでは難しいでしょうか

801:デフォルトの名無しさん
19/12/19 10:09:48.45 xAWELgvD.net
はい

802:デフォルトの名無しさん
19/12/19 10:49:12.14 Crw8oya5.net
容易い

803:デフォルトの名無しさん
19/12/19 12:27:41.62 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:デフォルトの名無しさん
19/12/19 13:18:16.88 9Fgp9NK8.net
内包表記を使えば一瞬で解決する

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

806:デフォルトの名無しさん
19/12/19 14:51:01.29 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:デフォルトの名無しさん
19/12/19 15:36:09.20 Ez8BH22g.net
ありがとうございます。参考になります

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

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

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

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

812:デフォルトの名無しさん
19/12/19 20:35:05.08 Zd


813:WBIW9y.net



814:デフォルトの名無しさん
19/12/19 20:52:51.96 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:デフォルトの名無しさん
19/12/19 20:54:02.72 igx1CkSL.net
#1で
Exception has occurred: AttributeError
'Goods' object has no attribute 'name'
ってなるのではなんで???
#2はOKなのに、initでデータ入ってないってこと?

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

817:デフォルトの名無しさん
19/12/19 21:32:21.97 Crw8oya5.net
>>772
URLリンク(ideone.com)
に貼ってきて

818:デフォルトの名無しさん
19/12/19 21:44:29.89 igx1CkSL.net
>>775
URLリンク(ideone.com)
これでOkでしょうか?

819:デフォルトの名無しさん
19/12/19 21:45:21.51 igx1CkSL.net
>>774
すいませんsteは自分で吹きました。。。

820:デフォルトの名無しさん
19/12/19 21:50:51.31 snKgfw1x.net
>>773
#2の直前の
foo.name = “humberger”
でfooにnameっていう変数を新しく追加してそれに”humberger”を代入してるから#2はエラーにならない
__init__で
self.name = name
self.price = price
ってやってればfooにはnameが#1の段階で存在するから#1もエラーにならない

821:デフォルトの名無しさん
19/12/19 22:17:22.66 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:デフォルトの名無しさん
19/12/19 22:19:55.36 Crw8oya5.net
URLリンク(ideone.com)

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

824:デフォルトの名無しさん
19/12/19 22:33:20.61 snKgfw1x.net
インデントがあってればエラーにはならないね

825:デフォルトの名無しさん
19/12/19 22:43:58.50 igx1CkSL.net
>>778
本当だ・・・。
というか教科書の教材を打ち込んでただけなのですが、教科書自体間違ってるのか・・・。
1時間悩んだのが何だったのか・・・。
ありがとうございます。すっきりしました。

826:デフォルトの名無しさん
19/12/19 22:47:34.16 igx1CkSL.net
>>782
あれ・・・。
name = property(get_name, ste_name)
price = property(get_price)
のインデントってdef ~と同じところではダメなのでしょうか?

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

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

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

830:デフォルトの名無しさん
19/12/19 23:49:48.18 4y7SvWFf.net
すいません質問なんですが
配列の中のものを交互に2つの処理をするにはどうしたらいいのでしょうか?
a=[0,1,2,3,4]という配列があるとして
0と2と4には5をかけて
1と3には2をたすとかどうしたら良いのでしょうか?

831:デフォルトの名無しさん
19/12/19 23:51:10.25 snKgfw1x.net
>>783
>>778に書いたことは一旦忘れてくれ
property()で設定してるのを見落としてたから
インデントが間違ってるってのは
get_name()や name = property(…)が
みんなdef __init__の中に定義されてるところ

832:デフォルトの名無しさん
19/12/20 00:11:32.82 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:デフォルトの名無しさん
19/12/20 00:26:29.96 aoxL/sZJ.net
>>780
それを修正したが、AttributeError なんででるかわからんな
URLリンク(ideone.com)

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

835:デフォルトの名無しさん
19/12/20 00:56:22.82 LtdBIlOX.net
>>790
>if number % 2 == 0:
交互に処理したいなら if i % 2 == 0: じゃないかな

836:デフォルトの名無しさん
19/12/20 09:41:12.09 N19Ct9QI.net
>>793
たしかに
見落としてた

837:デフォルトの名無しさん
19/12/20 12:09:16.88 c7XoinxY.net
>>764
もうPythonはあきらめました

838:デフォルトの名無しさん
19/12/20 13:05:32.03 qS4WQ1Uv.net
python2.7
windowsのアプリケーションからクリップボード経由で手にいれた文字列
“内閣総理大臣賞受賞”
を変数mymarkに入れておいて
u’総理’ in mymark
と演算子inで調べると、総理は存在するはずなのにFalseを返されます
右も左もソースに自分で打ち込んだ場合は正常なので
win経由のものはどこかでエンコードがおかしくなってるのではないかと思います
以下は調べてみました
type #右も左も<type ‘unicode’>
len(mymark) #9
内閣総理大臣賞受賞、で9文字ですね
len (u’総理’) #6
・これがどうして6になるのかよく分からない

839:デフォルトの名無しさん
19/12/20 13:20:02.56 L1XL0AeX.net
len(u'総理')の長さが6になるのは
多分python2では文字の長さを「文字列全体の容量 / 1文字の容量」で計算してるから
日本語などのマルチバイト文字だと実際の文字列の長さより長くなるんだろうなってことは分かる
(python3では普通に文字列の長さが表示された)
内閣総理大臣賞だけ9文字という正確な値になってるのはよくわからない
自分の調べたpython2環境ではlen("内閣総理大臣賞")で27になっていたが

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

841:デフォルトの名無しさん
19/12/20 13:28:24.35 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:デフォルトの名無しさん
19/12/20 13:31:51 lig6lPK8.net
mymark = '内閣総理大臣賞受賞'
だと、18文字
mymark = u'内閣総理大臣賞受賞'
mymark = '内閣総理大臣賞受賞'.decode('cp932')
だと、9文字

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

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

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

845:デフォルトの名無しさん
19/12/20 15:26:09.89 qS4WQ1Uv.net
ありがとうございます
プログラムにして動かしてるもの(だが動かない)
があるのですが
右側、mymark に .decode(utf-8)を付けると
UnicodeEncodeError: ‘ascii’が出て
右側、mymarkには何もつけずに
左側(u’総理’)にするとエラーは出ないけれど、in演算子が動かない
試しに左側の総理から、uを取ってしまうと
こんどはUnicodeDecodeError:’ascii’が出るんですね
かなり悩ましいです
別のマシンにpython3環境を構築して、そっちに移植してどうなるか試してみます

846:デフォルトの名無しさん
19/12/20 16:48:06.47 VlcbOuJw.net
馬鹿には無理

847:デフォルトの名無しさん
19/12/20 17:40:34.24 lig6lPK8.net
>>802
decode() の中のコードページはクォートで囲わないとだめだよ

848:デフォルトの名無しさん
19/12/20 18:07:44.29 LtdBIlOX.net
>>796
>右も左も
右とか左の意味がわからない
「A in B」のAを左、Bを右と呼んでる?

849:デフォルトの名無しさん
19/12/20 21:06:36.63 ITSL0wmI.net
全角文字列に対してIF処理を入れたいのですが、何で判別すれば良いですか?
検索対象の文字コードはutf8で、
漢字、ひらがな、カタカナ、全角英数を含む可変長の文字列が対象です。

850:デフォルトの名無しさん
19/12/20 21:41:38.87 LtdBIlOX.net
if "バカ" in "バカボン":
___print(True)
True

851:デフォルトの名無しさん
19/12/20 23:48:14.57 c7XoinxY.net
Pythonは才能が必要

852:デフォルトの名無しさん
19/12/21 00:02:01.64 k+w4ikT0.net
>>808
別スレでpythonやめてkotlinやるって言ってた人か?きっとすぐに同じことを言い出すぞ。
入門レベルで必要なのは才能なんかじゃなく、ごく普通レベルの根気と理解力だけだぞ。才能がどうこう言うような段階まで到達してもいないだろう。

853:デフォルトの名無しさん
19/12/21 00:11:47.62 LfWR8zZ0.net
プログラミングってそんな大層なことなのか…?

854:デフォルトの名無しさん
19/12/21 00:25:48.14 RZ7OoAF7.net
>>809
他の言語はともかくPythonは持って生まれた才能が無い人には無理だろ
10年かかってもできないはず
人生を棒に振るぐらいなら簡単な言語を一生懸命やったほうがお得

855:デフォルトの名無しさん
19/12/21 00:27:14.39 kL8tLCEf.net
Pythonは人を選ぶからなぁ
IQは最低でも120ぐらいはないと難しいかと

856:デフォルトの名無しさん
19/12/21 00:28:58.20 QVJGN34P.net
>>810
ダニング=クルーガー効果だなw

857:デフォルトの名無しさん
19/12/21 00:36:18.17 GTCnNgdl.net
Python習得は大学の受験勉強より時間がかかるのは確か

858:デフォルトの名無しさん
19/12/21 00:38:37.92 kL8tLCEf.net
まぁ、数学(とくに関数�


859:ニ微分積分)を完全にマスターして更にそれらを応用させる能力が必要だからな まず凡人には努力だけでは習得不可能な言語



860:デフォルトの名無しさん
19/12/21 00:39:35.09 LfWR8zZ0.net
関数を完全にマスターってなに?笑
こわい

861:デフォルトの名無しさん
19/12/21 00:40:21.73 sX1zkF8/.net
これを小学校のカリキュラムに入れようってんだからなwww
まさに落ちこぼれ量産機www
本当は他のプログラミングができそうな子供達まで絶望させる

862:デフォルトの名無しさん
19/12/21 00:41:11.60 kL8tLCEf.net
>>816
AIの開発に必須

863:デフォルトの名無しさん
19/12/21 00:42:17.07 AjLe2FOg.net
プログラミングを知らない初心者に勧めてはいけない超難解言語

864:デフォルトの名無しさん
19/12/21 00:43:21.62 kL8tLCEf.net
まぁ、すすめるすすめないは自由だがすすめられたほうは挫折するだろうな

865:デフォルトの名無しさん
19/12/21 00:46:24.32 qQwAhvsi.net
ふつうプログラミングを覚えるということはルールを覚えるという事なんだがPythonは...
(^_^;)

866:デフォルトの名無しさん
19/12/21 00:48:48 k+w4ikT0.net
>>815
数学は単にpythonを使う応用分野の一つというだけで、言語としてのpythonの習得とは独立した話だろw
日本語を習得するというときに、数学や物理の論文を読み書きする能力まで求める奴はいないだろう。

867:デフォルトの名無しさん
19/12/21 00:50:58 QVJGN34P.net
ダニング=クルーガー直後の「完全にマスター」だぞ。釣りに決まってんだろw

868:デフォルトの名無しさん
19/12/21 00:51:51 kL8tLCEf.net
>>822
仕事で使えなきゃ意味ないだろ

869:デフォルトの名無しさん
19/12/21 00:57:35 4SIKQrOR.net
Pythonは9割が脱落する言語と言われてるのもうなずける
もし仮に本人には才能があってもPythonをおぼえようとした時に最初に出会う教材や人によって終わってしまうことも多いと思う
俺はPythonとかプログラミングと全く関係ない数学の応用の本を一緒に読んでた
でも結局脱落した

870:デフォルトの名無しさん
19/12/21 01:02:39 k+w4ikT0.net
初めから言語の習得の話をしていて別に仕事で使う話はしていないぞ。
仕事で使うにしたって、pythonは汎用的なプログラミング言語であって別に用途が人工知能に限定されるわけでなく、ちょっとした統計処理や自動化程度であっても役割として十分だろう。

871:デフォルトの名無しさん
19/12/21 01:08:50 kL8tLCEf.net
初心者の方にはJavaScriptがおすすめ

872:デフォルトの名無しさん
19/12/21 02:39:08 0LiXcgPL.net
二ヵ月前に初めてプログラミングの勉強始めて
友人に勧められたからPythonから触ってTwitter API使ったwin用guiアプリ作ったけど
AIとか作るんじゃないならかなり楽やと思うけどなぁ
転職して今週から働きだしてJava触ってるけど
個人的にはJavaのが難しいと思うわ(主にオブジェクト指向とかが)
まあ、両方楽しいし作ったアプリはオブジェクト指向使わずに書いたからコード自体は今見ると可読性悪いのがよく分かったw

873:デフォルトの名無しさん
19/12/21 07:22:16.03 V5r7QLnH.net
自分が落ちこぼれと認めるより、言語が悪いことにしたいよな
私を嫌う連中は私が嫌いなのではなく私の属性が嫌いなの!って騒いでるTwitterのメスガイジと似てるわ

874:デフォルトの名無しさん
19/12/21 08:03:18 /C2Zxfa9.net
>>825
pythonに限らずC言語の昔から同じようなことが言われていた

875:デフォルトの名無しさん
19/12/21 09:24:29.16 Bl5cSZK5.net
C言語はポインタが鬼門。まずポインタという名称が良くなかった。アドレス変数という名称のほうがしっくりくる。

876:デフォルトの名無しさん
19/12/21 09:43:01 2jb+e7Ut.net
アドレスと混同されないようにあえて別の名前を使ったんだろ。

877:デフォルトの名無しさん
19/12/21 09:44:35.47 LfWR8zZ0.net
アドレスじゃん

878:デフォルトの名無しさん
19/12/21 10:20:00.37 AgLsTGZF.net
Pythonは俺も挫折した
無理

879:デフォルトの名無しさん
19/12/21 15:20:00.57 /C2Zxfa9.net
pythonもidによって謎の数字が出てくる
アレ何なの
おみくじ?

880:デフォルトの名無しさん
19/12/21 15:29:03.30 3CC1js1d.net
7が並んだら奇跡かおきるってよ

881:デフォルトの名無しさん
19/12/21 17:24:57.69 /91O1xjY.net
VSCODE使ってみて初めてVisual Studioのありがたさがわかった。

882:デフォルトの名無しさん
19/12/21 17:26:16.34 /91O1xjY.net
;をうつとちゃんとした記法に成型してくれるって楽だわ。
C#での話だけど。
誰かVSCODEでも同じ機能をつけてくれないものか・・・。

883:デフォルトの名無しさん
19/12/21 17:50:40.98 5ArYAWFR.net
>>838
作るんだよ。お前が。拡張機能を。
あくしろや俺も使ってやるんだからよ。

884:デフォルトの名無しさん
19/12/21 18:09:44.05 XVfPANjg.net
>>808
rubyならキチガイでもできるよ!

885:デフォルトの名無しさん
19/12/21 18:23:47.67 /91O1xjY.net
>>839
ああ、そういうことか!
無理です・・・。orz

886:デフォルトの名無しさん
19/12/22 05:03:39 CyWocscD.net
>>840
Rubyか...

887:デフォルトの名無しさん
19/12/22 17:18:31.92 Ens8Pa2w.net
心理系の研究で2Dカードゲームのようなアプリを作ろうとしています。
当初Unityでやるつもりだったんだけど、機械学習の勉強のためPython学んだら、
Pygameでやるのもありかと思い始めた。
トランプのような2DカードゲームつくるならPythonとUnityどちらがおすすめですか?

888:デフォルトの名無しさん
19/12/22 17:36:04.52 buP4BnNs.net
>>843
JavaScript

889:デフォルトの名無しさん
19/12/22 17:37:49.15 NMRyBzep.net
真理やめろ

890:デフォルトの名無しさん
19/12/22 17:41:49.90 Ens8Pa2w.net
>>844
短期間でC#、Unity、R、Pythonと詰め込んで混乱している。
これ以上言語増やしたくない。

891:デフォルトの名無しさん
19/12/22 17:43:27.57 c4dmvFhs.net
どっちでもいっしょだから自分が得意だと思える方でやればいい。

892:デフォルトの名無しさん
19/12/22 18:04:31.25 Ens8Pa2w.net
>>847
ありがとうございます。
現時点ではUnityのほうが得意なのですが、
アプリからデータ取得して統計処理、機械学習まですることを考えると、
Pythonで統一したほうが後々楽なのかな。。。

893:デフォルトの名無しさん
19/12/22 18:08:30.47 Ens8Pa2w.net
あと、スレタイどおりくだらない質問で申し訳ないのですが、
C#アプリで取得したデータをpythonで統計分析しようとしているのですが、
CSVファイルにデータを保存するとき
100件のデータを全て一つのファイルに保存。
100個のファイルを作製して1件1ファイルに保存。
のどちらがいいのでしょう?
1件のデータには実験環境等ながいDescriptionデータがついてくるので、
1ファイルだとデータの切り出しがめんどくさいかなと思っているのですが。

894:デフォルトの名無しさん
19/12/22 18:16:24.65 buP4BnNs.net
>>846
そのゲームを誰にどうやってやってもらうかとか
結果をどう収集すべきかとか
そういうの考えてる?

895:デフォルトの名無しさん
19/12/22 18:51:55.19 Ens8Pa2w.net
>>850
そのへんは考えてるのですが、質問の仕方が良くなかったですね。
***実験条件データ***
年齢:
性別:
特性A:
特性B:

***配列データ***
時間 回数 色 ~
0.11 3 R ~
0.20 1 B ~
みたいなデータが100件ぐらい1ファイルに記述したとして、
をpandasで配列データだけ切り出してくるってかんたんにできるものでしょうか?

896:デフォルトの名無しさん
19/12/22 19:03:33.08 4GpMlcpo.net
>>849
特別な要件がない限り
> 100件のデータを全て一つのファイルに保存。
しかないと思うが

897:デフォルトの名無しさん
19/12/22 19:15:06.28 OE5DN1cz.net
pygameって3?が頓挫して別のに開発リソースまわってるんじゃなかったっけ?
あとcsvはデータ形式によるから具�


898:フ的なカタチがわからないとなんとも…



899:デフォルトの名無しさん
19/12/22 19:59:30.18 u+b66RrE.net
>>851
まず、データだけを抽出する、コンバーターを作る!
そのためには、まず、データだけを抽出しやすいように、
よく考えて作っておかなければならない
JSON とか。
他には、XML, YAML もある
データとデータ以外の切れ目が、分かるようになってれば良いけど
まあ、ファイルを分割している方が簡単で、
後でファイルが増えた時に、融通が利く

900:デフォルトの名無しさん
19/12/22 20:28:35.39 MAO/zmGQ.net
>>848
ゲームはUnity、データ処理はPythonってのがいいよ
どうせゲームの記録は一旦保存して、後で処理するのだから、
ゲームを作るのに得意な言語、データの処理に得意な言語で使い分けたほうが良い。
一つにまとめる必要があるのは、アプリケーションパッケージとして売ったり誰かに納品したりする必要があるときだけだと思う。

901:デフォルトの名無しさん
19/12/22 20:33:44.52 MAO/zmGQ.net
>>849 >>851
見逃したけど、
100条件なら100ファイルの方が取り扱いが簡単だよ。1ファイルにするメリットはないと思う。
1000を超えてくるとOSの方での取り扱いが面倒になってきたりするけど。
1ファイルにする場合、条件データと配列データを切り出すのはPandasでも出来るけど、素のPythonでまず切り分けておいて、
切り出したCSV部分をPandasに渡すのが普通かな。

902:デフォルトの名無しさん
19/12/22 22:03:29.64 Ens8Pa2w.net
>>853
情報ありがとう。
開発終了してるし、後継のライブラリもなんか評判良くないね。
ゲーム部分は素直にUnityで開発します。

903:デフォルトの名無しさん
19/12/22 22:07:05.30 Ens8Pa2w.net
みなさんいろいろありがとうございます。
ファイル分割して、データ統合するコンバータを作るのが良さそうですね。
少し勉強が必要そうだけど、方向が見えてきました。
ありがとう。

904:デフォルトの名無しさん
19/12/22 22:08:24.35 Ens8Pa2w.net
>>855
シンプルにUnityからテキストファイルに書き出して、
パイソンでデータ処理するようにします。
Unityからパイソンのファイルを実行するだけなら、自分でもすぐできそうだし。

905:デフォルトの名無しさん
19/12/23 00:46:17 i+2w2qhs.net
本当にくだらないんだけど、
風俗板とこのスレに常駐すると
パイソンがパイパンに見えてくるな。

906:デフォルトの名無しさん
19/12/23 02:12:53 Z89NhxHR.net
test_str = 'aaaisaisaihuursstestiisaojyewysa'
というような文字列があったときに
文字列の中に'test'が含まれるかどうかの判定ってどうすればよいですか?
先頭でも末尾でも中間でもどこに含まれていても、print('含まれてるよ')と表示したいです。

907:デフォルトの名無しさん
19/12/23 07:39:10.34 i17ydcb/.net
>>861
'test' in test_str
で判定
いっちゃん簡単なやつ

908:デフォルトの名無しさん
19/12/23 08:50:45.33 G1ER7e+F.net
>>861
test_str = 'aaaisaisaihuursstestiisaojyewysa'
if 'test' in test_str :
  print('含まれてるよ')
else:
  print('無いよ')

909:デフォルトの名無しさん
19/12/23 09:22:23.85 cv9cp49U.net
正規表現

910:デフォルトの名無しさん
19/12/23 15:25:25.14 sEnpgkKc.net
>>835-836
うbyはidが偶数か奇数かでも動作が違う

911:デフォルトの名無しさん
19/12/23 17:05:29.34 Z89NhxHR.net
>>862>>863
ありがとうございます!

912:デフォルトの名無しさん
19/12/23 20:12:29.62 Pi1/7Ubv.net
アップルが従業員に遺伝子検査サービス無料提供。「治療」から「予防」へ
URLリンク(japanese.engadget.com)

913:デフォルトの名無しさん
19/12/23 20:16:11.23 Pi1/7Ubv.net
943
半島人は長い歴史で虐待され続けたため、人間不信に陥っており、
又医学的には拷問を受けたため、遺伝的に脳の前頭葉


914:(脳の30%の部分)が傷ついて萎縮していると判明しています だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です 今後前頭葉を拡張復元していくことがよい結果を生むことになると思います アメリカを中心に、高気圧酸素治療法というのがあります カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です 損傷した脳の復元にかなり効果があることが、わかっていています 284 そこで提案だ 先ほど述べた、Paul Harch 医師達がやっているような、高気圧酸素治療(HBOT)の技術を生かしてみたら、いかがかな つまり、代々前頭葉萎縮で悩んでいる半島人達の脳に、この治療法を応用するのだ 酸素を効率的に沢山供給することで、エデンちゃんの萎縮していた脳がほぼ通常に広がって戻ったのだから、 うまく考えて根よくやれば、半島人達の遺伝的に萎縮した前頭葉をふくらませられるかもしれない そうしたら、彼らに失われていた人間的な感情も、わきやすく、育みやすくなるというものだ 半島人も他の民族と同じように気持ちが安定し、前向きになり、責任を持って自分の国作りをするようになるだろう 他に良い方法があればそれでもよいのだがね、1つの案として提示しておく 全世界の皆さんは、真剣に考えてやってほしい 特に、脳科学の研究者達はね



915:デフォルトの名無しさん
19/12/23 20:16:37.34 Pi1/7Ubv.net
276
その方法というのは、
『高気圧酸素治療(HBOT)』と言う
縦長のカプセルの中に患者が仰向けに寝ていて、カプセル内に高濃度の酸素を沢山満たし、吸い込ませ血管に送り込む
又、その際に高めた気圧で酸素を濃縮して、血管に溶け込みやすくする、という仕組みだ
これにより女児は損傷して萎縮していた脳が、酸素の補給により急激に回復し始め、まもなく感情を表し言葉を発したり、母を認識し以前の記憶がよみがえった
又自分で食べられるようになり、運動能力も徐々につき、驚異的な速さで機能が回復して行ったのだ
五才になった今では、多少歩く時に平衡感覚がまだ足りなくて、左右にぐらつくのを矯正中だが、ほぼ普通に元気に歩き、遊べるようになった

278
私が言いたいのは、これを応用できるのではないかということだ
この女の子、エデン・カールソンちゃんを治療したのは、ルイジアナ州立大学医学部のPaul Harch医師だ
彼は、エデンちゃんに主に高気圧酸素治療を行い、1回45分、週5日、計40回で終了した
治療を始めて10回目で、ほぼ正常に見えるほどになったという
その後も40回(8週間か)まで治療を続け、最終的にMRI検査では、エデンちゃんの萎縮してすき間のあった脳が、ほぼ完全に回復していた
脳の回復が速い幼児だからということも幸いしたが、
最近では急性脳損傷のある成人でも効果があることがわかってきた
成人にHBOTを1回実施しただけでも、脳の組織回復に必要な複数の遺伝子の活性に変化が見られたという
(日本では、病院で脳梗塞の治療等に使われている)

916:デフォルトの名無しさん
19/12/23 20:16:54.72 Pi1/7Ubv.net
280
朝鮮半島民というのは、医学的に研究された結果、
昔から先祖代々貴族等に虐待や拷問を受けてきた�


917:スめに、おびえて脳の前頭葉(脳の30%を占める)に沢山の傷が見られ、そこの部分が萎縮しているそうだ 前頭葉の前半部は、思考、自発性、感情、性格、理性等を司る 前頭葉が損なわれるとどうなるか 例えば、 忘れっぽい 思いつきで動き、不注意 自発性がなく、すぐ人を頼る 大変おしゃべりか、反対に抑うつ的 すぐ怒ったり笑ったり、感情を爆発させる 人を思いやるのが苦手 危険に鈍感になる 規則を守らない 1つのことにこだわり、同時に2つのことができない 過食や浪費 又、もしもその一部である眼窩前頭皮質が損傷すると、 過度に悪態をつく 性欲過多 社会的対話の欠如 共感能力の欠如 アルコール、薬物の摂取過多 等が見られるという どれも困ったことだ 必ず全てが現れるわけではないし、個人差もあるだろうが 943 半島人は長い歴史で虐待され続けたため、人間不信に陥っており、 又医学的には拷問を受けたため、遺伝的に脳の前頭葉(脳の30%の部分)が傷ついて萎縮していると判明しています だから豊かな感情に欠け、キレやすく、倫理的なことにあきらめ感が強く、無感動です 今後前頭葉を拡張復元していくことがよい結果を生むことになると思います アメリカを中心に、高気圧酸素治療法というのがあります カプセルに入って寝て、気圧を高めて高濃度の酸素を、人の血中に送りこむ療法です 損傷した脳の復元にかなり効果があることが、わかっていています



918:デフォルトの名無しさん
19/12/24 11:21:49.38 DWLgg12E.net
pythonにテキストファイルでデータを渡して統計処理しようとして、
初めて整然表現というものを学びました。

919:デフォルトの名無しさん
19/12/24 11:25:36.07 DWLgg12E.net
実験情報
氏名:
性別:
年齢:
実験日時:
実験場所:
実験タイプ:
実験データ
時刻 X Y 色
002 20 14 b

というデータで今まで実験情報と実験データを一つのファイルに記述していたのですが、
SatouTarou20191224DESCR.txt
SatouTarou20191224DATA.csv
と2つのファイルに分けて記述するべきなのでしょうか?

920:デフォルトの名無しさん
19/12/24 11:34:40.49 oSAz7Duc.net
Philip N. Kleinという人の書いたベクトルを表すクラスに、以下の記述があります。
__add__ = add
左辺はインターネットで調べた結果、特殊メソッドであることが分かりました。
右辺の「add」は一体なんなんでしょうか?
そして、特殊メソッドである「__add__」を定義せずに、「__add__ = add」と代入していますが、これは文法的にどういうことなのでしょうか?

921:デフォルトの名無しさん
19/12/24 11:40:09.88 DWLgg12E.net
氏名 性別 年齢 ・・・ 時刻  X  Y 色
Sato Tarou 21     002 20 14 B
                004 22 10 R
               010  1  9  Y
みたいに一つのファイルのほうがいいのかな。
実験条件のデータは項目ひとつに1データでみづらいけど、
これがコンピュータにとって扱いやすい整然データということでしょうか?

922:デフォルトの名無しさん
19/12/24 12:06:36.04 oSAz7Duc.net
>>873
def add(u, v):
class Vec:
__add__ = add
となっています。
これはクラス Vec の外で定義された「add」と同じ関数として「__add__」を定義するという意味ですか?

923:デフォルトの名無しさん
19/12/24 12:16:14.86 Ww2BU2Ri.net
実行ファイルのあるディレクトリのパスを取得するのに
os.path.dirname(sys.argv[0])
という記述があるのですが
sys.argv[0]というのは何故必要なんでしょうか?
また、その1つ上のディレクトリのパスを取得するにはどうしたら良いですか?

924:デフォルトの名無しさん
19/12/24 12:35:53.65 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:デフォルトの名無しさん
19/12/24 12:41:33.48 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:デフォルトの名無しさん
19/12/24 13:02:43.62 Ww2BU2Ri.net
>>878
ありがとうございます!

927:デフォルトの名無しさん
19/12/24 13:07:42.57 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:デフォルトの名無しさん
19/12/24 15:24:57.39 L1tHoweE.net
ふーん帰っていいよ

929:デフォルトの名無しさん
19/12/24 15:52:08.62 9irKuexe.net
>>873
class Vec:
__add__ = add

class Vec:
____pass
Vec.__add__ = add
と同じ

930:デフォルトの名無しさん
19/12/24 15:57:23.19 9irKuexe.net
Vec.__add__ = add がどういうことかわからなければ
↓これを参考に
URLリンク(ideone.com)

931:デフォルトの名無しさん
19/12/24 16:04:24.92 4c603ABM.net
Rubyバカはスレタイを100回復唱してから書き込めよ

932:デフォルトの名無しさん
19/12/24 17:46:49.50 9irKuexe.net
>>872
RDBであれば別のテーブルで管理すべき内容
ただ一連の質問を見る限り他人がメンテする必要性が低そうなので1ファイルの場合と2ファイルにした場合のメリット・デメリットを考えてみて好きに決めればいいと思う
ファイルの分割に関係なく実験情報と実験データの1つの組をユニークに識別できるIDを定義しておくのが無難

933:デフォルトの名無しさん
19/12/24 17:57:21.54 9irKuexe.net
>>874
違う
基本はRDBで言う第三正規形

934:デフォルトの名無しさん
19/12/24 18:15:54.74 WqUdRB3h.net
人名単位のcsvに実験データを追記していく
必要なら名簿を作成してI/Oを平易にする
これではいかんのけ?

935:デフォルトの名無しさん
19/12/24 18:31:25.90 mGB04tXH.net
日本語ファイル名は災いの元なので、学籍番号やローマ字表記などに変えるべき。

936:デフォルトの名無しさん
19/12/24 19:46:37.28 CDAmWs4U.net
日本語かどうかよりはファイルシステムでファイル名としては取り扱えない文字かどうかを気にした方が良いような
まあ、結果としてアルファベットと数字とハイフン、アンダースコアにしておくのが無難だという結論になるけれど

937:デフォルトの名無しさん
19/12/24 19:59:36.01 l0GCh4fC.net
>>886
主キーで管理して実験情報テーブルと実験データテーブルを別個に作るということですか。なるほど。

938:デフォルトの名無しさん
19/12/24 20:01:19.05 l0GCh4fC.net
ってアクセスでならできるけど、パイソンでRDB的なことってできるんでしたっけ?

939:デフォルトの名無しさん
19/12/24 20:02:50.70 l0GCh4fC.net
>>889
ファイル名は氏名と生年月日と記録日にしようかと思っています。
検索しやすいので

940:デフォルトの名無しさん
19/12/24 20:04:11.90 l0GCh4fC.net
>>887
同一人物でも異なる実験条件で複数回検査するので。

941:デフォルトの名無しさん
19/12/24 20:12:16.08 l0GCh4fC.net
あああ、確かに100件以上の実験データを扱うことを考えるとDBにデータ移行できるよ


942:うにした方が良いですね。盲点だった。



943:デフォルトの名無しさん
19/12/24 20:27:01.45 s2lutymo.net
>>407にもある通り数億とか数千万のオーダーを考えるのは普通
ファイルでも数万は簡単に行く
盲点でも何でもない

944:デフォルトの名無しさん
19/12/24 21:24:52.74 r8fNCPuj.net
参照系なら必ずしも正規形にこだわる必要もないよ。
統計処理はjoinされた形でやるわけだろうし。

945:デフォルトの名無しさん
19/12/24 21:43:30.63 9irKuexe.net
>>892
その3つで一意性を完全に保証できる前提ならいいんだけど
同じ人が複数タイプの実験を1日で実施したりすれば対応できなくなるよ
一意性を保証できない状況が発生しうるなら
識別IDに人間の見やすさのための情報を付加する形がいいかも
0011228_SatoTaro_20191224.csv
0011235_SatoTaro_20191224.csv

946:デフォルトの名無しさん
19/12/25 08:33:26.59 iqbdwPlo.net
>>897
スタンドアロンで別施設でデータ取得も考えると
年月日_実験開始時刻_氏名_生年月日
ですかね。
ファイル名は長いですが、
人間が判別するときもこれらのデータがあるとわかりやすいし。

20191224_120122_SatouTarou_19820912
ファイル名長いな・・・。

947:デフォルトの名無しさん
19/12/25 09:08:39.56 iqbdwPlo.net
正規形勉強してきました。
アクセス使ってたけど主キーとかユニークナンバーとしか理解してなかった。。。

948:デフォルトの名無しさん
19/12/25 09:12:06.97 iqbdwPlo.net
>>874
は第一正規形ってことですね。
python上で第三正規形のデータ取り扱うってどうすればいいんだろう???
pythonやRで統計処理をするときは、
第一正規形であれば問題なさそうな気がするんですが、
間違っていますでしょうか?

949:デフォルトの名無しさん
19/12/25 11:07:21.89 2sisjRdM.net
ちょっと論文読んできました。整然データ=第三正規形ではないんだね。
1. 実験情報と実験データでcsvファイルを分ける
2. 1のファイルから要約データを計算し、要約データファイルに実験情報と要約データを順次上書き
3. 要約データを実験条件で分割して有意差検定する
が良いのかなぁ。

950:デフォルトの名無しさん
19/12/25 11:33:04.71 MC7jTCCf.net
>>974
間違ってない。
第三正規形は、更新時の書き込み箇所を一本化したり、保守性を上げる(スキーマ改変の範囲を限定する)というようなことが目的だから。
参照オンリーの場合は、むしろパフォーマンス面でマイナスになったりする。
けれど、非正規化するかどうかは別問題。
マテビューなどの解決策もあるからね。

951:デフォルトの名無しさん
19/12/25 12:01:08.00 ZI663GBY.net
Ruby on Rails では、
多重度、1 : N は、has_mamy, belongs_to とか
参照、references
外部キー、foreign_key

952:デフォルトの名無しさん
19/12/25 12:06:28.68 DT9LgkyT.net
>>903
URLリンク(spectrum.ieee.org)
もはや存在すら忘れられたマイナー言語

953:デフォルトの名無しさん
19/12/25 12:38:43.88 wOKia0YU.net
>>891
sqlite3とか入れてPythonからそれを叩くのが定番

954:デフォルトの名無しさん
19/12/25 12:40:43.60 wOKia0YU.net
>>892
生年月日みたいな個人情報入れるとか大丈夫?
てか企業とか学校なら社員番号とか学籍番号とかあるんじゃないの?

955:デフォルトの名無しさん
19/12/25 16:27:06.73 l8QWpMeL.net
python3.8でコードをexe化する方法ありますか?

956:デフォルトの名無しさん
19/12/25 17:05:31.75 2ymVLaRc.net
exe + dll で良いならあるよ

957:デフォルトの名無しさん
19/12/25 17:18:42.78 urIrQtmF.net
Python習いたての初心者です。
Pandasでデータフレーム作って
Scikitlearnで標準化をする際に
一旦数字のみ抽出して、標準化、
またデータフレーム化という手順で習ったのですが
回りくどい気がしてなりません。
Pandasのまま標準化するには
計算コード直入力するしかないものですか?
理解不足があったらすみません。

958:デフォルトの名無しさん
19/12/25 17:41:48.67 owbFz3od.net
>>891
実験データをSQLiteとかで管理するのはお勧めできない
間違ってデータ飛ばしたりとかがSQLに慣れてないころには容易に起こる
データの結合とかはpandasでSQLで出来ることはほぼ同レベルの手間でCSVファイルに対してできるから、とにかくCSVファイルに保存していく形にするのが良いと思う
実務ではないのだから、最悪ちょっと機械的な手作業を頑張ったらなんとかなりそうという、見通しが立っている状態を維持し続けるべきだと思う
SQLとかRDBMSにめちゃくちゃ慣れていて、pandasなんか覚えたくないよというのならpandasじゃなくて良いけど
あと、データをあれこれするときはjupyter notebookを使うと履歴が残せるし、うまくいかないところだけ試行錯誤でコードの修正がしやすいので本当にオススメ

959:デフォルトの名無しさん
19/12/25 18:02:29.31 iqbdwPlo.net
>>902
ありがとう。
>>901
のパターンでやってみる。
データ構造どうするかって、きちんとしておかないと後で地獄見るってよく勉強になりました。

960:デフォルトの名無しさん
19/12/25 18:13:59.86 iqbdwPlo.net
>>910
pandasでデータ成型(スクレイピングって言うのかな?)
も学ばなきゃ。
新しく学ばなきゃいけないことたくさんだけど、
プログラミングは試行錯誤できることと、
お金があまりかからないのがいいことですね。
がんばります。

961:デフォルトの名無しさん
19/12/25 18:17:00.04 JNywgUPx.net
北海道のグラサンスーパーハゲザーはここにはこないのー?

962:デフォルトの名無しさん
19/12/25 21:34:44.21 qDbmzL4T.net
>>900
>pythonやRで統計処理をするときは、第一正規形であれば問題なさそうな気がするんですが、間違っていますでしょうか?
あってる間違ってるの話ではなく整然データにしておけばデータをこねくり回すときに楽になるよって話
現状困ってないなら無理して整然化する必要はないと思う
>>901
論文にも明記されてるけど整然データ(=tidy data)は第三正規形と基本同じだよ
原典か日本語訳を読むといいと思う
URLリンク(vita.had.co.nz)
>>902
一般的に特定の非正規形は特定の分析用途には使いやすくても
違う観点で分析しようとすると正規形からデータ変形するよりも多くの手間がかかる
参照オンリーの場合でもデータの利用方法が定型化していない場合は正規形から考えるメリットは大きい
特にRDBで分析用途のDBを用意する場合は参照オンリーでも正規形から考えとかないと手間が異常に増える

963:デフォルトの名無しさん
19/12/25 22:03:00.14 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:デフォルトの名無しさん
19/12/25 22:05:12.83 ycC2pkbE.net
bigtable使ってるから正規化なんてないわ。
SQLもシンプルだし。
速度は言わずもがな。

965:デフォルトの名無しさん
19/12/25 22:


966:10:39.36 ID:rtgRmFxx.net



967:デフォルトの名無しさん
19/12/25 22:12:36.33 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:デフォルトの名無しさん
19/12/25 22:34:33.78 qDbmzL4T.net
>>915
list(combs)でイテレータを消費してるから
for comb in combs:のところではもう次のアイテムはない

969:デフォルトの名無しさん
19/12/25 22:37:11.85 owbFz3od.net
>>917
一理ある
DBを正規形にしておくのは必ず非正規化されたデータが正規形の直積から取り出せて、不整合なデータはありませんという保証を担保する側面があるってことだね

970:デフォルトの名無しさん
19/12/25 23:00:58.32 qDbmzL4T.net
>>917
それは一番単純なパターンで
キレイに非正規化されてるケースだけにしか当てはまらないよ

971:デフォルトの名無しさん
19/12/25 23:08:03.95 hPmVmQm/.net
>>919
アドバイス ありがとうございます
イテレータを理解してなかった
import copy 追加して
a = copy.copy(combs) を print の前に入れたら上手くいきました

972:デフォルトの名無しさん
19/12/25 23:17:51.74 rtgRmFxx.net
キレイじゃない非正規化ってどういうのを想定してるのかな。
データとして等価じゃないならそりゃまずいが。

973:デフォルトの名無しさん
19/12/26 10:44:02.91 g3TV29VW.net
そもそも第一正規形以外の正規形って更新時異常を避けるために考えられたものであって
検索のことは考慮外なわけで。

974:デフォルトの名無しさん
19/12/26 11:09:55.46 Wx+k6Oqq.net
>>924
そりゃjoinのパフォーマンスなんかDBMSの実装の問題なんだから考慮外で当たり前だろう
レイヤの異なる関心事をごっちゃにしている典型例だな

975:デフォルトの名無しさん
19/12/26 14:05:50.96 g3TV29VW.net
パフォーマンスの話なんてどこから出てきたのやら。
>レイヤの異なる関心事をごっちゃにしている典型例だな
そうだね。

976:907
19/12/26 14:45:46.65 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:デフォルトの名無しさん
19/12/26 15:57:44.27 vMTIIs6I.net
自分もひと月ほど前にオフラインでのpip installをやろうとして
行き詰まった
pipは何かとPyPIに接続しにいくからね
結局linuxサーバでプロキシーサーバーとファイヤーウォールを建てて
オンラインでできるようにしてからインストールしたよ

979:デフォルトの名無しさん
19/12/26 19:24:43.15 FaxhM6Zn.net
北海道のグラサンスーパーハゲザーはここにはこないのー?

980:907
19/12/27 18:52:51.35 Qsz5HXwu.net
.tar.gz展開して中のsetup.py直接起動させたらいけました
自己解決ですみません

981:デフォルトの名無しさん
19/12/28 02:08:30.85 RMes1jy6.net
こういうデータがあります 外側のカッコはタプルでも可 要素は重複してないので集合でも可
data = [00, 01, 10, 11, 12, 22]
要素から 1桁目が0のみ抽出・・00,01 2桁目が1のみ抽出・・01,11 という処理をしたいです
今はforで回し正規表現で判断してるのですが、簡単に記述出来るモジュールのような物はあるんでしょうか?

982:デフォルトの名無しさん
19/12/28 02:22:55.46 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:デフォルトの名無しさん
19/12/28 02:24:08.22 CljHkVQA.net
rubyだと?

984:デフォルトの名無しさん
19/12/28 02:30:35.60 r7V1DpIq.net
>>931
十分簡単な記述だと思うけど、俺ならタダの数値計算にする。
切り捨てで1
10倍して10で割ったあまりが1

985:デフォルトの名無しさん
19/12/28 02:31:06.65 r7V1DpIq.net
切り捨て1じゃないなw

986:デフォルトの名無しさん
19/12/28 06:00:15.29 iMlStgtR.net
yokokara

987:931
19/12/28 08:39:10.00 RMes1jy6.net
要素は文字列でした 間違ってました
data = ["00", "01", "10", "11", "12", "22"]
>>932
"2"を抽出時も簡単ですね 全く思いつかなかったです 
3行の記述が1行に収まるので、こちらでいきたいと思います
>>934
10倍後10で割る方法もレスされて思い出しました
>>932  >>934 ありがとうございました

988:デフォルトの名無しさん
19/12/28 10:40:09.14 glKwkKz6.net
>>931
ある言語では
p data.select{|x| x[0] == '0'}

989:デフォルトの名無しさん
19/12/28 11:22:22.26 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:デフォルトの名無しさん
19/12/28 12:02:33.66 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:デフォルトの名無しさん
19/12/28 13:03:02.30 CljHkVQA.net
♪──O(≧∇≦)Oキタ──♪

992:デフォルトの名無しさん
19/12/28 15:28:51.07 +sYlgNhA.net
>>929
ハゲは北神雄太。

993:931
19/12/28 16:42:14.01 RMes1jy6.net
>>939
別の正規表現で書いてました (r'1$', x) (r'1.$', x) の方が簡単なので使わせて頂きます
参考にします >>938 >>940

994:デフォルトの名無しさん
19/12/28 16:48:18.35 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:デフォルトの名無しさん
19/12/28 16:51:10.81 EYxHjYjG.net
>>944
Macには最初からPython2.7系が入っているので
3系を、ケンカしないようにうまいことインスコするのが基本。
でもってpyinstallerって
Windows用じゃなかったっけっか

996:デフォルトの名無しさん
19/12/28 17:25:15.16 9o1guVgp.net
>>945
いいえ、Pyinstaller自体はWindows/Mac両方で動くように設計されているもののようで
Pyinstallerでアプリケーション化した後もGUIの作成やソケット通信などの部分は正常に動くのですが
ファイルの参照やファイルを作成のようなコマンドが内部に含まれていると何故か動かなくて困っています。

997:デフォルトの名無しさん
19/12/28 17:51:26.10 EYxHjYjG.net
>>946
pathの書き方がLinux系とWin系で異なるから とかもないなら
Macの「システム設定」てきな歯車アイコンの奥底にある
「出どころがあやしいアプリは動かないようにブロックする」デフォルト設定のせいじゃなかろか
(この機能の正式名称 ルートレス とかなんとかいったような)

998:デフォルトの名無しさん
19/12/28 18:34:55.94 FoArgV87.net
>>944
Macのターミナルから実行した場合は動くの?

999:デフォルトの名無しさん
19/12/28 18:48:26.90 9o1guVgp.net
>>948
はい、ターミナル(正確にはAnaconda Prompt)から、素の状態のPythonを実行すると動きます。
しかし、Pyinstallerを使ってアプリ化することによってファイル作成コマンドが使えなくなります。
Windowsの方ではPyinstallerを使っても正常に動きます。
>>947さんの指摘が近そうな気がするので調べてみます。

1000:デフォルトの名無しさん
19/12/28 18:53:49.75 9o1guVgp.net
あと、もう1つ情報を付け加えると、PyinstallerによってMacアプリ化すると
アプリが作成されるのと同時に、サブフォルダに「Unix実行ファイル」というのも作成されています。
何故かアプリでは動かないのに、サブフォルダ内の「Unix実行ファイル」の方をクリックするとファイル生成などのコマンドも正常に動いています。

1001:デフォルトの名無しさん
19/12/28 20:49:36.94 q2Ylf9qj.net
有明セントラルタワー
痰吐きジジィのチンポが18階の(どこの島かは言わないよ)20代の女の娘のオマンコに
入って行くウゥウウウーーー!
URLリンク(o.5ch.net)

1002:デフォルトの名無しさん
19/12/28 22:27:10.71 WD8h4qtV.net
>>950
sys.argv[0]じゃなくて絶対パス(/Users/hogehoge/Desktop/testWrite.txt)で出来るのか試してみて、
出来るなら、print(sys.argv[0])で何が違うのか確認するべき

1003:デフォルトの名無しさん
19/12/28 22:38:08.38 b3ohKRMf.net
Using sys.executable and sys.argv[0]
URLリンク(pyinstaller.readthedocs.io)

1004:デフォルトの名無しさん
19/12/28 22:59:25.11 Jn+mNcKi.net
画像高画質化アプリがすごいんだが
スレリンク(morningcoffee板)
このスレにあるような綺麗な拡大ってPyhonで可能ですか?

1005:デフォルトの名無しさん
19/12/29 07:36:42.64 qv2BWJ9R.net
>>952
プリントして表示したらパスが分かりました
ありがとうございました

1006:デフォルトの名無しさん
19/12/29 10:02:17.84 12vQU2ip.net
>>954
理屈的にはできるはず
完成できるかどうかはおまいの腕前次第

1007:デフォルトの名無しさん
19/12/29 12:26:24.81 kibmeFOr.net
そういうライブラリがあるか聞いてるわけではなくて?

1008:デフォルトの名無しさん
19/12/29 13:42:27.55 49gQrlWf.net

m3SXtna
61x65 96dpi 24bits

o9qwWuG
511x509 96dpi 24bits
横 8.38倍
縦 7.83倍
なんかきもい

1009:デフォルトの名無しさん
19/12/29 13:43:04.58 49gQrlWf.net
品質はともかく出来るか出来ないかで言えば出来るだろう
元のより拡大後の方が綺麗に見えるっていう加工にすぎない

1010:デフォルトの名無しさん
19/12/29 14:00:37.11 Zt6NZoPC.net
>>954
waifu2xでググれ

1011:デフォルトの名無しさん
19/12/29 14:04:35.53 9RsW793u.net
>>960
そういうレベルの拡大画質ではないかと
スレの師匠方でも「理論としては可能」というくらいだとかなり難しいという事ですね

1012:デフォルトの名無しさん
19/12/29 14:09:06.77 L6E4sJV0.net
つかこれの可能不可能は言語的な制約によるものではないだろ
頭わりぃな

1013:デフォルトの名無しさん
19/12/29 14:24:25.04 49gQrlWf.net
画質は落ちてても人間には綺麗に見えるフィルタなんていくらでもある
「画質」とか「綺麗」とかの定義と客観的定量的指標が必要

1014:デフォルトの名無しさん
19/12/29 14:34:23.11 Zt6NZoPC.net
>>961
そういうレベルw
モデルを顔写真用にトレーニングせずにそのまま使ってもそりゃダメだろ
GANs使ってアイコラ自動生成するアプリと同じ

1015:デフォルトの名無しさん
19/12/29 14:59:54.30 Zt6NZoPC.net
URLリンク(github.com)
URLリンク(github.com)
この辺使って粗い拡大写真とキレイな拡大写真のペアでトレーニング


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch