X



くだすれPython(超初心者用) その34 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
垢版 |
2017/05/28(日) 20:34:15.87ID:7AoJbiyO
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その33
http://echo.2ch.net/test/read.cgi/tech/1490424742/
0003デフォルトの名無しさん
垢版 |
2017/05/28(日) 20:35:27.98ID:7AoJbiyO
関連スレ
Pythonのお勉強 Part53
http://echo.2ch.net/test/read.cgi/tech/1494683284/
◆関連リンク Python の Home Page
ttp://www.python.org/
◆長いコードはこういうところにはってください
ttp://ideone.com/
ttp://codepad.org/
ttp://pastebin.com/
ttp://dpaste.com/
ttps://try.jupyter.org/
◆まとめwiki
ttp://python.rdy.jp/

ネットにはデマ情報がいっぱい残ってるので正しい情報をメモ
cmd で UTF-8 使える方法 (chcp 65001 について) ttp://nazochu.blogspot.jp/2011/08/blog-post_26.html
mintty ttp://dogmap.jp/2011/11/15/mintty/
mintty ttp://tanakh.jp/posts/2011-11-15-windows-terminal.html

色々紆余曲折あったけど Git インスコして GitBash 使うのが一番楽っぽい
https://git-for-windows.github.io/
0004デフォルトの名無しさん
垢版 |
2017/05/28(日) 20:40:30.00ID:7AoJbiyO
関連スレ

Matplotlib でグラフプログラミング【Python】
http://echo.2ch.net/test/read.cgi/tech/1256385982/
ディープラーニング
http://echo.2ch.net/test/read.cgi/tech/1457792560/(DAT落ち)
人工知能ディープラーニング機械学習のための数学
http://echo.2ch.net/test/read.cgi/tech/1482808144/
【統計分析】機械学習・データマイニング15
http://echo.2ch.net/test/read.cgi/tech/1492344216/

【Python】Python Webフレームワーク総合スレ
http://tamae.2ch.net/test/read.cgi/php/1329996601/
【Python】TurboGearsスレ Part 1【Framework】
http://tamae.2ch.net/test/read.cgi/php/1176022606/
Google App Engine for Python 6アプ目
http://tamae.2ch.net/test/read.cgi/php/1358570953/
Python CGI
http://tamae.2ch.net/test/read.cgi/php/1163513344/
0005デフォルトの名無しさん
垢版 |
2017/05/29(月) 13:26:13.77ID:gnWdEBVU
5年以上前の過去ログへのレスですw

http://toro.2ch.net/test/read.cgi/tech/1322115727/
> 113 :デフォルトの名無しさん:2011/12/07(水) 15:17:31.93
> ある本に書いてあったのですが、
> from math import sqrt
> psqrt(pow(4.5-4.2,2)+pow(1-1,2))
> のようにすると、
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> NameError: name 'psqrt' is not defined
> のようなエラーが出ます
> これはどのようにすればいいのでしょうか?

この書籍はオライリーの『集合知プログラミング』(初版)だと思われますが、
同じエラーを経験しましたが、これは見ての通り
文脈からしてpsqrtをsqrtに直せばいいだけだと思いますが、
そもそもpow関数の引数に入れる値が間違っているようです。
この書籍の正誤表がネット上にあります。
https://sites.google.com/site/prgclctintelligence/errata
この正誤表の訂正前の記述もこの初版とは異なりますので要注意。
0006デフォルトの名無しさん
垢版 |
2017/05/29(月) 22:29:35.86ID:5gJ1PeLc
条件がTrueの時はABC、条件がFalseのときはBCのように
(A)BCの(A)の部分を条件で追加したいのですが


test = [['あいうえお', 'アイウエオ', 'ア'], ['かきくけこ', 'カキクケコ', ''],
['さしすせそ', 'サシスセソ', 'サ'], ['たちつてと', 'タチツテト', '']]

result = []

for i in test:

x = ''

if i[2]:
x += '【{0[2]}】\n'.format(i)

result.append(x + '{0[0]}\n{0[1]}'.format(i))

print('\n\n'.join(result))

これを内包表記で作成したいのですが

result = ['【{0[2]}】\n{0[0]}\n{0[1]}'.format(i) if i[2] else '{0[0]}\n{0[1]}'.format(i) for i in test]

条件でformatを切り替える以外に方法ありますでしょうか?
0007デフォルトの名無しさん
垢版 |
2017/05/30(火) 10:49:29.89ID:gxWnkgCC
おまえ向いてない
0008デフォルトの名無しさん
垢版 |
2017/05/30(火) 10:59:08.01ID:ItunGfv1
>>6
result = ['\n'.join(( '【' + i[2] + '】', i[0], i[1])) if i[2] else '\n'.join((i[0], i[1])) for i in test]
print('\n\n'.join(result))
0009デフォルトの名無しさん
垢版 |
2017/05/30(火) 11:14:07.76ID:C9qHY4kc
>>7
最終的な目的がわからんのだが、他の方法でやりたい理由は?
単にスマートに書きたいってだけ?
0011デフォルトの名無しさん
垢版 |
2017/05/30(火) 11:46:52.81ID:ItunGfv1
>>6
def trans(s):
if s[2]: return '【' + s[2] + '】', s[0], s[1]
return s[0], s[1]

result = ['\n'.join(trans(i)) for i in test]
print(*result, sep='\n\n')
0012デフォルトの名無しさん
垢版 |
2017/05/30(火) 14:23:14.01ID:6yum6/wf
>>8,11
ありがとうございます。
参考にさせていただきます。

>>9
条件で文字を表示あり・なしみたいなのができたらいいなと思って

最初に内包表記で作ったのが
result = ['【{0[2]}】\n'.format(i) if i[2] else '' + '{0[0]}\n{0[1]}'.format(i) for i in test]
うまくいかなくて

いま試しにかっこつけてみたら思った通りになったんだけどかっこって大丈夫なのか?
result = [('【{0[2]}】\n'.format(i) if i[2] else '') + '{0[0]}\n{0[1]}'.format(i) for i in test]
0013デフォルトの名無しさん
垢版 |
2017/05/30(火) 14:30:48.01ID:6yum6/wf
リストにしなくてもこれでいけそう

flag = True
test = 'あいうえお' + ('かきくけこ' if flag else '') + 'さしすせそ'
print(test)


どうもありがとうございました。
0014デフォルトの名無しさん
垢版 |
2017/05/30(火) 15:33:34.98ID:C9qHY4kc
そこにこそformat()だろ。
test ='あいうえお{}さしすせそ' .format('かきくけこ' if flag else '')
0017age
垢版 |
2017/05/30(火) 18:54:13.25ID:cPI0fzDZ
実行完了後に端末を閉じたい
exit()で終了すると思ったのですが終了しませんでした。

https://ideone.com/wTEMeN
0018age
垢版 |
2017/05/30(火) 20:36:57.55ID:cPI0fzDZ
どなたか、解決法を知りませんか?
0020age
垢版 |
2017/05/30(火) 21:14:57.92ID:cPI0fzDZ
そこを何とかお願いします

最初の1秒の間にエンター押したら起動後に消えてくれます
0022デフォルトの名無しさん
垢版 |
2017/05/30(火) 21:30:38.96ID:sm3ZD28q
>17
tesut
じゃなくて、
test
って書いてほしい。
import os
import signal
input("hit Enter to close the console")
is.kill(os.getppid(), signal.SIG_DFL)
これでターミナル閉じたよ。wundows
0026デフォルトの名無しさん
垢版 |
2017/05/30(火) 22:43:31.29ID:f/2fyGyA
d を辞書としたとき、

for k in d.keys():



for k in d:

は等価ですか?

等価だとして、どちらが早いですか?
0028デフォルトの名無しさん
垢版 |
2017/05/30(火) 22:53:39.93ID:kWERrntF
>>26
dからkeysを探して呼び出す手間が入るから等価ではない、速度差は上にも書いてある通り誤差だろうが
0029デフォルトの名無しさん
垢版 |
2017/05/30(火) 23:03:14.12ID:WkZkNXY5
>26
disっていう標準モジュールで、バイトコードを逆アセンブルした結果を見れるよ。
既に指摘のある通り、
d.keys()だと
LOAD_ATTR
CALL_FUNCTION
が余計に入る。
実行時間は、誤差の範囲と思う。
0031デフォルトの名無しさん
垢版 |
2017/05/30(火) 23:28:27.47ID:f/2fyGyA
D1, D2 は集合。
D = (D1, D2) は M のインスタンス変数。
d は辞書で、 M のインスタンス変数。

for r in M.D[0]:
■■for c in M.D[1]:
■■■■if (r, c) in M.d:

というようなコードを↓のようなコードに置き換えると、
for ループのループ回数が多いとき、少しは速くなる
でしょうか?

ケースバイケースだとは思いますが、↓のような方法で
少しは速くしようなどと考える人はあまりいないでしょうか?


D1 = M.D[0]
D2 = M.D[1]
M_d = M.d
for r in D1:
■■for c in D2:
■■■■if (r, c) in M_d:
0034デフォルトの名無しさん
垢版 |
2017/05/30(火) 23:36:14.34ID:f/2fyGyA
>>32

ありがとうございます。
調べてみます。

>>33

実際に計算して計算時間を計るというのは思いつきませんでした。
やってみます。
0039デフォルトの名無しさん
垢版 |
2017/05/31(水) 00:19:23.90ID:eDo7CzNQ
>>37

なるほど、そうでしたか。
ありがとうございました。

内側の for 文の in の後の集合は毎回評価されるのかと思っていました。
0040デフォルトの名無しさん
垢版 |
2017/05/31(水) 00:21:53.01ID:eDo7CzNQ
あ、でもやっぱり B は毎回評価されるような気がします。
例えば、↓のようなコードを考えると B は毎回評価されないとダメな気がします。

for i in A:
→ここで B を変更する
■■for j in B:
0042デフォルトの名無しさん
垢版 |
2017/05/31(水) 01:50:21.04ID:jDvWEkkq
何十万回もループを回すような場合だと、ローカル変数への割当は、数十ミリから数百ミリ秒の高速化になった記憶がある。

あと、ネストしたリストへのアクセスは遅いので、
a[m][n]に二重ループでアクセスする時は、
am=a[m]
と1つめのループの中でしておいてから、
二つ目のループの中では、
am[n]としてアクセスした方が、速くなる。
これは、ループが1000回くらいでも、ミリ秒単位でちゃんと差が出る。
もちろん、index使ってのアクセスよりも、
for elem in lst:
としてイテレータ使う方が速い。

profiler使うと、関数単位でどこに時間が、かかっているか分かるので、オススメ。
SpyderとかのIDEに組み込んであるのが使いやすいと思う。

高速化に興味があるなら、ハイパフォーマンスPythonっていう本がオライリーから出てるから、参考にしてみては?
0043デフォルトの名無しさん
垢版 |
2017/05/31(水) 08:01:32.80ID:k6UVBo1S
パフォーマンスよりpythonらしい書き方かどうかを気にすべき
0044age
垢版 |
2017/05/31(水) 11:32:43.74ID:u7MalF/7
>>22
どうやら僕の環境では無理な用です
Geany1.27 F5起動 python3.5.2

返信遅れました
ありがとうです(気持ちだけ)
0045デフォルトの名無しさん
垢版 |
2017/05/31(水) 11:36:28.46ID:AV1cHHAT
>>17-23
プロセスには親子関係がある。
端末からPythonを起動すれば、親は端末で、子はPython

親を終了すれば、子も強制終了されるから、正常な終了ができない。
メモリ上にあるデータが、保存されないかも

普通サーバーなどは、デーモン化して、親プロセスをなくす。
そうすれば、親が終了しても、無関係だから安全
0046デフォルトの名無しさん
垢版 |
2017/05/31(水) 13:02:32.85ID:8pr90v8J
for a in [1,2,3,4,5]:
[tab]print(a) ←インデントする
print("こんにちわ") ←インデントしない

「python入門教室」のサンプルでこんなコードがあって、
インデントしない部分は繰り返されませんよみたいなことを教えたいようなのだ
普通にこんにちわを続けてインデントしなかったせいで
SyntaxError: invalid syntax って出て実行できないんだが。

これって本がおかしいですよね?
ちなみにコマンドプロンプトでやってます
0047デフォルトの名無しさん
垢版 |
2017/05/31(水) 13:48:49.94ID:gBIsA548
>>46
たぶん対話シェルへの入力としては間違っているという話ではないかと
インデント潰れるけど対話シェルのプロンプトを再現するとこういうことだよね?
>>> for a in [1,2,3,4,5]:
... print(a)
... print("こんにちわ") # ...(二次プロンプト)の部分にインデントを下げて入力した
File "<stdin>", line 3
print("こんにちわ")
^
SyntaxError: invalid syntax
>>>

print("こんにちは")はfor文とは独立した文だから>>>の行に入力しないとエラー
対話シェルの仕様による制限なので(pythonの構文としては間違ってない)本の説明不足かなあ
これwebのドキュメントにも詳しくは載ってないな、分かりにくいね
https://docs.python.jp/3/tutorial/interpreter.html
0048デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:01:00.73ID:8pr90v8J
>>47
ありがとうございます。
本だと、こんにちわをfor文に組み込んだら

1
2
3
4
5
こんにちわ

みたいな結果が出ると書かれてました。

わかりづらいので該当部分載せます
http://i.imgur.com/V46Hrjy.jpg
http://i.imgur.com/xzyC4jE.jpg
0049デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:08:38.39ID:8pr90v8J
もしかして、メモ帳から作成したファイルなら実行できるとかですか?
0050デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:20:04.68ID:gBIsA548
>>49
(メモ帳がpythonに適しているかは疑問だけど)できます
ページの上のほうにexample-04-03-01.pyとファイル名が書かれてるので
スクリプトファイルの編集&実行を前提にした(not対話シェル)項目っぽい
0052デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:21:40.07ID:AV1cHHAT
メモ帳は、プログラミングに使えない

メモ帳で保存したテキストには、
BOM(Byte Order Mark)という余計なデータが付くから、正常に実行できない

TeraPad など、他のエディタを使うべき
0053デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:25:41.25ID:2JRCyRNh
>>49
他の人も書いてくれているが、
普通はメモ帳じゃなくてIDEやエディタを用意する。
python エディタでぐぐるといい。
0054デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:27:57.89ID:8pr90v8J
>>51
この本、最初のほう飛ばし読みして分かったのですが、すべてIDLEで学習していく本みたいです・・・。
しかし、IDLEでも結果はエラーになりました・・・。

>>> # coding:utf-8
>>> for a in [1,2,3,4,5]:
print(a)
print("こんにちは")
SyntaxError: invalid syntax
0055デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:35:41.32ID:2JRCyRNh
>>54
ちゃんと人のレス読んでるのか?
>>51
>入力の完了を示すために最後に空行を続けなければなりません。

>すべてIDLEで学習していく本
>>48の画像に「example04-03-01.py」とか書いてあるからそれは無いだろ。
ちゃんと1ページづつ追って読んでいけ。
0056デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:38:09.83ID:5PA7tv0u
>>54
IDLEのshellじゃなくてFile→New Fileでエディタ起動してコード書き込んで保存してF5押せばいい
0057デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:45:30.56ID:8pr90v8J
>>55
エンター押しても空行になりませんでした...
0058デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:46:44.92ID:8pr90v8J
そもそもコマンドプロンプトで出来ないコーディングとシェルでしか出来ないコーディングがある時点でパンクしそう..
0059デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:50:17.67ID:8pr90v8J
>>56
EmEditerでやったら同じソースなのに今度はユニコードエラーが発生
もうわけわからない...
0060デフォルトの名無しさん
垢版 |
2017/05/31(水) 14:58:15.81ID:8pr90v8J
あ、new fileでやったら動きました
ありがとうございました...
失礼しました
0063デフォルトの名無しさん
垢版 |
2017/05/31(水) 15:05:56.71ID:2JRCyRNh
>>57
エンターを押した時点でforループが実行(完了)される。
>>> for a in [1,2,3,4,5]:
... print(a)
...
1
2
3
4
5
>>> print("こんにちは")
こんにちは

プログラミングやるならエディタで作成したファイルの文字コードは認識しとかなきゃダメ。
とりあえずUTF-8選んどけ。
0064デフォルトの名無しさん
垢版 |
2017/05/31(水) 15:11:52.54ID:u7MalF/7
ってか、>> ID 8pr90v8J は
Android 5.0(Lollipop)を搭載したNexus 5
使ってるのか……。
0065デフォルトの名無しさん
垢版 |
2017/05/31(水) 15:13:03.12ID:8pr90v8J
>>63
emEditerのユニコードはshift-jisで動きました。

あとemEditerもIDLEも、空行なしでも動きました。
0066デフォルトの名無しさん
垢版 |
2017/05/31(水) 15:23:34.95ID:u7MalF/7
バージョンアップしてたらAndroid™ 6.0か……
どちらにしろ誤爆なので、見なかった事にして下さい
0068デフォルトの名無しさん
垢版 |
2017/05/31(水) 15:37:59.34ID:u7MalF/7
お前、流石にその(画像は)引くわぁ〜
音楽もアニソンばかりだし、せめて水樹の曲入れるなら、田村の曲ももっと入れとけよ
花澤の再生回数だけ異様に多いな
0070デフォルトの名無しさん
垢版 |
2017/05/31(水) 16:00:47.64ID:nBc8lPEG
もうどこの誤爆か書いてけや
0071デフォルトの名無しさん
垢版 |
2017/05/31(水) 16:36:23.41ID:FdBBH6qG
オライリーのpython入門 不親切すぎる・・・
0072デフォルトの名無しさん
垢版 |
2017/05/31(水) 17:28:49.67ID:u7MalF/7
誤爆
携帯の解像度から機種を特定→別スレから大学生と推測→携帯の販売時期を検索
→大学3〜4年と推測→ちょうど、nexus7 2012の修理方法を調べてた
→正規復元方法を試す→不可→バッテリー交換しても電源が入らない→充電口の破損を確認→スイッチの異常か
基盤の異常かどちらか迷ってる→強い衝撃を与えたと聴いてる→どこスレで聞くか迷ってる間にアニソンすれに書き込み
かと、思ったが、まさかのアニソンスレと誤爆
0073デフォルトの名無しさん
垢版 |
2017/05/31(水) 17:30:09.80ID:u7MalF/7
最後の文はpythonスレです
0075デフォルトの名無しさん
垢版 |
2017/05/31(水) 18:54:55.13ID:5+rNqd0l
プロジェクトごとにパッケージ分離したくてvenv使うとこまでは分かったんだけど
どういう名前でどこに置くのが一般的?
みんなプロジェクトのルートに「env」とかでおいてるんですかね
0076デフォルトの名無しさん
垢版 |
2017/05/31(水) 19:45:41.57ID:Qo+ozR8I
l がリストのとき、

if e in l:

を多用すると極端に遅くなるんですけど、もしかして、線形探索して探していますか?

s = set(l)

if e in s:

としたほうが速いですか?

もしそうだとすると、自動的に

if e in l:

と書いたとき、 l を集合に変換して検索してくれればいいのにと思うのですが。
0077デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:27:26.92ID:k6UVBo1S
>>76
listをいちいちsetに変換したら、単純に線形探索するより時間がかかるからね。
最初からsetで持っておけば?
0078デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:32:07.45ID:u7MalF/7
setは順序を保持しないから、テストケースで失敗する事も有る
最後に結果をソートしても良いなら、気にしなくて良いんだけど……。
0079デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:36:26.64ID:ac0fXejp
>>78
順序を保持しないコンテナのテストで順序をテストしようとしてるのがそもそもの間違い
素直にソートしれ
0082デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:50:41.20ID:gBIsA548
>>76
listはハッシュ値を返せないオブジェクトも入れられるので集合変換の条件満たせない
検索重視ならOrderedDictがいいんじゃない?(それかサードパーティ製のorderedsetとか)
0083デフォルトの名無しさん
垢版 |
2017/05/31(水) 20:59:15.81ID:ac0fXejp
>>82
OrderedDictをどうやって使うつもりや?言うてみい?
0086デフォルトの名無しさん
垢版 |
2017/05/31(水) 22:13:59.97ID:Qo+ozR8I
Philip N. Kleinの『行列プログラマー』を読んでいて、はまっています。

M は行列を表わすクラスのインスタンスです。

M.D == (M.D[0], M.D[1])

M.D[0] は行列 M の行のインデックスです。
M.D[1] は行列 M の列のインデックスです。

M[i, j] で行 i、列 j の要素にアクセスできます。
0087デフォルトの名無しさん
垢版 |
2017/05/31(水) 22:17:31.36ID:Qo+ozR8I
M.D[0] == M.D[1] で、行列 M は対称行列です。

↓の二つのプログラムは、同じ動作をすると思ったのですが、
(1)は正しく動作せず、(2)は正しく動作します。
なぜだかさっぱり分かりません。なぜ(1)と(2)で異なる動作をするのでしょうか?

(1)
S = set()
for i in M.D[0]:
■■for j in M.D[1]:
■■■■if i == j:
■■■■■■continue
■■■■elif i > j:
■■■■■■t = i
■■■■■■i = j
■■■■■■j = t
■■■■S.add(((i, j), M[i, j]))
L = list(S)
L = sorted(L, key=lambda e: e[1])

(2)
S = set()
for i in M.D[0]:
■■for j in M.D[1]:
■■■■if i == j:
■■■■■■continue
■■■■elif i > j:
■■■■■■S.add(((j, i), M[i, j]))
■■■■else:
■■■■■■S.add(((i, j), M[i, j]))
L = list(S)
L = sorted(L, key=lambda e: e[1])
0089デフォルトの名無しさん
垢版 |
2017/05/31(水) 22:38:26.58ID:u7MalF/7
最後のelse文で i > j で無い。から
0090デフォルトの名無しさん
垢版 |
2017/05/31(水) 22:39:42.54ID:Qo+ozR8I
ループ変数の値をループ内で変更するとまずいとかそういうことはありますか?
0091デフォルトの名無しさん
垢版 |
2017/05/31(水) 22:48:01.11ID:Qo+ozR8I
もっと問題をシンプルにしてみましたが、やはり理解できない現象が
発生します。

なぜか(1)と(2)で結果が違います。これは同じになりそうですが。。。

(1)
S1 = {1, 2, 3}
S2 = {1, 2, 3}
for i in S1:
■■for j in S2:
■■■■t = i
■■■■i = j
■■■■j = t
■■■■print((j, i))

(2)
S1 = {1, 2, 3}
S2 = {1, 2, 3}
for i in S1:
■■for j in S2:
■■■■print((i, j))
0092デフォルトの名無しさん
垢版 |
2017/05/31(水) 22:49:02.56ID:Qo+ozR8I
(1)の結果:

(1, 1)
(1, 2)
(2, 3)
(2, 1)
(1, 2)
(2, 3)
(3, 1)
(1, 2)
(2, 3)

(2)の結果:
(1, 1)
(1, 2)
(1, 3)
(2, 1)
(2, 2)
(2, 3)
(3, 1)
(3, 2)
(3, 3)
0096デフォルトの名無しさん
垢版 |
2017/06/01(木) 00:30:17.24ID:25B895iy
pyautoguiを使った作業の自動化について教えてください。
以下の作業の自動化を試みています。

1.あるアプリケーションでファイルを読み込み、処理を行う
→2.(処理を終えるまで待つ)
→3.次のファイルで同じことをする(以下繰り返し)

2.の段階では現状、ファイルのサイズに合わせてsleep関数で調整していますが、
それだと、ちょっとした処理の遅れでタイミングが狂ってしまい、
以降の動作がうまくいかなくなる問題があります。

処理が終わって「クリックやキーボードなど、操作できるようになったよ」という
状態を認識する方法ってありますか。
0098デフォルトの名無しさん
垢版 |
2017/06/01(木) 00:57:54.21ID:L3uS1u+Y
解決法としては、どんな(余分な)処理をしても、あり余るsleep時間を設けてループさせる
処理終了後に画像やメッセージを呼び出して、認識させてから次に移る(フラグの受け渡しとか?)

どんな処理か具体的に上げてくれないと解らない
0099デフォルトの名無しさん
垢版 |
2017/06/01(木) 01:49:46.26ID:25B895iy
>>98
処理の内容は、ほとんど上記に書いた程度です。
音源から指定周波数の音を抽出するアプリがあり、
アプリ上のあるボタンをクリックすることで変換作業が行われます。
そこで新たに変換後ファイルが生成され、同時に10秒ほど処理待ちでフリーズ?して、
操作可能になったら次のファイルへ移ります。

>処理終了後に画像やメッセージを呼び出して、認識させてから次に移る(フラグの受け渡しとか?)

こういう方法ができればいいとは思ってます。
sleepで稼ぐのは必要以上に時間もかかるし、確実ではないので・・・。

「フラグの受け渡し」というのは、例えばどんな処理なのでしょうか。
サンプルコードとかってありませんか。
0100デフォルトの名無しさん
垢版 |
2017/06/01(木) 06:11:10.07ID:iY3v6x4R
わっちょい注意報
0101デフォルトの名無しさん
垢版 |
2017/06/01(木) 08:13:11.73ID:Djsxgnsg
>>96
使ったことないけど、スクリーンショットを撮って、その画像を解析するんじゃないかな?

https://pyautogui.readthedocs.io/en/latest/screenshot.html

locate でスクリーンショット内から特定の画像の位置を探せるから、例えば有効状態になったボタンを周期監視で探せば、読み込み完了が分かるでしょ?
0102デフォルトの名無しさん
垢版 |
2017/06/01(木) 11:00:22.95ID:cPJLt0GR
>>99
変換後のファイルが解っているならそれを待てば良いのでは?
その後のスリープが十分な時間をおいてもそこそこには短いのではないかな?
本当はアプリ側から終了に関する何かができるのが良いけど

フラグファイルを削除、shellでアプリを実行、shellの最後にフラグファイルtouch
py側はフラグファイルができるの待ちなんてのは?
0103デフォルトの名無しさん
垢版 |
2017/06/01(木) 12:22:42.19ID:L3uS1u+Y
winならHiMacroEx使って、マウス操作と(ファイル選択時に)キーボード入力したら良いと思う
一定隔離空けとけば、なんとかなるよ。

どうしても、pythonで実現しなければ行けない理由が有るなら教えて (つд⊂)ゴシゴシ
プログラムより先にフリーソフト頼ったほうが良いと思うよ(個人的にだけど……。)
0104デフォルトの名無しさん
垢版 |
2017/06/01(木) 21:08:49.59ID:L3uS1u+Y
python3 ファイルりね-む
拡張子を維持したい
https://ideone.com/6EYAMA

どなたか、分かりませんか?
0105デフォルトの名無しさん
垢版 |
2017/06/01(木) 21:21:53.39ID:4NZyrsle
よくわからんけど
os.path.splitext使うんじゃなくて?
どう置き換えたいのかわからんし、コメントの「拡張子を表示している」の意味もわからん
010696
垢版 |
2017/06/01(木) 22:03:44.89ID:CzM97RwD
>>101
一つの手かもしれません。試してみようと思います。

>>102
似たようなことかもしれませんが、
最初考えていたのは変換ファイルが生成されるディレクトリのファイル数を監視して、
ファイルが増えたら次の処理へ進む、ということを考えていました。
しかし、プログラム処理中にディレクトリを見ていると、
「変換処理」ボタンを押して、処理が完了するまでに一旦ファイルが生成してしまうんですね。
しかし、画面上ではまだクリックとかは受け付けられない状態なので
(例えばその状態でクリックすると、重いときによくある「プログラムが応答していません」となる)、
結局待機時間が必要となるようです。

最後の2行、もう少し詳しく教えていただけませんか。
理解しきれてなくて申し訳ありません。

>>103
目的は自動化処理の勉強でもあるので、
できる限り自分でプログラムを組みたいという意図はあります。

ただ、たまたまpyautoguiの存在を知ってpythonに手を出した部分もあり、
正直他の言語で対応できるなら、そちらを選択するのもありだと思っています。
よく使うOSはwindowsなのですが、
例えば、windowsプログラミングの知見があれば
今回のような状態を認識することとかできるのでしょうか?
0110デフォルトの名無しさん
垢版 |
2017/06/01(木) 23:27:12.86ID:biLitq02
Windowsで他のアプリを自動運転したいとき
俺ならUWSC使うな
ボタンの状態なんかも読み取れるぞ
0111デフォルトの名無しさん
垢版 |
2017/06/01(木) 23:37:02.38ID:HrlrgTfR
>>106
110ではないがmacやlinuxならsikuliと言ったところか

アプリ側が連続処理中ではちと無理だね
一回一回変換するなら無関係なファイルをバッチなりで作れば良いのだがどうもイメージしている感じが違うようだ。
役に立てずすまんね
0112デフォルトの名無しさん
垢版 |
2017/06/02(金) 00:04:13.21ID:z6SEMaNF
>>111
誤って解釈していたらすみません。
「変換は一回一回」というのは間違っていないかと思います。
あくまで、ファイル読み込み→変換ボタンをクリックという操作を
pyautoguiにさせて、処理待ちフリーズ(といってもマウスは動かせますが。クリックを認識しない状態)が
終わるまで時間を稼いで、またpyautoguiで操作する、ということの繰り返しです。
そういう意味では、連続的に動いているのはpython側のプログラムだけで、
変換アプリ側は作業の待機状態になっている・・・ということです。

「無関係なファイルを作る」というのはどういう意図なのでしょうか。

とにかく、上記の「カーソルは動けるよ、けど画面上のアプリ操作とかは受け付けないよ」という状態を、
python側に強引にでも認識させることができればいいのですが・・・。
011396
垢版 |
2017/06/02(金) 00:07:30.32ID:z6SEMaNF
>>112名前つけ忘れました。
また、
 ×:「・・・」という状態を、
 ○:「・・・」という状態が解除されたことを、

でした。
0115111
垢版 |
2017/06/02(金) 00:17:04.93ID:zdufrHSj
>>112
変換ボタン処理中になんらの変化があるなら、変化=処理中って事ですかね?

何にしても「意識できる違い」を作るなり見つけるなりしないと。
そしてその違いをpythonで見分ける方法を知れば良いと思うけど
正直uwscやsikuliを使う方が素直に「自動化」だと思う
元々これらのソフトはGUIの自動化ソフトウェアなのだし

で、私から諸先輩方に質問が
PILを使おうと思ったらPILLOW?なるものも候補に出てきました
これは今後どちらかに統一される過渡期で両方出てくるのですか?
011696
垢版 |
2017/06/02(金) 00:40:21.07ID:z6SEMaNF
>>115
>変換ボタン処理中になんらの変化があるなら、変化=処理中って事ですかね?
>「意識できる違い」を作るなり見つけるなりしないと。
>そしてその違いをpythonで見分ける方法を知れば良いと
まさにその通りですね。
例えば今思ったのは、いわゆる疑似フリーズ中に新規ファイルサイズが変化(増加)しているなら、
変化が止まったら次の処理へ、なんてことが可能かもしれません。
他には、python側でボタンを表示しておいて、
クリックを検出したら=ボタンを押せたら、次の処理へとか、
この辺りを試してみようかと思います。(うまくいくとは思えないのですが。)

uwscは使ったことがないのですが、
こういった問題は対処可能なのでしょうか。
0117デフォルトの名無しさん
垢版 |
2017/06/02(金) 00:42:26.69ID:hTWL2ZhC
超初心者スレなのに、自動化ソフトの名前が次々出てきて為になるなあ
0118デフォルトの名無しさん
垢版 |
2017/06/02(金) 01:29:48.95ID:w5TyDgot
自分で処理部分も書くんなら、処理中フラグ作って、処理の直前でtrueにして終わったらfalseにする。
GUI自動化の方はそのフラグ見てfalseならボタン押す処理を書く。
ってか、そう言う処理はコマンドの方が向いてるんだが。
0119111
垢版 |
2017/06/02(金) 08:43:15.03ID:zdufrHSj
>>116
118氏同様、コマンドラインで1ファイルずつ変換するならば、コマンド呼びで…とも思わなくもないが
GUIでこういう作り方を目指した…と言われてしまえばそれまで

環境やバージョン、使用ソフトウェア他、情報を全部提示するまでは
私以外は答えがないと思った方が良い>気まぐれはあるかも知れないが
それと、私はpython初心者だから、方法論は答えられてもpythonとしての答えは難しいと思ってね
pythonな御歴々のアドバイスを貰うに、質問者として情報不足している
0120111
垢版 |
2017/06/02(金) 08:50:11.88ID:zdufrHSj
最低限使用しているソフト名と動作時の状況が見える情報を添えて「ここがこう」程度の具体的提示は無いと…

で、PILとPillowはちょっと理解。PILが古く、新しいのがPillow(PIL Fork)。
しかもPillowは今後注目のSIMD版なんてのもあるらしい
0121デフォルトの名無しさん
垢版 |
2017/06/02(金) 10:48:51.12ID:2eoPqmbJ
>>107
事務次官ですね判ります
0122デフォルトの名無しさん
垢版 |
2017/06/02(金) 11:28:32.95ID:OWzBxuDw
>>119
多分変換するアプリは質問者が作ったんでなくて既存のアプリなんでしょ
だからわざわざGUIにしたわけじゃないと思う
だったら、GUIの自動化ツールを探すよりは、コマンドラインで実行できる変換アプリを探す方がマシな気もするけどね

ただ、GUIのツールを自動化させると見た目的にカッコいいのは分かる
0124デフォルトの名無しさん
垢版 |
2017/06/02(金) 12:01:18.51ID:Lwz53XoH
銀行にお金入ってても現金で下ろせないと不安になるだろ?
それと、同じだよ
0127デフォルトの名無しさん
垢版 |
2017/06/02(金) 12:59:50.13ID:yyLeCvfJ
>>96
>1.あるアプリケーションでファイルを読み込み、処理を行う
>→2.(処理を終えるまで待つ)
>→3.次のファイルで同じことをする(以下繰り返し)

シェルスクリプトで書くと、必ず順番に実行される。
コマンド A;
コマンド B;
コマンド C;

もし、これが並列に実行されると、プログラミングが難しすぎて、出来なくなるから、
わざと、並列にならないようにしている

だから、Pythonからコマンドを呼べば?
処理は直列になる
0128デフォルトの名無しさん
垢版 |
2017/06/02(金) 13:00:42.51ID:jbvcqQ/c
また読まなくていい流れになってきたな
0129デフォルトの名無しさん
垢版 |
2017/06/02(金) 13:53:16.12ID:JYKbqRlR
nums = [0,3,4,5,7,9]

このリストに含まれない数字を探してappendしたい。
リストを埋めるだけなら見つけたのですが・・・。

for i in range(10):
○if not i in nums:
○○nums.insert(i,i)

答えというより考え方が知りたいです。
よろしくお願いします。
0131デフォルトの名無しさん
垢版 |
2017/06/02(金) 14:24:28.83ID:PwRFjZu6
>>129
宿題か何か?
そんな処理に意味があるとは思えんが。。。
9以降はずっと無いから永遠に追加し続けておk?
9までだったら1から9までのリスト作ってXORしたら含まれてない数のリスト出来るんで、結合してソートとか。
0132デフォルトの名無しさん
垢版 |
2017/06/02(金) 14:32:05.68ID:+DmPYeVu
ここ最近配列まわりの質問してる人でしょう
残念だけどプログラム(を学ぶということが)向いてないと思うので、早めにあきらめた方がいいと思うけどなあ

for n in range(10):
__if n not in nums:
____nums.append(n)
あるいは
temp=[]
forループしてtemp.append(n)
かな
0133デフォルトの名無しさん
垢版 |
2017/06/02(金) 15:20:57.96ID:Lwz53XoH
>>132
`sono,ko-do,bimyou

for i in range(10):
i wo 10 kai 繰り返す

○if not i in nums:
not ない in 入って nums=複数の値

○○nums.insert(i,i)
noms に insert()=要素の挿入
inser(i,i) i番目 ni 変数iを挿入

基本的に間違ってる 違う関数をすすめる

set を使u?
x=[3, 4, 3, 2, 5, 4]
y=set(x) # [2, 3, 4, 5]
print(x,y)
0134デフォルトの名無しさん
垢版 |
2017/06/02(金) 15:30:37.97ID:yyLeCvfJ
ary = [0,3]

for i in 0..3
puts ary.include?(i)
end

Ruby で書いたけど、i は、0〜3 だから、0,1,2,3 の順番に渡ってくる。
配列の中に、i があれば真、無ければ偽

結果は「真,偽,偽,真」の順
0135デフォルトの名無しさん
垢版 |
2017/06/02(金) 15:42:49.64ID:PwRFjZu6
>>129
ああ、分かった。
含まれてない数のリスト作りたいのね。
んじゃ>>131の通りXORするか、>>132のnums.append(n)をループ前に新しいリスト作って、そいつに対してappend(n)すれば良い。
>>132>>129のif n not in nums:は、numsにnが含まれてるか走査してるからね。
range(10)で0から9までの10カウントしてて、>>129では、たまたまnumsが0から始まってるから同じiが使えてる。
違う数字から始まるなら、その分+1とかすれば良い。
0136デフォルトの名無しさん
垢版 |
2017/06/02(金) 15:47:04.21ID:PwRFjZu6
>>132
確かに>>129から自分で気付いて改造出来ない時点でヤヴァイね^^;
プログラマの道を諦めたおいらより才能ない。
0137デフォルトの名無しさん
垢版 |
2017/06/02(金) 16:03:28.75ID:Lwz53XoH
a not in b # a が b に含まれない
ifで 含まれてないなら実行

not in ではなく in なのか?
普通に勘違いしてたw

重複削除ではなく、重複を検索したいのかww
warui,warui
0138デフォルトの名無しさん
垢版 |
2017/06/02(金) 16:06:18.22ID:Lwz53XoH
kore,paiza
mondai,dana

ganbare
0139129
垢版 |
2017/06/02(金) 16:24:16.11ID:JYKbqRlR
ちょww
たくさんありがとうございます。

>>135 そういう説明が欲しくて質問しました。
私の書き方が良くなかったです。失礼しました。
それを見ながらコードにしたいと思います。

念の為、宿題、配列の質問してた者、paizaでもないです。
スクレイピングが出来るようになったので基礎をしっかり身につけたいなと思って
自分に貸した問題です。そしたらわけわかんなくて・・・www

ありがとうございました。
0140デフォルトの名無しさん
垢版 |
2017/06/02(金) 16:57:27.90ID:PwRFjZu6
うーん。。。
if i not in nums:を見つけた時点でほぼ答え出てると思うが。。。

バッチリ自分の探すコードと同じのって普通なかなか見つからんと思うのよ。
んで、数字を埋めてるって事は、数字の有る無しを判定してるって事で。。。
どのコードが自分の作りたい機能に使えるかを見つける為にも、探したコードは読める様になった方が良いよ。

前Javaスレで出会った人もそうだが、最近の子は物事を分解して組み直すって思考が苦手なんじゃないかと思えて仕方ない。
(GUI関係のコードとロジック部分のコードを分けて考えないで質問して来た)
0141デフォルトの名無しさん
垢版 |
2017/06/02(金) 17:35:10.64ID:JYKbqRlR
>>140
コードが読めないわけじゃないです。私、前スレの886で他人のコード読めるサイトがないか尋ねた者ですが、
誰かのコードを部分的に理解できるぐらいの知識はあります。質問をコードで答えてもらってもそれを理解できます。
しかし、いざ自分のしたいことをコードに表現が出来ないんです。書く前に頭で組み立てられない。
それゆえ、当てずっぽうにipythonに打って探してしまいます。
考えるときに手順を言葉で追っていくんですが、私以外の人はどうやって考えてるのかを知りたくて129の質問をしました。
ここだと言葉で説明してくれますから。
0143デフォルトの名無しさん
垢版 |
2017/06/02(金) 17:46:29.51ID:OWzBxuDw
>>141
答えが知りたいんじゃなくて、学びたいのなら、まずは自分がどう考えたかを教えてください。
あなたの頭の中を晒してくれないと、適切なアドバイスも出来ないよ。
0144デフォルトの名無しさん
垢版 |
2017/06/02(金) 18:02:25.49ID:PwRFjZu6
>>141
うーん?
当時のおいらみたいにプログラマになりたいだけで、作りたいものがなかったならともかく、作りたいものがあるんなら紙に書き出すなりして考えまとめれば>>129なんてpythonみたいな便利機能の無いBASICでも二重ループとifで同じこと書けると思うんだが。

じゃあ>>129はその処理をどうやって作りたいと思ったんだ?
作りたいものが画像処理とかバイナリの構造知らなきゃ作れない様なもんじゃ無いから、作り方を考えれば作れるべ。
0145デフォルトの名無しさん
垢版 |
2017/06/02(金) 18:12:27.05ID:nOTJZ0xW
ここまでお前の自演
0146デフォルトの名無しさん
垢版 |
2017/06/02(金) 18:13:29.04ID:yyLeCvfJ
本を読まないから、分からない

「たのしいRuby 第5版、2016」を3回読めば、たいていの事は書いてある。
それを読めば「みんなのPython 第4版、2017」も楽に読める。
この2冊は、表裏一体だから

Rubyで書ける事は、Pythonでも書ける。
ただし、Rubyの方が簡単だから、学ぶのはRubyで学んで、
それからPythonへ翻訳すればいい

単独でPythonを学ぶよりも、Rubyで考えて、Pythonに置き換える方が、簡単
0147デフォルトの名無しさん
垢版 |
2017/06/02(金) 18:53:24.75ID:d/uRILE6
.gitignoreってファイルを上方向に検索する方法ありませんか?
たしかループで親ディレクトリを辿ってファイルの存在を確認するとかそういうコードを書かなくても
標準ライブラリで出来た覚えがあるんですが思い出せません
0148デフォルトの名無しさん
垢版 |
2017/06/02(金) 19:02:57.58ID:DJo44r8c
>>141
もう少ししたら仕事行くんで直接相手は出来ないが、>>143の言う通り頭ん中晒してみれ。
おいらの言葉がキツかったんだろうが、>>143辺りが懇切丁寧に指導するやろ。

おいらも明日帰ったら、突っ込み入れるし、おいらなりの頭ん中晒すから。
0149デフォルトの名無しさん
垢版 |
2017/06/02(金) 20:25:01.26ID:yRLgCYt+
>>141
in → blackbox → out
まずこう考える

次に blackbox をさらに砕いて

in →
(in → blackbox → out)#入力を展開
(in → blackbox → out)#処理を実行
(in → blackbox → out)#結果を整形
→ out

頭の中でこんなふうにする。

最後に具体的なコードを書く。
015096
垢版 |
2017/06/02(金) 20:49:29.65ID:t8SMqJpW
回答ありがとうございます。

>>118, >>119, >>122
122さんの推測通り、変換ソフトは既存の市販ソフトです。
ですので、GUIで操作せざるをえないのではないかと・・・。

先にも書いたように、どうしてもpythonで、
というこだわりがあるわけではないですので、
違う方法も模索しようと考えています。
例えば、既存のソフトをコマンド上で操作することって、
技術的に可能なのでしょうか。
必要な知識を教えていただければ、勉強したいと思っています。

もはやpythonスレの範疇ではないですが、ご教示いただければ幸いです。
0153デフォルトの名無しさん
垢版 |
2017/06/02(金) 22:24:43.53ID:uqHV+hQL
ぶっちゃけこういう民度の低さのせいでRubyって言語自体に負のイメージ持ってる
0156デフォルトの名無しさん
垢版 |
2017/06/02(金) 22:36:25.74ID:WgeJS9BI
>>155
レス100番台から次スレの事言うと鬼が笑うってお前のじいさんが言ってたけど
0160デフォルトの名無しさん
垢版 |
2017/06/02(金) 23:21:15.42ID:WgeJS9BI
ガチのキチガイに触れてしまったか…
0161デフォルトの名無しさん
垢版 |
2017/06/03(土) 00:25:09.33ID:uvJdQrMJ
ggっても、分からなかったので、質問します
教えてください

環境
3.2.71-slitaz

python3の夢幻召喚(インストール)
0162デフォルトの名無しさん
垢版 |
2017/06/03(土) 00:26:46.39ID:uvJdQrMJ
誤字です
Do not worry
0163デフォルトの名無しさん
垢版 |
2017/06/03(土) 06:52:08.42ID:GyX0IIiI
ビルドして入れろ、それが不可能なクソ環境は窓から投げ捨てろとしか言えない
0164デフォルトの名無しさん
垢版 |
2017/06/03(土) 14:43:12.01ID:59j26kfv
>>150
OfficeとかはWHSから使えたけど、ああ言うのって多分アプリ側がそう言うインターフェースを提供してるんだと思うから、素直にマウスの動きを記録再現するアプリ探すしか無いんじゃ無いかな。
0165デフォルトの名無しさん
垢版 |
2017/06/03(土) 14:57:28.56ID:uvJdQrMJ
ビルドの仕方もわかんねぇ?
わっかんねぇ〜、すべてがわっかんねぇ〜〜♪♪
0166デフォルトの名無しさん
垢版 |
2017/06/03(土) 15:39:28.04ID:hQFCNe+s
独学でやるよりもプログラミングスクールやインターン行った方が上達するって本当ですか?
0170デフォルトの名無しさん
垢版 |
2017/06/03(土) 18:01:17.12ID:g7m4Kmgl
いきなり金払わせるとか内容に自信がないんだろ
初級くらい無料でやらせるのが主流なのに
0171デフォルトの名無しさん
垢版 |
2017/06/03(土) 19:01:27.38ID:RVoqohAC
プログラミングに関しては教えてもらって覚えるより
ググり力を身につけるほうがいいと思うんだよなぁ

学校みたいな勉強してると「カンニングはいけないこと」とか思っちゃいそうだし
0172デフォルトの名無しさん
垢版 |
2017/06/03(土) 19:55:06.74ID:r3Hwq+Dy
すでに定義された問題を解くだけなら人に教わって解法を暗記すれば良いが、
プログラミングの世界だとまず自分で解くべき問題を定義することから始める
いくらスクールやインターンに行って解法を覚えようと、問題の定義が出来なければどうにもならない
0173デフォルトの名無しさん
垢版 |
2017/06/04(日) 01:07:11.11ID:ovRWSkxq
Pythonの学び方は、
>>146
に書いてある

皮肉なことに「たのしいRuby」で、Rubyを学ぶ方が、速くPythonを学べるw
0175デフォルトの名無しさん
垢版 |
2017/06/04(日) 01:39:54.99ID:+/l5ZrzM
初心者スレにまで来て、宣伝ですかぁ〜?
構文の仕様が、そもそも違う……荒らしは相手にたくないけど、
初心者が嘘、覚えて帰るのも、どうかと思うけど……なんとも言えないな
0176デフォルトの名無しさん
垢版 |
2017/06/04(日) 04:11:38.70ID:ovRWSkxq
初心者に、Guido の本は最悪だろ

結局「みんなのPython」を読むためには、
「たのしいRuby」から読んだ方がいい
0177デフォルトの名無しさん
垢版 |
2017/06/04(日) 05:07:18.42ID:osCXxLB4
>>176
売れなくて悔しいんだろうけどさぁ、なんでここで宣伝するの?
Ruby嫌いだってイワナ、書かなかったっけ
0179デフォルトの名無しさん
垢版 |
2017/06/04(日) 15:02:17.06ID:gpssu9MP
みんなのPythonも、たのしいRubyも
読まなくていい

Pythonやるなら以下の2冊がおすすめだ
空飛ぶPython
その後、入門Python3
この2冊はバリバリ書けるようになった後も
かなりのレベルまで役にたつだろう
どちらもPython3.3に準拠

プログラミングのやり方レベルの本は知らん
0183デフォルトの名無しさん
垢版 |
2017/06/04(日) 18:01:04.80ID:vGWhK5C4
>>1には書かれていない裏の目的として脱初心者のためのスレであってもいいと思うよ
回答者が自分の知識を確かめるために回答を勇気を持って書き込むスレッドです
0185デフォルトの名無しさん
垢版 |
2017/06/04(日) 23:16:18.69ID:VMxeFwe/
プログラミングの素養ってあるの?

C言語がつまらなすぎて挫折したけど
pythonも挫折したら怖い
0186デフォルトの名無しさん
垢版 |
2017/06/04(日) 23:51:02.25ID:VMxeFwe/
pythonが今のところ続けれているモチベーション
・むちゃくちゃ簡素なコードだから躓きが少ない
・C言語みたいにわけのわからない計算するプログラムが完成物でなく、参考書ではいきなり描画だの、webアプリだのクリエイティブなことが出来るワクワク


大学でやるC言語はほんとに何を目的にコードを打ち込んでるのかも分からなかったし、Cで作られる様々なシステムにも興味が湧かなかった

自分はもっとhtmlのようなクリエイティブなモノづくり、芸術がやりたかった
だから、pythonはものすごくいい。3DCGの分野とかもpythonのストライクゾーンらしいし
0187デフォルトの名無しさん
垢版 |
2017/06/05(月) 00:13:59.04ID:XjEEd2Sm
日本語が下手で申し訳ない

つまり、ペインティングするようにpythonだとコーディングするこの直感的な感覚、プログラミングしているのを忘れて物が作れる点に魅力を感じた

自分はデッサンもグラフィックデザインの才能も無いけど、プログラミングなら極めれる?なんて少し可能性に賭けている
0188デフォルトの名無しさん
垢版 |
2017/06/05(月) 00:18:07.13ID:XjEEd2Sm
行く行くはプログラミングを勉強してそれを活かしていきたい

否定するつもりはないけど、金融システムや公共システムに基幹産業システムやらのsier分野に現時点で興味が湧かない

となると敷居高いweb系の世界になるのだろうか...

どちみち、sierもweb系もプログラミングはあるから、その点Cよりpythonを扱うweb系が自分には正解なんだろうけど
とにかくweb系は出来る奴ばかりの集まりという感じがして気が引ける... そこまでが現在の不安です。

どなたか意見ください
0192デフォルトの名無しさん
垢版 |
2017/06/05(月) 04:20:53.36ID:QjqPAsY2
>>179
いま3.6までバージョンアップしているけど。
0195デフォルトの名無しさん
垢版 |
2017/06/05(月) 15:42:16.40ID:F2eMpzkE
PycharmでPythonのコードを書いているんですが
今までは問題なかったのがつい先程から
(辞書作りなどで)日本語入力でコロンを打つとそれが消えてしまうようになりました。
半角入力なら問題ないんですが、都度入力を切り替えるのも面倒です。
ネットで検索もしたんですが同じ現象は見当たらず…
どなたか解決策をご存知でしたら教えて下さい…
0197デフォルトの名無しさん
垢版 |
2017/06/05(月) 20:48:14.69ID:jenearcG
print('''')
何でこれエラーなんですか?シングルクォートの中でシングルクォートを書く場合は
シングルクォートを2個書くんじゃなかったんでしたっけ?
0198デフォルトの名無しさん
垢版 |
2017/06/05(月) 21:10:31.75ID:GUXJLkSX
>>197
それシングルクオート'を2つじゃなくてダブルクオート"を書く
日本語配列のキーボードなら、シフト押しながら2(wの上、テンキーじゃない)で"を入力できる
print("'hello'") # こんな感じ

print('''')がエラーになる理由は'''で三重クオート文字列が始まっているから
終端として'''をもう一度書かない限り文字列が終わらないんだ
0199デフォルトの名無しさん
垢版 |
2017/06/06(火) 12:10:26.82ID:qR6xCFc0
python3.6.1のインストール
os linux mint18.1 32bit mate

python 公式サイトの[Python-3.6.1.tar.xz]をダウンロードしました。

しかし、
ppython-3.6.1.tar.xzはdebianパッケージではありません
このファイルのMIME typeはapplication/x-tarです。このシステムにはインストールできません

と、表示されます
どなたか3.6.1のインストール方法をご存知でないでしょうか?
教えてくださいお願いします
0202デフォルトの名無しさん
垢版 |
2017/06/06(火) 12:43:23.62ID:qR6xCFc0
>>200
多次元配列 斜めの計算
l=[[1,2,3],[4,5,6],[7,8,9]]
1*5,5*9,1*5*9
3*5,7*5,3*5*7
とかの計算ってどうやって実装するんですか?
0204デフォルトの名無しさん
垢版 |
2017/06/06(火) 13:02:23.36ID:dQbl7F4D
def init():
__変数たくさん定義

def test1():
__global init()
__なんかする

def test2():
__なんかする

みたいな非クラスながらinitありみたいなことがしたいです
一々global宣言するのも面倒くさい数の共通変数使いたい
オブジェクト指向化するとselfselfうるさいし、そこまでは大きいプログラムじゃない
どうにかなりませんか?
0205デフォルトの名無しさん
垢版 |
2017/06/06(火) 13:14:22.18ID:4VBDgxqx
あれシングルクオートの中でシングルクオートを書く場合は2個書くっていうのは別の言語の話だったかもしれない
何の言語だったっけな
0207デフォルトの名無しさん
垢版 |
2017/06/06(火) 14:30:02.59ID:qR6xCFc0
tar (child): Python-3.6.1.tar.xz: open 不能: そのようなファイルやディレクトリはありません
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now




usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
or: setup.py --help [cmd1 cmd2 ...]
or: setup.py --help-commands
or: setup.py cmd --help

error: no commands supplied
0209デフォルトの名無しさん
垢版 |
2017/06/06(火) 14:52:41.89ID:YcFu/OxL
>>204
まあ、pythonはpythonらしくなく使うのに向いてない言語だから、pythonらしさが合わないなら素直に別の言語使った方が良いよ
0210202 短気な小生
垢版 |
2017/06/06(火) 15:37:30.46ID:qR6xCFc0
誰か分かりませんか?
できれば1*9 3*9のパターンもお願いしたいです
0213デフォルトの名無しさん
垢版 |
2017/06/06(火) 15:59:59.90ID:IxR3UfKy
画像に書いてあるのも含めパターンが全然わからんし何を計算したいのかもわからん
あと3*3行列だけ計算できればいいのかそれとも任意の正方行列なのかとかもっと詳しく説明しろ
0214202 短気な小生
垢版 |
2017/06/06(火) 16:07:24.64ID:qR6xCFc0
全通りの計算結果が欲しいです

配列の中の重複しない、すべての組み合わせ(2個ずつ3個ずつ……9個ずつ)
全通りの計算結果と式です
0215202 短気な小生
垢版 |
2017/06/06(火) 16:13:53.02ID:qR6xCFc0
1と23456789
2と23456789
3と3456789

1と2 なら 3456789
1と3 なら 2456789

1と2と3 なら 456789
1と2と4 なら 356789


見たいな感じです
0216デフォルトの名無しさん
垢版 |
2017/06/06(火) 16:43:51.25ID:IxR3UfKy
ごめんまだよく分らんw

例えば配列をlとしてlの要素数が3だったら

l[0]*[1]
l[1]*[2]
l[2]*[1]

l[0]*[1]*l[2]

の4つの値を計算したいってこと???
0218デフォルトの名無しさん
垢版 |
2017/06/06(火) 19:07:35.39ID:2BJddV2r
きたあああ!宣伝くるぞおおおおおおおおおおおおお
0219デフォルトの名無しさん
垢版 |
2017/06/06(火) 22:11:31.21ID:QkIHseit
餅は餅屋だから
米か印のランキングみたほうがいいぞ
てか英語くらい読めないと
0220デフォルトの名無しさん
垢版 |
2017/06/06(火) 22:13:09.79ID:mfyahOnQ
餅は家でついた方が旨いぞ
0225デフォルトの名無しさん
垢版 |
2017/06/07(水) 12:10:57.65ID:SSzPpmQQ
>>207
まず、プログラミング以前の話として、プログラミングの環境構築ができないのだろ

環境構築するには、Linux のコマンドや、Windows の、PowerShell など、
各OSのコマンドを勉強する必要があるから、プログラマーには無理だと思う

paiza.IO, codepad など、webサイト上で、ブラウザからプログラミングした方が良い

Python-3.6.1.tar.xz
拡張子が、.xz だから、コマンドの説明を読んだ方が良い
0226デフォルトの名無しさん
垢版 |
2017/06/07(水) 12:36:37.18ID:j6/hQcqc
最近のtarは圧縮方式指定しなくてもxfだけで展開してくれるけどな
0227デフォルトの名無しさん
垢版 |
2017/06/07(水) 13:45:09.01ID:HEP6EMx0
まだしばらく3.53でいいんじゃないか?2.7はもう手仕舞いする必要があるが。
0228デフォルトの名無しさん
垢版 |
2017/06/07(水) 13:54:02.09ID:61FP2LgC
printって書いたら自動で()書いてくれんかね
3になってからめんどくさいんだけど
0232デフォルトの名無しさん
垢版 |
2017/06/07(水) 19:22:48.44ID:FeRa8BtZ
こんなことにまで「キーマップいじってなければ」って保険かけたがるメンタルの弱さ
いじめたくなるw
0236デフォルトの名無しさん
垢版 |
2017/06/07(水) 22:22:42.71ID:TSYtCcNO
p=print
p(1)
0242デフォルトの名無しさん
垢版 |
2017/06/08(木) 02:18:00.07ID:ueYAhQD8
>>241
あー……前半と後半の難易度の違いすぎにワロタ奴か

ガチの初心者が買ったら泣くな、間違いなく
0244デフォルトの名無しさん
垢版 |
2017/06/08(木) 06:13:18.36ID:+7TOT64t
LISP書いてたら配列の,入れるの忘れるようになってよくシンタックスエラー吐かれてた
0245デフォルトの名無しさん
垢版 |
2017/06/08(木) 06:46:31.39ID:Che4gnSp
>>243
入れてるよ
ただバッチファイルではやりにくい処理とかをやらせるのに使ってたけど最近はPowerShellでやることが多くなったのであまり使ってない
0246デフォルトの名無しさん
垢版 |
2017/06/08(木) 08:36:31.97ID:SSbqo8UT
>>245
会社でpowershell、家でSwift、本当に好きなのはpythonな俺は、構文を混同して混乱しまくりだわ
0247デフォルトの名無しさん
垢版 |
2017/06/08(木) 11:29:36.53ID:RTYYoCEV
>>217,241,242
自作自演の宣伝ご苦労さんです
0248デフォルトの名無しさん
垢版 |
2017/06/08(木) 16:18:44.25ID:oPuedIYN
s = 'abcあいう'
のときに
sl = ['abc', 'あいう']
に分割する方法を教えてください
分割する条件は半角の並びと全角の並びに分けることです
0249デフォルトの名無しさん
垢版 |
2017/06/08(木) 16:30:15.13ID:HjFtHmDJ
>>248
そんなことよりあとのことを考えたら文字がなんなのか判定するロジックを考えた方がいいよ。
0252デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:02:49.90ID:nWL/9IZ5
お前らpython使ってんのwww
ばーーーーーかwww
0253デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:23:23.80ID:v/Klw7Re
アスキーコードに変換して128以下なら半角
0254デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:32:12.81ID:SSbqo8UT
>>249
ある文字が半角か全角か判定できる関数が存在すると仮定(isHankaku)して、それを使ったらどうやって出来るかをまず考えるのが、pythonらしいと思う。
とりあえず、
def isHankaku(c):return re.match(r"[0-9a-zA-Z]",c)
としておけば、テストぐらいは出来る。
0256デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:51:15.66ID:oPuedIYN
>>> import re
>>> s = 'あいうabcえおdefかきくけghこさしす'
>>> r = re.compile(r'([\x20-\x7E]+)', re.I | re.M | re.S)
>>> re.findall(r, s)
['abc', 'def', 'gh']
>>> r = re.compile(r'([\x20-\x7E]*)([\x80-\xFF]*)', re.I | re.M | re.S)
>>> re.findall(r, s)
[('', '\x82\xa0\x82\xa2\x82\xa4'), ('abc', '\x82\xa6\x82\xa8'), ('def', '\x82\xa9\x82\xab\x82\xad\x82\xaf'), ('gh', '\x82\xb1\x82\xb3\x82\xb5\x82\xb7'), ('', '')]

ここまでやってみたのですが
助言おながいしやす
0258デフォルトの名無しさん
垢版 |
2017/06/08(木) 17:56:53.39ID:oPuedIYN
一応これもやってみました

>>> import re
>>> s = 'あいうabcえおdefかきくけghこさしす'
>>> r = re.compile(ur'([\u0020-\u007E]*)([\u0100-\uFFFF]*)', re.I | re.M | re.S)
>>> re.findall(r, s.decode('cp932'))
[(u'', u'\u3042\u3044\u3046'), (u'abc', u'\u3048\u304a'), (u'def', u'\u304b\u304d\u304f\u3051'), (u'gh', u'\u3053\u3055\u3057\u3059'), (u'', u'')]
0259デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:19:41.54ID:HjFtHmDJ
小手先のやり方だな。一文字ずつ読んで判断していけよw

英語圏の人間は、文字によってバイト数が異なるということがない前提で作っているからな。
0261デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:32:16.30ID:SSbqo8UT
正規表現で半角の定義ができるなら

re.findall('[%s]+|[^%s]+' % (hankaku,hankaku), input)

で良いんじゃないの?
0262デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:37:14.78ID:TyBSFeDZ
>>259
一文字ずつ読んで判断する方法プリーズ
0263デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:44:13.85ID:oPuedIYN
>>> import re
>>> s = 'あいうabcえおdefかきくけghこさしす'
>>> r = re.compile(ur'[\u0020-\u007E]+|[\u0080-\uFFFF]+', re.I | re.M | re.S)
>>> re.findall(r, s.decode('cp932'))
[u'\u3042\u3044\u3046', u'abc', u'\u3048\u304a', u'def', u'\u304b\u304d\u304f\u3051', u'gh', u'\u3053\u3055\u3057\u3059']

一応目的は達成出来ました
解答くださったみなさんありがd
0264デフォルトの名無しさん
垢版 |
2017/06/08(木) 18:55:38.92ID:nEFPzZj3
>>248
>>254
>ある文字が半角か全角か判定できる関数が存在すると仮定
標準ライブラリにあるんだよなぁ・・

http://ideone.com/o6H6KL
0266デフォルトの名無しさん
垢版 |
2017/06/08(木) 19:12:49.38ID:TyBSFeDZ
パイソレイニヤンに限界なんかないやで
0268デフォルトの名無しさん
垢版 |
2017/06/08(木) 20:20:01.25ID:nEFPzZj3
こっちのがシンプルかな
http://ideone.com/uozWrU
0269デフォルトの名無しさん
垢版 |
2017/06/08(木) 20:29:13.32ID:zG0E6fLy
>>264,268
ギリシャやキリルなどの曖昧幅が含まれる場合(east_asian_widthだとA)
環境によって幅変わるから自動的に半角扱いにするのは微妙じゃない?
0270デフォルトの名無しさん
垢版 |
2017/06/08(木) 20:39:50.28ID:nWL/9IZ5
l=[['0','ab'],['0','cde'],['1','eff'],['2','ngg']]
上記の配列から
0と1の部分に分けて同じ多次元配列に入れる方法を教えて下さい

出力結果
r=[[abcde],[eff],[ngg]]

お願いします
0271デフォルトの名無しさん
垢版 |
2017/06/08(木) 21:14:39.24ID:nEFPzZj3
>>269
でも、unicodeの仕様だから・・
0273デフォルトの名無しさん
垢版 |
2017/06/08(木) 21:30:58.94ID:TyBSFeDZ
>>272
14点
0281デフォルトの名無しさん
垢版 |
2017/06/08(木) 23:57:00.10ID:nWL/9IZ5
>>278
ありです

チュートリアルを呼んだ限りでは、
pythonはもっと、やり方が少ないと思ってましたが、意外と多いんですね

単語自体は然程、変わらない見たいですが……。

ありがとうです。
0282デフォルトの名無しさん
垢版 |
2017/06/09(金) 07:15:03.33ID:rw1qC18c
Rubyはデフォルトで、encode メソッドで、日本語に対応している。
NKF で、カタカナ・平仮名など、細かく変換できる

外人は、日本語の定義に関わっていないから、日本語の判別はできない。
日本人が入っている規格・国際委員会じゃないと、判定できない
0285デフォルトの名無しさん
垢版 |
2017/06/09(金) 11:10:04.22ID:znstrb5L
>>282
> 外人は、日本語の定義に関わっていないから、日本語の判別はできない。
むしろ第一人者が外人なんだよなぁ・・
0286デフォルトの名無しさん
垢版 |
2017/06/09(金) 12:47:43.88ID:KPArChvd
rubyなんて覚えなくていいんですよ
railsがもてはやされてるだけでそのうちphpみたいにおっさん向けになるだけですから!!
0289デフォルトの名無しさん
垢版 |
2017/06/09(金) 18:33:53.93ID:I227GLuQ
OS:Windows10、xamppをインストール

PythonでSeleniumというものを調べてグーグルクロームの
自動操作にチャレンジしております。

クロームの起動、URLの入力などは行えましたが、
「新規タブを開く」というそれだけの操作が出来ない現状です。


https://medium.com/@shintaro_toyoguchi/python%E3%81%A7chrome%E3%82%92%E6%93%8D%E4%BD%9C%E3%81%99%E3%82%8B-5e52871824a8
http://www.seleniumqref.com/api/python/element_set/Python_special_send_keys.html
これらから調べて、実行しますが、
エラーは発生せず、新規タブも開かない状態です。

aaaaa = driver.find_element_by_tag_name('body')
aaaaa.send_keys(Keys.CONTROL,'T')
こういった具合でCONTROLキーとTで開くという意図で実行しても
2行目の中を   Keys.CONTROL+'T'
としても新規タブは開かない状態です。

Keys.PAGE_DOWNや、Keys.UPなどで単独キーで画面を下げたり、上げたりの操作はうまくいくので
CONTROLと〜 ALTと〜など押しっぱなしの2つのキーを押す動作がうまくできていないのかと想像するのですが・・
すみませんが、よろしくお願い致します。
0291289
垢版 |
2017/06/09(金) 19:29:39.02ID:I227GLuQ
>>290
大変に有難うございました!
まさかバグで、このようにすぐ回答頂けて大変に助かりました。

そちらのサイトの2つめの答えの
To interact with a window, you need to set the context to〜〜
のような所を置き換えてみたら、
メインのタブに加えて新規タブを開くことができました。
stackoverflow等もすらすら読めるようにしないといけないですかね…
ありがとうございました!
0293デフォルトの名無しさん
垢版 |
2017/06/09(金) 22:58:11.44ID:5czoYV9l
例外処理についてなんかしっくりきません
例えばcgi.pyを用いてcgiスクリプトを作るとき、そのcgi.pyのコードを読めばどこでどんな事をした時どんな例外が出るか分かりますが、cgi.py自体も色々なコードをimportしていて全て追いかけていられません
そうなると、テストの段階で引っかかる例外には対処できますが、それ以外の例外は不明なエラーとして片付けるしかなくなってしまうはずです
また、どの関数が例外を出すか分からないので、止まる位置によって復帰処理を細かく変えたいところではtry:except:でコードがガタガタになってしまいます
何かいい方法はないでしょうか?
0294デフォルトの名無しさん
垢版 |
2017/06/09(金) 23:34:19.74ID:ZMmAiLJD
本番もログっといて対処できそうならするし、できないならしないだけ

ガタつくのはエラー処理を例外に頼る言語の呪いみたいなもんで
いかようにもしようがない
0295デフォルトの名無しさん
垢版 |
2017/06/10(土) 00:32:15.21ID:p5cEokJX
>>293
どんな例外を出すか分からない関数が出してきた例外で正しく復帰するのは不可能だから諦めるしかない。
ドキュメントで明記されているものは処理して、他の例外はランタイムエラーでプログラムを停止させる。
ドキュメントがないライブラリは使わない
0297デフォルトの名無しさん
垢版 |
2017/06/10(土) 03:12:49.14ID:WtrsYPXN
実際javaには検査例外っていう投げられる例外を明示してその例外が投げられたときの対処処理を書かなければコンパイルエラーになるって仕組みもあるからその感覚は間違ってはないけどね

この辺は難しくて言語によって未だに試行錯誤がある
0299デフォルトの名無しさん
垢版 |
2017/06/10(土) 15:06:19.78ID:q9A7XPCs
試行錯誤はしてるんだろうが
検査例外を採用した言語はJavaを除いて一つもないので
信者以外はあれを失敗だと見なしている
0302デフォルトの名無しさん
垢版 |
2017/06/10(土) 19:14:45.50ID:xSl9wCDP
仕事としては、Javaの検査例外が、確実。
絶対に無視できないから

ただ、面倒くさいから、Kotlin では無くなった。
そうすると、ろくすっぽ例外処理をしない、ソースコードが増える
0303デフォルトの名無しさん
垢版 |
2017/06/10(土) 19:20:42.25ID:yLLSprfl
いつか来た道
0305デフォルトの名無しさん
垢版 |
2017/06/10(土) 20:26:05.83ID:CzqWl5Nx
Pythonは初心者の者です、よろしくお願いします

Pythonの読み方は「パイトン」と「パイソン」どちらでも良いそうですが、現場なんかではどちらの呼び方の方が多いですか?

個人的には英語のギリシャ語起源の単語などの発音に近いパイトンの方が好みなのですが…
これは私の第二外国語がドイツ語だったせいもあるかもしれません
0306デフォルトの名無しさん
垢版 |
2017/06/10(土) 20:39:34.89ID:T0tzL28a
元ネタが日本でよくモンティパイソンって呼ばれてるからな、多分パイソンのほうが通じやすい
0309デフォルトの名無しさん
垢版 |
2017/06/11(日) 00:52:55.11ID:eBxL4N8c
>>305
英語圏ならパイトンは通じるだろうが、パイソンはまず通じない。
0312デフォルトの名無しさん
垢版 |
2017/06/11(日) 10:02:12.96ID:lFjk+ZAI
正しくはパイチョンだ
チョンにアクセントをもってくる
これなら世界中に通用する
0313デフォルトの名無しさん
垢版 |
2017/06/11(日) 12:29:30.92ID:7PvmoOJK
NumPyについて質問です。

A = np.array([1, 2], [3, 4])
A.dtype

とやると


dtype('int32')

と出力されます。

ゼロから作るディープラーニングという本では、結果が

dtype('int64')

となっています。

この違いはなぜでしょうか?

anacondaは64bitのをインストールしています。
0314デフォルトの名無しさん
垢版 |
2017/06/11(日) 13:01:45.12ID:fc8MQVNK
2つの配列を交互に結合

a=[0,0,0,0]
b=[1,1,1]

求める結果
0,1,0,1,0,1,0

どの様にしたら実装できるでしょうか?
教えて下さい。
0315デフォルトの名無しさん
垢版 |
2017/06/11(日) 13:09:43.10ID:7PvmoOJK
[a[i//2] if i%2 == 0 else b[(i-1)//2] for i in range(len(a) + len(b))]
0317デフォルトの名無しさん
垢版 |
2017/06/11(日) 14:18:10.99ID:abflG9dt
>>313
Windows(笑)使ってるだろ
numpyのデフォルトの整数型のサイズは
その環境のCランタイムのlong型のサイズになる

Windowsは64bit環境でもlong型は32bit
LinuxやUnix(OSX含む)は64bit環境ならlong型は64bitになる
0318デフォルトの名無しさん
垢版 |
2017/06/11(日) 14:28:10.21ID:fc8MQVNK
>>315
ありがとうございます
失礼します
0319デフォルトの名無しさん
垢版 |
2017/06/11(日) 14:28:47.32ID:7PvmoOJK
>>317

Windowsに比べてLinuxが優れているところって何ですか?

どうも使いにくいのでWindowsのみ使っています。
0320デフォルトの名無しさん
垢版 |
2017/06/11(日) 14:54:06.94ID:xOOyeNe0
windows用ソフトは単体で使うことが前提のものが多い

linuxというかunix系はコマンドラインで使うプログラムが主で
標準入出力の概念があるので複数のプログラムを連携させやすい
0322デフォルトの名無しさん
垢版 |
2017/06/11(日) 15:24:02.63ID:FIjF4G2p
>>314
from itertools import chain
a=[0,0,0,0]
b=[1,1,1]
r = list(chain(*zip(a, b))) + a[len(b):]
0325デフォルトの名無しさん
垢版 |
2017/06/11(日) 17:27:15.68ID:abflG9dt
>>319
Windowsを考慮して書いている入門書は少ない
君がさっき持っていたような疑問が生まれないのがメリットの一つだね…

Windows対応ならWindows対応だと表紙に書かれるくらい特筆すべきことなんだ
レアなんだよ奇行種なんだよ
0326デフォルトの名無しさん
垢版 |
2017/06/11(日) 17:31:11.53ID:7PvmoOJK
Linuxはプログラムだけやるのなら問題ないと思いますが、
なんかプラウザの表示とかが綺麗じゃないように思うのですが。

あと見た目が洗練されていないように思います。

>>323
IDEを使えばWindowsでも無問題ではないでしょうか?
0327デフォルトの名無しさん
垢版 |
2017/06/11(日) 17:33:59.77ID:7PvmoOJK
>>325

大したメリットではないですね。

みなさんは、LinuxはVirtual Boxとか使って利用しているのですか?
0329デフォルトの名無しさん
垢版 |
2017/06/11(日) 18:35:18.31ID:fc8MQVNK
>>322
ありがとうございます
0331デフォルトの名無しさん
垢版 |
2017/06/11(日) 18:53:10.87ID:sCflcWBm
>>312
+1

>>333
+1

>>327
いいえ

>>328
cygwinはオワコン
今はもっと楽にminttyだけ使える
0333デフォルトの名無しさん
垢版 |
2017/06/11(日) 21:28:43.41ID:/WpsuQpF
ユーチューバーは収入の仕組みが違う?!どっちが儲かるか?
http://youtube-youtuber.com/360.html

従来型のユーチューバーは、広告収入をメインの収入源としています
1.動画にのせる広告(動画広告+画像広告)からの報酬や
2.スポンサー収入(企業からの依頼を受けて商品を紹介)

海外のユーチューバーの傾向として、広告収入ではなく、自分のビジネスを
メインにすることによって広告収入を遥かに超える収入を叩き出しています。
例えば、beauty guru(美のカリスマ)と謳われる、ユーチューバーのミシェル・ファンは
広告収入は1800万得ていますが・・他方で美容化粧品会社Ipsyを立ち上げて、
年収1億ドル(約110億円)を売り上げました。
彼女は「メイクのチュートリアル動画」を投稿していますが、動画の中で自分の会社の商品を
使っているんです。
そしてその中で使った商品を、online shopで買える仕組みにしています。
他人の商品を紹介して、そこから「おこぼれ」を貰うより、自分の商品を売った方が
遥かに儲かりますからね。
リンジー・スターリングは踊りながら、バイオリンを演奏する、アーティストですが・・・
彼女の場合も、あくまでも動画を投稿するのは、自分のビジネスである、
ツアーチケットやアルバムの販売のためなのです
0334デフォルトの名無しさん
垢版 |
2017/06/11(日) 21:39:59.26ID:fc8MQVNK
ちょっと、スレ違いだけど
何でココの住人は親切なの?

リアルだと、自分で解決できないなら、自己責任&向いてない
で、切り捨て。
(有料なのは高すぎる上に、知りたい事聞いても、
1つの解決方法だけでコード説明とか、無し)

無料にも関わらずスレ住人が優しすぎて不安です。
随分前から、お世話に成ってるので書き込みました。
0335デフォルトの名無しさん
垢版 |
2017/06/11(日) 22:00:27.66ID:xkKn7Sms
質問に答えるの使命ともと思い込んでいるのだろう
お前のいうことも正しい
0338デフォルトの名無しさん
垢版 |
2017/06/11(日) 23:21:49.36ID:FIjF4G2p
>>327
Hyper-V、Docker、自宅のサーバ、VPS
でも、Windows上でPython動かすことも結構多い
0339デフォルトの名無しさん
垢版 |
2017/06/11(日) 23:28:36.36ID:W7KdIoyP
自分の知識ひけらかせるんだから教えるの好きな人も多いと思うけど
リアルだとそういう奴居てもウザがられてるんじゃねw
0341デフォルトの名無しさん
垢版 |
2017/06/12(月) 02:39:49.87ID:WeSyAxwl
Pythonの勉強がてらデータベースも使ってwebアプリ作ろうと思ってるんですが
Pythonはweb関連が苦手と小耳にはさみました
具体的にはどれくらい苦手なんですか?
0342デフォルトの名無しさん
垢版 |
2017/06/12(月) 08:57:42.36ID:jZcxOkDE
苦手ってことはないと思うが
ただ日本でWebに使っている人は少なし
人が少なしは情報が少なし
0343デフォルトの名無しさん
垢版 |
2017/06/12(月) 11:03:29.96ID:bV4n/B4Y
苦手っていうより、pythonのwebフレームワークがJavaやRubyやPHPのそれに比べて、普及してないってことだと思う。
なんでだろ?
重いのかな?
0344デフォルトの名無しさん
垢版 |
2017/06/12(月) 12:21:09.84ID:qtMRHbAW
railsみたいな目立つた成功例がないのとレンタルサーバーで必ずしも利用可能でないこと、2と3の移行のゴタゴタの影響と色々理由はあると思う
0345デフォルトの名無しさん
垢版 |
2017/06/12(月) 13:19:36.59ID:yuw+moiO
斎藤康毅のディープラーニングの本に意味が分からないコードがありました。

p.111

def f(W):
■■■■return net.loss(x, t)

net は simpleNet というクラスのインスタンスです。

このコードがさっぱり分かりません。

W がなぜ引数にあるのでしょうか?
0346デフォルトの名無しさん
垢版 |
2017/06/12(月) 18:38:21.92ID:yuw+moiO
↓このプログラムですが、ひどすぎないですか?
斎藤康毅のディープラーニングの本のコードです。

def softmax(x):
■■■■if x.ndim == 2:
■■■■■■■■x = x.T
■■■■■■■■x = x - np.max(x, axis=0)
■■■■■■■■y = np.exp(x) / np.sum(np.exp(x), axis=0)
■■■■■■■■return y.T

■■■■x = x - np.max(x) # オーバーフロー対策
■■■■return np.exp(x) / np.sum(np.exp(x))

def cross_entropy_error(y, t):
■■■■if y.ndim == 1:
■■■■■■■■t = t.reshape(1, t.size)
■■■■■■■■y = y.reshape(1, y.size)
■■■■■■■■
■■■■# 教師データがone-hot-vectorの場合、正解ラベルのインデックスに変換
■■■■if t.size == y.size:
■■■■■■■■t = t.argmax(axis=1)
■■■■■■■■■■■■
■■■■batch_size = y.shape[0]
■■■■return -np.sum(np.log(y[np.arange(batch_size), t])) / batch_size
0347デフォルトの名無しさん
垢版 |
2017/06/12(月) 18:39:18.66ID:yuw+moiO
def numerical_gradient(f, x):
■■■■h = 1e-4 # 0.0001
■■■■grad = np.zeros_like(x)
■■■■
■■■■it = np.nditer(x, flags=['multi_index'], op_flags=['readwrite'])
■■■■while not it.finished:
■■■■■■■■idx = it.multi_index
■■■■■■■■tmp_val = x[idx]
■■■■■■■■x[idx] = float(tmp_val) + h
■■■■■■■■fxh1 = f(x) # f(x+h)
■■■■■■■■
■■■■■■■■x[idx] = tmp_val - h
■■■■■■■■fxh2 = f(x) # f(x-h)
■■■■■■■■grad[idx] = (fxh1 - fxh2) / (2*h)
■■■■■■■■
■■■■■■■■x[idx] = tmp_val # 値を元に戻す
■■■■■■■■it.iternext()
■■■■■■■■
■■■■return grad
0348デフォルトの名無しさん
垢版 |
2017/06/12(月) 18:39:42.89ID:yuw+moiO
class simpleNet:
■■■■def __init__(self):
■■■■■■■■self.W = np.random.randn(2,3) #標準正規分布による 2x3 の行列

■■■■def predict(self, x):
■■■■■■■■return np.dot(x, self.W)

■■■■def loss(self, x, t):
■■■■■■■■z = self.predict(x)
■■■■■■■■y = softmax(z)
■■■■■■■■loss = cross_entropy_error(y, t)

■■■■■■■■return loss
0349デフォルトの名無しさん
垢版 |
2017/06/12(月) 18:40:13.16ID:yuw+moiO
x = np.array([0.6, 0.9])
t = np.array([0, 0, 1])

net = simpleNet()

f = lambda w: net.loss(x, t)
dW = numerical_gradient(f, net.W)

print(dW)


★★★★★★★★★★★★★
★↑の f がひどすぎる   ★
★★★★★★★★★★★★★
0351デフォルトの名無しさん
垢版 |
2017/06/12(月) 19:14:55.53ID:yuw+moiO
>>350

間違っていないというのは分かりますが、あまりにもひどすぎます。
こんなひどいコードは見たことがありません。
0352デフォルトの名無しさん
垢版 |
2017/06/12(月) 19:16:21.04ID:yuw+moiO
fxh1 = f(x) # f(x+h)

↑ここですが、

fxh1 = f(a)

とかでもいいわけです。
0353デフォルトの名無しさん
垢版 |
2017/06/12(月) 19:16:47.93ID:yuw+moiO
こんなひどいコードを公にするという神経が分かりません。
害悪以外の何物でもありません。
0354デフォルトの名無しさん
垢版 |
2017/06/12(月) 19:32:51.63ID:dNgrCKN8
女子高生の会話みたいに
「うんうん ひどいよね〜」
って言えばいいのか?
0359デフォルトの名無しさん
垢版 |
2017/06/13(火) 10:36:43.73ID:anZz52l+
名前で検索したら本人twitterやってるじゃん
なんで直接言えないの?
https://twitter.com/sylvan5
0360デフォルトの名無しさん
垢版 |
2017/06/13(火) 13:01:19.18ID:j1y+wOSX
学校の課題でどうぶつしょうぎを作れという課題があったのですがPythonでも作れますでしょうか?よかったら手順等も教えてもらいたいです
0362デフォルトの名無しさん
垢版 |
2017/06/13(火) 14:35:30.34ID:xSkuSP7H
自分で調べる前から他人に丸投げとかいいご身分ですね
情報系の業界には出てこないでくださいね
0363デフォルトの名無しさん
垢版 |
2017/06/13(火) 14:39:08.21ID:1le8E18Y
Pythonでも作れますかといわれたら答えはYesだが、GUIで駒の表示や移動もやりたいのなら、最初からJavaScriptかなんかで書いたほうが楽かもな
何を求められてるのかもっと明確にしないと答えようがない
0364デフォルトの名無しさん
垢版 |
2017/06/13(火) 15:50:58.33ID:G30+7Gz/
まあ申し訳ないけど自分で作れるかどうかが判断つかないレベルの人に1から手順を教えるのは難しいよ
プログラミング初学者向けのpython本でもGUI解説してる本もあるしそういうの読んでみたら?
0365デフォルトの名無しさん
垢版 |
2017/06/13(火) 15:55:16.54ID:Nwy/CUl5
■■■■■■■■ 君は何がしたいの?
共感が欲しいの?

質問が解らない
ディープラーニングの本は画像をメインに取り扱ってる
 アマゾンのサンプルで書いた通りに
初心者に[入門 Python 3] と[コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方]
で良いんじゃない?
0366デフォルトの名無しさん
垢版 |
2017/06/13(火) 16:01:14.48ID:Nwy/CUl5
>>360
学校で習った通りに作れば良いんじゃない?
未だ、6月なのに、その調子で学校は大丈夫?

動物将棋は難しいよ……どの環境かは知らないけど、C#/C++に組み込み可能
webブラウザでも動かせる。どちらにせよ、GUIの所はpythonのみじゃかなり難しい
学校で習った環境で作ったら?
0367デフォルトの名無しさん
垢版 |
2017/06/13(火) 16:28:28.48ID:Nwy/CUl5
>>360
少なくないお金払ってるなら、学校の教師に聞けば?
なんで、2chで聞こうと思ったんだ?
2ch住民より、頼りにならない教師って存在価値あるのか?

専門学校に入れなかった奴が、学校に入って、課題出された妄想でもしてんの?
0370デフォルトの名無しさん
垢版 |
2017/06/13(火) 23:17:29.58ID:N8Z0wsP+
超サオこき遅すw
0372デフォルトの名無しさん
垢版 |
2017/06/14(水) 07:55:53.66ID:N+GzyHeS
中学生級の反応かっけえぇ
0373デフォルトの名無しさん
垢版 |
2017/06/14(水) 09:09:30.06ID:iu9KksQ5
超高校生級の自分が質問いいっすか?
ステートマシンやってみたいんだけど、説明聞いても実際のコードがよくわからない
c言語とかで書かれた簡潔なサンプルコードがあるんだけど、c言語は読めない
ちょっとpythonで、すごいシンプルなコード書いてみてもらえないでしょうか?
0379デフォルトの名無しさん
垢版 |
2017/06/14(水) 12:49:11.98ID:pq4tRhVl
>>375
お前は本当につまらん人間だな
0381デフォルトの名無しさん
垢版 |
2017/06/14(水) 15:26:33.38ID:Z39eFdd/
モニター2枚のスクリーンショットをPNGでメモリに一時保存して一括で書き出したいけどどうすればいい?
ちなみに、以下コードだとメインディスプレイしか保存されないです・・・

import sys
import _thread
import time
import pyautogui

files = []
files_count = 300
f = pyautogui.screenshot()
for n in range(files_count):
□□□files.append(f)
for count in range(files_count):
□□□files[count] = pyautogui.screenshot()
□□□time.sleep(1)

for num in range(files_count):
□□□print ("Output" + str(num))
□□□files[num].save( str(num) + '_screenshot.png' )
0382デフォルトの名無しさん
垢版 |
2017/06/14(水) 16:50:46.81ID:UPtaGG3w
pycryptoの組み込みがうまくいきません
pip installなどから試してみると
error C2061: syntax error: identifier 'intmax_t
のようなエラーが出てしまいます。
0384デフォルトの名無しさん
垢版 |
2017/06/14(水) 17:05:04.27ID:RDy3EGSB
アホはOSとpythonのバージョンも書けないからな
0385デフォルトの名無しさん
垢版 |
2017/06/14(水) 17:36:53.72ID:UPtaGG3w
てめーらみてーなネット弁慶にゃ聞かねーよタコ
自己解決したわカスが
(提示する情報が不足していました。なんとか解決したのでもう大丈夫です。お騒がせしました)
0386デフォルトの名無しさん
垢版 |
2017/06/14(水) 17:37:36.36ID:Z39eFdd/
>>381
自己レス

http://e-yuki67.hatenablog.com/entry/2017/02/12/152759
SCREEN_WIDTH = 2160
SCREEN_HEIGHT = 1440
を自分の持っているモニターサイズに書き換えることでで解決しました。

ただ、データがビットマップ形式のため巨大すぎてメモリを食いつぶしてしまう
メモリ上でPNGなど適度に圧縮する方法ご存じの方ら居れば教えて下さい。
宜しくお願い致します。
0387デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:06:13.81ID:svS3l+Hp
もう画像に対して処理をしないならファイルに書き出しちゃえばいいじゃん
どのみちpngのまま処理はできないよ

やりたいならBytesIOを使って疑似的にファイルをメモリ上に作ってそこにsaveするとかでできるんじゃね
0388デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:26:26.92ID:Z39eFdd/
>>387
ありがとうございます。

今までベクターにあるWin Shotというソフトでpngを1秒毎にRamDisk書き出し5分よりも古いデータは他のソフトで削除していました。
ただ、RamDiskといえどもI/Oに負担が掛かるのか、ディスプレイを4Kにしてから録画データが音ずれるようになりました。
そこで、RamDiskも不要になりますし、この際全てメモリ上で作成し、必要な時だけ書き出して確認しようと思った次第です。

BytesIOですか、、、調べてみようと思います。
0389デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:32:31.21ID:Z39eFdd/
やってる内容はスクリーンショットを連続して撮っていればうっかり、
ブラウザなど閉じてもそれまで見ていた内容や書いていた内容など
超短期のバックアップになり結構便利だと思うのですが誰も作っていませんよねー
0390デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:41:28.17ID:BnVWKrB9
>>389
ブラウザとか普通履歴参照する。1秒おきに連写するとか普通いない、そういう用途なら録画の方が向いてるんじゃないの?
0391デフォルトの名無しさん
垢版 |
2017/06/14(水) 18:50:19.66ID:Z39eFdd/
>>390
例えばBBS書き込み中にうっかり閉じてしまった場合、それまで書いていた内容が消えたりするしそのバックアップ
他にもブラウザバックでは表示されない1IP1回表示の広告とかちょっと確認したり使い始めると意外と便利で手放せない感じなんだわ
こういうのは履歴では辿れないし・・・
録画ソフトはスクリーンショットを1秒どころか連続で取得するわけだろうしかなり重たいんじゃなかろうか?
0392デフォルトの名無しさん
垢版 |
2017/06/14(水) 19:11:50.38ID:GUKOG2fp
行列プログラマーという本で使われているグラフをプロットする関数ですが、
SVGタグで直接プロットデータがhtmlファイルとして出力されてしまいます。
これを画像ファイルに変換したいのですが、SVGタグのデータを読み取って
pngとか他のファイルに変換するにはどうすればいいでしょうか?
039696
垢版 |
2017/06/15(木) 01:09:09.32ID:t/snn0u+
以前はお世話になりました。
趣向を変え、音声データ変換ソフトを作ることはできないかと調べてみたのですが、
わからないことがあるので教えていただきたく。

http://aidiary.hatenablog.com/entry/20111001/1317441171

上記ページでmatplotlibというライブラリを使ってスペクトログラムを描画しているのですが、
任意の時間・周波数帯における強度(重み?)を、数値として取り出すことはできるのでしょうか。
最終的に、任意の周波数帯について時間-強度変化をエクセル等にcsv形式で数値として出力したいと考えています。
0398デフォルトの名無しさん
垢版 |
2017/06/15(木) 11:49:06.40ID:jiI/lDMd
https://github.com/GoroSatake/coding-the-matrix/blob/master/Chapter04.ipynb

上のノートブックをRun Allすると
In [30]でエラーが発生するんだけど、なんで?

Run Allじゃなくて

from mat import Mat
from matutil import coldict2mat
from vecutil import list2vec

をIn [30]に書き加えてIn [30]のところのセルだけ実行すると
問題ない。
0399デフォルトの名無しさん
垢版 |
2017/06/15(木) 11:56:07.49ID:jiI/lDMd
mat.py自体にはバグはなさそうな感じです。
0400デフォルトの名無しさん
垢版 |
2017/06/15(木) 17:48:45.80ID:Emed4SrA
「python import from」で検索!

「from」の後にモジュール名、
「import」の後にクラス名という指定方法です
0402デフォルトの名無しさん
垢版 |
2017/06/15(木) 19:50:56.17ID:GP7vTZM5
>>293を書き込んだ者です。何度もすみません。
例外について本番でログを取りながら対処していこうと考えたのですが、例外のログを取る方法について、
try:
main()
except Exception as e:
logfile.write(e.message)
このようなメイン処理を全部括るような例外処理は良くないのでしょうか?
0403デフォルトの名無しさん
垢版 |
2017/06/15(木) 20:03:14.70ID:Oi/wLxJH
>>402
良くなくはないけどどうせスタックトレースでるから無駄といえば無駄だけど習慣としては決して良くなくはない
0404デフォルトの名無しさん
垢版 |
2017/06/15(木) 20:10:55.65ID:GP7vTZM5
処理速度などの面ではどうなんでしょう?
try:exceptで巨大なコードを囲んでも影響はありませんか?
0405デフォルトの名無しさん
垢版 |
2017/06/15(木) 20:18:06.00ID:Oi/wLxJH
>>404
try:exceptの処理コストが一定であるとき
それに囲われるコードが巨大なときとちっさいときではどちらが影響が大きいと思うか
要はお前がどう考えるか次第じゃなくなくね?
0406デフォルトの名無しさん
垢版 |
2017/06/15(木) 20:24:57.15ID:GP7vTZM5
うーむ確かに…。そもそもpythonなんだから速度を求めるのもなんか違うような気がしてきました。
この方法でやってみます。ありがとうございます。
0407デフォルトの名無しさん
垢版 |
2017/06/15(木) 20:37:35.41ID:pGC+vioJ
forでイテレータを回すと確実に例外がスローされているような言語では
そんなものは些細な違いだ
0408デフォルトの名無しさん
垢版 |
2017/06/16(金) 10:54:17.48ID:ruTBrOVX
Jupyter notebookを使っています。
anacondaの最新バージョンを入れたら、

以前は、

%load 'filename.py'

でロードできていたのに、

%load filename.py

としないとダメになったようです。

仕様変更がありましたか?
0409デフォルトの名無しさん
垢版 |
2017/06/16(金) 11:44:24.32ID:+q2lAfWN
コミットログを調べましたか?
jupyter notebookを過去のバージョンに戻しても再現するか試しましたか?
人に聞く前に調べたり試しましたか?
0410デフォルトの名無しさん
垢版 |
2017/06/16(金) 15:42:14.95ID:JCU5G2lb
そんなもん調べられる奴は超初心者じゃないわな
0411デフォルトの名無しさん
垢版 |
2017/06/16(金) 20:06:43.83ID:hyI1xdQt
一通り、pythonの入門本3冊ぐらい終えて
エディタでボタンを表示するプログラムを作ったりclassを定義したりする練習から
いよいよwebアプリを作りたい!と思いいろいろ調べたけど、
webアプリのpython入門本はほとんど見つからず・・・

ネットで調べてみたらwebフレームワークってのからアプリを作れると書いてあり、
その数少ないフレームワークのチュートリアルブログを読んでみたのですが
いきなり高度な専門用語ばかりで全く理解できませんでした・・・。

以下参考にしたやつです
https://docs.djangoproject.com/ja/1.11/intro/install/

もしかしてpythonでwebアプリを作るのってめちゃくちゃ高度なことなんでしょうか・・・?
0412デフォルトの名無しさん
垢版 |
2017/06/16(金) 20:44:25.60ID:3VqLaUPK
どんな用語が理解できんのかしらんけど、入門本三冊もやったのならググりながらでもそのチュートリアル進めてみたらいいんじゃないかな
0413デフォルトの名無しさん
垢版 |
2017/06/16(金) 20:48:57.44ID:o2IkWXmG
python関係なくwebやるにはwebの知識が必要ってことじゃね

特にdjangoは巨大なフレームワークだからuiデザインパターンやデータベースまで理解していないとワケわからんってなると思う

webの知識がどの程度あるのか分からんけどいきなりフレームワーク使うんじゃなくてpython使ったcgiとかからやってみては?
0416デフォルトの名無しさん
垢版 |
2017/06/16(金) 20:54:13.30ID:3VqLaUPK
じゃあ、Webアプリを作るんじゃなくてWebアプリを叩く方からつくってみるとか
0417デフォルトの名無しさん
垢版 |
2017/06/16(金) 20:57:37.44ID:hyI1xdQt
ありがとうございます。
まず、用語以前に何を何の目的でor概念のレベルで挫折しています・・・

具体的には
開発用サーバー、ビュー作成、Databaseの設定、モデルの作成・・・etc

入本門には全く出てこなかった概念です。
include()だの、url()引数だの、専門用語を調べたところで今何をしてるのかが掴めません・・・
0418デフォルトの名無しさん
垢版 |
2017/06/16(金) 21:01:38.09ID:hyI1xdQt
>>413
CGI・・・ そんなものがあるのですね!
web知識はhtmlぐらいしかありません・・・
とりあえず、djangoは当分理解できそうにないので、
他の道から勉強していきます・・・
0419デフォルトの名無しさん
垢版 |
2017/06/16(金) 21:10:20.08ID:3VqLaUPK
CGIよりはWSGIかな
0423デフォルトの名無しさん
垢版 |
2017/06/16(金) 22:30:18.84ID:CqDhJw2l
packtのFree learningでもらったFlask by exampleもわかり易かった
オライリー本の著者のブログFlask mega tutorialやPycon 2015でのハンズオンセッションがYoutubeに上がってるからそれも良いね
せっかく色々な事が簡単に行えるフレームワークがあるのにcgiなんてやらんで良いだろ
0424デフォルトの名無しさん
垢版 |
2017/06/16(金) 22:41:47.01ID:CqDhJw2l
ごめん見たのはPycon 2014の方だ。これはオライリー本の内容をそのままなぞった感じ
ちょうど本が出版されたのと同時期だと思う
0425デフォルトの名無しさん
垢版 |
2017/06/16(金) 23:11:09.37ID:hyI1xdQt
>>422
javaやCの複雑な構文が嫌で、pythonはとにかく簡単なのと
入門本にはYouTube、インスタ、facebookなどの企業が採用してて
webアプリが得意分野の一つと書いてあったけど違うのかね

やっぱりPHPとかrubyでやるべきなんですかね...
0427デフォルトの名無しさん
垢版 |
2017/06/16(金) 23:22:09.66ID:5+lSiOz0
>>426
Matzさんご苦労さまです!
0428デフォルトの名無しさん
垢版 |
2017/06/16(金) 23:31:11.08ID:3VqLaUPK
>>425
Webアプリなら、Hypertext Transfer Protocolとかいうやつ勉強するといいですよ!
0430デフォルトの名無しさん
垢版 |
2017/06/17(土) 00:16:28.23ID:ve68DuZ3
djangoの利点はフルスタック故に必要な基礎知識とか関連知識が漏れなく身につくところ
0431411
垢版 |
2017/06/17(土) 00:26:33.68ID:Bw3Duqsw
みなさんありがとうございます。
CGI python でぐぐったらいくつかチュートリアル記事が見つかり、
それでやってみたらとても簡単に仮想webアプリができました!
やっと、スタート地点に立てたと思いたいですね... 助かりました
0432デフォルトの名無しさん
垢版 |
2017/06/17(土) 03:56:40.01ID:6ZsEicxF
100分くらいのhoge.mp3がありまして
3分毎に無劣化分割してhote-001.mp3を作って
hogeという新フォルダーに保存したいのですができますでしょうか
0433デフォルトの名無しさん
垢版 |
2017/06/17(土) 03:58:28.08ID:6ZsEicxF
(誤字修正)
100分くらいのhoge.mp3がありまして
3分毎に無劣化分割してhoge-001.mp3を作って
hogeという新フォルダーに保存したいのですができますでしょうか
0434デフォルトの名無しさん
垢版 |
2017/06/17(土) 04:07:53.51ID:pi4driob
たのしいRuby 第5版、2016

改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015

実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014

掌田津耶乃だったかな?
Rails 5 とか、Java の Spring の本を書いていたかな?
0436デフォルトの名無しさん
垢版 |
2017/06/17(土) 09:00:18.52ID:EPZv/UL4
>>425
日本じゃ日本製スクリプトってのもあってRoRが主流。
英語だったらPythonでWebアプリの入門書やそういうサイトはいくらでもある。

マジで英語読めるとまでは言わんが、英語のサイトも読むの抵抗無いくらいじゃないと世界から取り残される。
コードだけは世界共通なんだから、大体何関係のサイトか把握出来れば何とかなる。
0437デフォルトの名無しさん
垢版 |
2017/06/17(土) 17:22:19.99ID:djIDjpKU
長文です。
0を潰して、6に置き換えたい。

コード
https://ideone.com/GBTCAY


今の結果
[[(6, 6, 6), (6, 6, 0), (6, 6, 0)]]
[18, 12, 12]


求める結果
[[(6, 6, 6), (6, 6, 6), (6, 6, 6)]]
[18, 18, 18]


親切な人、指摘をお願いします。
0440デフォルトの名無しさん
垢版 |
2017/06/17(土) 22:23:30.92ID:djIDjpKU
皆、忙しいとか?
0443デフォルトの名無しさん
垢版 |
2017/06/17(土) 22:39:14.26ID:uqrKkhPk
長すぎるとめんどくさいんじゃない
ちなおれはパッとみでわからんかったんでそっ閉じ
0445デフォルトの名無しさん
垢版 |
2017/06/17(土) 23:09:08.34ID:uqrKkhPk
もっと質問あってもいいと思うけど
どこでみんなわからんこと聞いてるんだろ
0448雪風
垢版 |
2017/06/17(土) 23:37:15.89ID:djIDjpKU
えーーww
 ┌(_Д_┌ )┐
0449雪風
垢版 |
2017/06/18(日) 00:28:08.80ID:jP3pD4OM
質問しても、解答が無かったので荒らして良いですか ┌(_Д_┌ )┐
┌(_Д_┌ )┐ ┌(_Д_┌ )┐

    ┌(_Д_┌ )┐

┌(_Д_┌ )┐ ┌(_Д_┌ )┐
0453俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/06/18(日) 10:49:06.22ID:jP3pD4OM
日曜だから、人来て草ww  俺も会話に参加したい。
でも、荒らしたい。

う〜ん。「くまったくまった」
0454デフォルトの名無しさん
垢版 |
2017/06/18(日) 17:13:42.67ID:6SL4M4yu
ProcessPoolExecutorを使ってphantomjsでクロールした結果をデータフレームにして
受け取っているんですが、クローラー側がエラー止まってしまい最後まで終わりません。
クローラー(定義した関数)には@timeout_decorator.timeout(60)を設定してありますし
webdrivr自体のタイムアウト処理も設定してあります。
こういった場合はどのように対処すればよろしいでしょうか?

executor = ProcessPoolExecutor(max_workers=5)

futures = [executor.submit(crawl,url) for url in airticle_url_df['URL']]
N = 0
for future in concurrent.futures.as_completed(futures):
↑ここのfor文でクローラーが終了しないので結果をずっと待つことになる。
try:
N += 1
print(N)
tmp = future.result(60)
if len(tmp)!= 0:
ad_result = pd.concat([ad_result,tmp])
except:
pass

executor.shutdown()
0456デフォルトの名無しさん
垢版 |
2017/06/18(日) 19:09:24.05ID:9lFiugw2
hoge.py
の中で
関数をdef mofu(a)します。
デバッグのために引数を入れてlinuxの端末からこの関数を実行したい時ってどうしますか?
0460デフォルトの名無しさん
垢版 |
2017/06/19(月) 23:02:45.23ID:rsj2RWOl
pythonで初心者が簡単なiosアプリを作るまでにはどうやるのがベストですかね?
0461デフォルトの名無しさん
垢版 |
2017/06/19(月) 23:08:14.51ID:BW5wWpcZ
>>454
そういうものって、たいてい非同期だろ。
そんな同期のような書き方で、プログラミングできるのか?

JavaScriptだと、promise, deferred とかになる
0462俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/06/19(月) 23:21:14.95ID:bnRXUPcP
>>460
Kivy

むしろ、逆の様な気もする。
python自体がアプリ認識で、スマホ上で操作を便利にする感覚に近いかな?
0464デフォルトの名無しさん
垢版 |
2017/06/19(月) 23:59:49.07ID:rsj2RWOl
>>463
せっかくpythonで勉強したし、pythonで動かしてみたい
初心者にはまだ速いかな?
046696
垢版 |
2017/06/20(火) 00:45:05.91ID:RsNCz7Uy
度々すみません。
http://aidiary.hatenablog.com/entry/20111001/1317441171
に習って、とりあえず動かしてみました。(__.waveは適当な音源)

import numpy
import wave
from pylab import *

if __name__ == "__main__":
wf = wave.open("___.wav", "rb")
data = wf.readframes(wf.getnframes())
data = frombuffer(data, dtype="int16")
length = float(wf.getnframes()) / wf.getframerate() # 波形長さ(秒)

N = 512
hammingWindow = np.hamming(N)

pxx, freqs, bins, im = specgram(data, NFFT=N, Fs=wf.getframerate(), noverlap=0, window=hammingWindow)
axis([0, length, 0, wf.getframerate() / 2])
xlabel("time [second]")
ylabel("frequency [Hz]")
show()

当然、上記ウェブサイトと同様にスペクトログラムは表示されるのですが、
任意の時間、周波数における信号強度を画像(色)ではなく数値として取り出すにはどうしたら良いでしょうか。
もっというと、周波数をある値に固定して、その時間-強度変化を取得したいのです。

pxxが信号強度かと思いprintしてみましたが、二次元配列が出力されるだけで、よく理解できず・・・。

ご教示いただければ幸いです。
よろしくお願いいたします。
0467デフォルトの名無しさん
垢版 |
2017/06/20(火) 08:55:26.45ID:+AWlrcIl
ディクショナリーに、100万件とか1000万件のデータを格納するって普通のことですか?

具体的には、会員分析で、顧客番号をキーにしようと思ってます。

※pandas使えとかはなしで。
0468デフォルトの名無しさん
垢版 |
2017/06/20(火) 09:19:54.83ID:F/o5mMD4
>>466
そのコードがあって理解できないとか終わってんな
宿題か学生の研究か知らんけど、お前には向いてない諦めろ
0471デフォルトの名無しさん
垢版 |
2017/06/20(火) 11:00:31.31ID:dJ4Ib7Ez
1000万件ほどのcsvデータを渡された時、
みんなどうしてるのかなと思って。

標準ライブラリしかなく、わざわざDBに格納するのも面倒なのでね。

ご意見ありがとう。
でも辞書でいきます。
0472デフォルトの名無しさん
垢版 |
2017/06/20(火) 11:09:16.68ID:c5g8mlUh
お、そうだな
0473デフォルトの名無しさん
垢版 |
2017/06/20(火) 12:24:34.93ID:gyJ3zpc0
>>471
とりあえず読み込んでみて処理させてる間に高速化や効率化の方法がないか考える
思いつく前に処理が終わればそれも良し
0474デフォルトの名無しさん
垢版 |
2017/06/20(火) 12:25:12.13ID:PW/vl+jd
【悲報】馬鹿のアドバイス、シカトされる
0475デフォルトの名無しさん
垢版 |
2017/06/20(火) 12:47:28.92ID:5s5M5H6z
>>473
なるほど
0476デフォルトの名無しさん
垢版 |
2017/06/20(火) 13:04:45.87ID:LT/bq87Z
>>466
pxxは描画される2次元のグラフを2次元配列にいれてるだけ

てか単なる関数の使い方はまず公式のリファレンスを見よう
https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.specgram

つまり時刻t[t_idx]での周波数f[f_idx]の成分がspectrum[f_idx][t_idx]ってことだろう

俺はこのライブラリは使ったことはないがリファレンスみりゃ使わなくてもわかる
なのでまずはリファレンスを見ましょう
0477俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/06/20(火) 15:37:55.69ID:jPjAABDm
会員分析で、顧客番号をキー(履歴も残すと考えて)
辞書じゃ処理的に無理が来るんじゃない?

種類A〜上限(1000~2000件)管理番号1〜200隔離で区切って、それぞれ格納
それから、使用頻度で 種類ごとの 上位へ

csvデータなら、面倒だけどエクセルに入れて、別形式で取り出して、再加工したら?
1000万件の一斉ソート(探査)だと、メモリとCPU管理必要かな?

10万〜30万件 ぐらいでフリーズしない?
0478デフォルトの名無しさん
垢版 |
2017/06/20(火) 16:47:25.88ID:I+uIvKHM
l=[[240,550,"あ"],[260,545,"い"],[280,547,"う"],[240,647,"か"],[260,655,"き"],[280,650,"く"]]
上記の様な配列を数値部分の値を元に「あ、い、う、か、き、く」となるようにソートしたいのですが、どのようにしたら良いのでしょう?
(2番目の数値の誤差を指定範囲で許容するソート)
0479俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/06/20(火) 18:55:15.20ID:jPjAABDm
>>478
数値部分が2つ有るよ
 どこの数値を基準にしてる?
2番目の数値の誤差って何?
 どのように許容するの?
望む、出力結果はどんな形になる?

数値の値を元にしたら、「あいうかきく」にはならないんじゃ無いかな?
[あ 240] と [か 240] が衝突しない?

l配列のl[n][0]を基準にしてソートを行い、l[n][1]が許容範囲になる数値?
どんな計算方式でソート結果を出したいの? 基準値+許容範囲?
0480デフォルトの名無しさん
垢版 |
2017/06/20(火) 19:42:30.03ID:WO1V62GS
>>471
行ごとに読み込みながらですめばそれでok

ソートとか入るならDBに突っ込む
SQLiteは結局メモリ処理になりそうだから駄目かも知れんね
0481デフォルトの名無しさん
垢版 |
2017/06/20(火) 19:42:30.52ID:M9InSE7Z
>477
回ったよ。

ざっくりメモリ量を推計すると、
10000000会員×8バイト(変数長)×10変数
=0.74ギガ

まあメモリにはのる気がします。
ちなみにpandas使ってもメモリの問題は辞書と変わらない気がしますが、辞書はメモリ効率悪いのですか?
0482デフォルトの名無しさん
垢版 |
2017/06/20(火) 19:43:19.37ID:M9InSE7Z
471
あざーす。
0483デフォルトの名無しさん
垢版 |
2017/06/20(火) 20:36:59.64ID:jPjAABDm
>>481
その計算方式 合ってるけど、間違ってるよ。
実際に回したら分かるけど、内部はソレで良いけど、外部の計算が無いんじゃない?

ガーベージコレクションの影響で一時的に重くならない?
メモリリークが起きた場合に再起動できない場合とか考えてる?
1000万件のデータを扱うなら、気安く再起動できないんじゃない?

あと、ちょっと遅い
 (俺が話してるのは webの話だけど。)
0484デフォルトの名無しさん
垢版 |
2017/06/20(火) 21:03:31.57ID:pPHD0ZXr
(なんとなくメモリの心配した方がデキる人っぽいから…)
0486デフォルトの名無しさん
垢版 |
2017/06/20(火) 21:09:32.30ID:eFPHXaQL
まあ実際、分析用途だと特にメモリがボトルネックになるんだよ。

SASみたいに、メモリに乗せない(それでいてある程度高速)で処理できるライブラリないのかな?
0487デフォルトの名無しさん
垢版 |
2017/06/20(火) 21:11:47.77ID:jPjAABDm
ごめん、勘違いしてた。忘れてくれ(笑)
読みなおしたが何言ってるのは不明w
0489デフォルトの名無しさん
垢版 |
2017/06/20(火) 22:37:46.30ID:zvrJQkfX
urllib.request.urlopen()関数で開いたWebページが実際にはリダイレクトされてる場合、
リダイレクト先のURLに非ASCII文字が含まれているために
改めて関数内部でGETする際に 'UnicodeEncodeError' になるんだけど、
これは対処方法はないかなぁ。

【GYAO! MUSIC LIVE】椎名林檎 最新LIVE厳選集!
リクエストしたURL: https://gyao.yahoo.co.jp/player/00101/v13809/v0871400000000548615/
実際のURL    : https://gyao.yahoo.co.jp/music-live/player/sheenaringo%E2%80%8B
※配信終了日:2017年6月22日

"%E2%80%8B" はゼロ幅スペース文字ということで、サイト制作時のミスだよね。
文字化けするかもしれないので、大文字では sheenaringo の後に "%E2%80%8B" でよろしく。
0490478
垢版 |
2017/06/21(水) 08:59:04.72ID:sVQKO9TS
>>479
ただ2番目の数値は547-550の範囲、647-655の範囲で各々同一値として扱い
1番目の数値の順番でソートしたいのです。
望む結果は>>478の通りです。
0491デフォルトの名無しさん
垢版 |
2017/06/21(水) 13:24:23.84ID:Qj7QlmB0
あーっとね
説明しなくていい(どうせ正確じゃないから)
入力と出力をPythonのコードで示して
0492デフォルトの名無しさん
垢版 |
2017/06/21(水) 13:59:24.39ID:YF64DZs8
0.00001が1e-5って表示されるのは何でですか?
0.00001って表示させる方法ないですか?
0495デフォルトの名無しさん
垢版 |
2017/06/21(水) 16:58:24.83ID:+vBL1MVS
>>494
うーん・・・・
"%f" % 0.00001
> '0.000010'

"%f" % 0.0000001
> '0.000000'

"{}".format(0.00005)
> 1e-05
0497デフォルトの名無しさん
垢版 |
2017/06/21(水) 21:04:22.89ID:0b3SfvhC
配列内の数値を探すプログラム

困ってる点
indexを使用したら、エラーが帰って来ます。

list=[1,1,0,1]
for i in range(len(list)):
list[i].index(0)

結果 エラー
AttributeError: 'int' object has no attribute 'index'

対応の仕方は有りませんか?
0499デフォルトの名無しさん
垢版 |
2017/06/21(水) 21:09:35.02ID:v/p+kQSo
>>497
なにがしたいのか分からん
配列内で0が最初に出てくるインデックスを知りたいならlist.index(0)だけだが
0501デフォルトの名無しさん
垢版 |
2017/06/21(水) 21:38:51.47ID:0b3SfvhC
>>499
ありがとうございます。
簡単な記述ミスでした。
0502デフォルトの名無しさん
垢版 |
2017/06/21(水) 21:39:30.32ID:0b3SfvhC
>>498
ありがとうございました。
0503デフォルトの名無しさん
垢版 |
2017/06/22(木) 09:24:56.34ID:r6gWLAjs
>>500


"%f" % 0.0000001
> '0.000000'

これじゃ困るんですよ
0504デフォルトの名無しさん
垢版 |
2017/06/22(木) 10:05:02.76ID:xx9+2MGz
>>503
コンピュータ内の少数の表現方法知れば分かるが
2進数では例えば0.1とか0.000001は正確には表せない、もっと言うと正確に表すには無限の桁が必要になる
なので0.1って書いてもコンピュータ内では正確に0.1ではなく、それを厳密に10進数に戻しても例えば0.1000000000001みたいになるだけ

なので原理的に有効桁を指定してどこかで桁を切らないと意味ある10進数表現は得られない

%fだけ指定するとデフォルトで少数点以下6桁までを有効桁にするのでそうなる
それ以上の精度が必要ならそれを自分で明示するだけ
0505デフォルトの名無しさん
垢版 |
2017/06/22(木) 13:51:49.94ID:F+5P0HPN
python3はじめたんだけど、テキストエディタに書いた文をpythonにドラッグドロップしてもinvalid syntaxって出て反映されない
同じ文を直接打ち込むと反映される
どうして?
0508デフォルトの名無しさん
垢版 |
2017/06/22(木) 16:51:30.20ID:nC3mvJqL
全く問題ない。@Mac OS X
エラーがおきそうなパターンをいくつか試したが、invalid syntaxを出す事自体が難しい。

>>506のをそのままドロップしても駄目?
0511デフォルトの名無しさん
垢版 |
2017/06/22(木) 17:26:08.06ID:+s9bYYLy
整数って考えてみたら0001なら1、0010なら2、0011なら3みたいになるからそれは起こりえないか
でも、内部処理でこれをやれば、小数点でも問題なく表現できるんじゃない?
そう言えば、このバグと同じ原理かも知れないが、Excelもアップデートしないと間違った値返してたよな
0514512
垢版 |
2017/06/22(木) 18:13:46.12ID:VeGokZwW
すいません質問撤回します
別のパソコンだと出来たんで、プログラムじゃなく個別の環境の問題らしいっす
お騒がせしました
0515デフォルトの名無しさん
垢版 |
2017/06/22(木) 19:51:54.17ID:a60c/QM7
tkが入ってないとか?
端末(コマンドプロント)から入力
pip install tk
pip install Tkinter

ソースへ
import tk
import Tkinter

pipが入ってないと実行できないかも
0517デフォルトの名無しさん
垢版 |
2017/06/22(木) 20:41:20.06ID:mES4Yfh4
>>511
そう言うのは10進少数とか何だったか忘れたが、速さより正確さ重視の金融系とかで使われる。
0518デフォルトの名無しさん
垢版 |
2017/06/22(木) 21:04:29.84ID:SwSvr5eO
>517

python なら、decimal パッケージだね。標準ライブラリに入ってる。
COBOLも、十進小数の扱いが得意なんだっけか。
0521デフォルトの名無しさん
垢版 |
2017/06/22(木) 21:41:24.42ID:Q2JZu1ra
超初心者向けの本を教えてくれー
0524デフォルトの名無しさん
垢版 |
2017/06/22(木) 23:03:44.39ID:Y4Uj4GH4
>>517
プログラミング以前の問題としてお金の計算には絶対に少数は使うなって教わったんだがどういう用途で使うの?
0525デフォルトの名無しさん
垢版 |
2017/06/22(木) 23:18:59.86ID:a60c/QM7
>>521
どうしても、紙媒体にしたいなら、
 公式サイトからドキュメントを自宅のプリンターで印刷

Python 3.6.1 ドキュメント(日本語版,英語版)どちらでも
https://docs.python.jp/3/

>>524
為替とか株の数値だと思ったが、消費税とかを不正に操作する場合は
あえて、小数点の使う。後は普通に9円,10円の消費税を切り上で計算しない場合
0526デフォルトの名無しさん
垢版 |
2017/06/22(木) 23:33:52.12ID:YBs7nCvC
金利計算なら小数を扱うだろう?
犯罪になったのは、それで小数点以下だったかの端数を自分の口座に入れたら億万長者になってバレたって話だったと思う
0528デフォルトの名無しさん
垢版 |
2017/06/23(金) 00:08:50.45ID:mV7/Pm52
>>527
それは言われてるな
当たり前
それにお金の計算は浮動小数点を使うほど金額の大小の差があるわけじゃないからね
固定小数点のほうが楽
0529デフォルトの名無しさん
垢版 |
2017/06/23(金) 01:06:55.50ID:JWcoHIe2
>>526
金利はもちろん少数だけどお金は絶対切り捨てなきゃだめだってことでしょ。
金持ちになったからばれたんじゃなくて異常なトラフィックがある口座でばれたんだったと思う。
一回の取引で0.5セント端数が出るとして一万取引分頂戴しても50ドルにしかならんw
0530デフォルトの名無しさん
垢版 |
2017/06/23(金) 01:28:43.40ID:JXoHAcYz
Pythonではじめる機械学習
――scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

難しすぎて、分かんない。

どうしたら良いですか?
0532デフォルトの名無しさん
垢版 |
2017/06/23(金) 03:29:20.11ID:MrfDRjZ/
>>505-506です

テキストエディタに書いてUTF-8、名前をhello.pyにして保存してドロップドラッグしてenterを押すとinvalid syntaxになります
直接打ち込むとちゃんと表示されます
二台のPCで試したら両方とも同じようになりました
0533デフォルトの名無しさん
垢版 |
2017/06/23(金) 07:51:31.31ID:tdHTYauf
TeraPad などでは、BOM無しUTF-8を、UTF-8N と呼んでる。
UTF-8 は、BOM付きだから、ダメ

メモ帳は、BOMが付くから、使うな
0534デフォルトの名無しさん
垢版 |
2017/06/23(金) 08:02:19.39ID:D30d8Kce
>>529
トラフィック?
それを言うならトランザクションだろ
無理してよく理解してない言葉使うなよ w
端数をちょろまかせて自分の口座に振り込むようにしたのはプログラマーだからトランザクションを記録するとかアホなことはしてないと思うぞ
ちなみにこういう手法は俗にサラミ法って言われてIT-Passport試験とかにもでるらしい
0535デフォルトの名無しさん
垢版 |
2017/06/23(金) 08:42:25.90ID:PRGznpyC
>>533
BOM付きで何がダメなんだい?
Python2だろうが3だろうが、コンソールがcp932だろうがcp65001だろうが
UTF-8-BOMでエラーなんて出たことないよ
0536デフォルトの名無しさん
垢版 |
2017/06/23(金) 08:58:47.33ID:enTAZ2iT
>>533
意味が分かった。>505-506のでは全然説明できてないから。
頭に「python 」(python +半角スペース)入力してからドロップしろ。
0537デフォルトの名無しさん
垢版 |
2017/06/23(金) 09:07:39.97ID:mV7/Pm52
>>532
どういでもいい推測ばかりの回答に頼るよりも
それらのファイルをバイナリエディタで開いて
自分で比較してみることをお勧めする
0542デフォルトの名無しさん
垢版 |
2017/06/23(金) 22:54:30.63ID:vHA11wMc
もしかして、
インタープリターを対話モードで起動した後、
>>> python "path/to/hello.py"
とやらかしたってことか?
これだと確かに "SyntaxError: invalid syntax" を返してくるし
0545デフォルトの名無しさん
垢版 |
2017/06/24(土) 14:00:49.95ID:29Lhuze+
滲みレーション
0547デフォルトの名無しさん
垢版 |
2017/06/24(土) 14:38:18.95ID:8BTA80jJ
>>544
その程度の質問してるようでは、無理だ

たぶん卑近なお遊びに使いたいのだろうから、フリーのCFDソフト使うのがヨロシ(3DCGソフト内のでも可)
0548デフォルトの名無しさん
垢版 |
2017/06/24(土) 15:15:14.31ID:X+ZTIHBs
フルイドシミュレーションはBlenderが搭載してたからそこから辿ればどのライブラリ使っているかわかるんじゃね?
0549デフォルトの名無しさん
垢版 |
2017/06/24(土) 16:47:57.87ID:JlMsM692
ナビエストークス方程式と連続の式を連立させれば数値解析で解けます

やったことないが
0555デフォルトの名無しさん
垢版 |
2017/06/25(日) 23:23:19.50ID:pYBZiqDJ
作るんじゃ無くて使うの?
作るならC#だけど。。。
0556デフォルトの名無しさん
垢版 |
2017/06/25(日) 23:26:37.82ID:pYBZiqDJ
ってPythonスレかw
tkinterじゃないかな?
tcl/tkはGUI作成特化言語としてもライブラリとしても秀逸。
0557デフォルトの名無しさん
垢版 |
2017/06/26(月) 10:45:17.40ID:GXjV4tuN
優秀だってよwwwwwwwwwwwwwwww
おまえtkしかつかったことないんだな
0558デフォルトの名無しさん
垢版 |
2017/06/26(月) 11:04:59.91ID:ShIs81CE
Gtkもあるよー
Gtkのが高機能だけど、導入のしやすさでtkinter勧めた。
0559デフォルトの名無しさん
垢版 |
2017/06/26(月) 12:39:32.83ID:H+izVTcm
>>554
pythonなら
1.tkinter
2.wxPython
3.PyQt
4.PySide
5.matplotlibのもUI楽しい
6.その他
0561デフォルトの名無しさん
垢版 |
2017/06/26(月) 23:38:10.26ID:6xb0XhUu
配列を重ねる0の場所だったら1に置き換える

l=[[0,0,0,0,0, 0,0,0,0,0],
[0,0,0,0,0, 0,0,0,0,0],
[0,0,0,0,0, 0,0,0,0,0]]

r=[[0,1,1,0,0],
[0,0,1,0,0]]

#求める結果
l=[[0,1,1,0,0, 0,0,0,0,0],
[0,0,1,0,0, 0,0,0,0,0],
[0,0,0,0,0, 0,0,0,0,0]]

おねがいします。
0563デフォルトの名無しさん
垢版 |
2017/06/27(火) 00:25:41.54ID:una+ODyg
>>561
XORで検索
0564デフォルトの名無しさん
垢版 |
2017/06/27(火) 01:03:48.48ID:OvQaEPM1
思った結果と違うみたいです。
ss=l,r=r,l
print(ss)

([[0, 1, 1, 0, 0],
[0, 0, 1, 0, 0]],
[[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
0566デフォルトの名無しさん
垢版 |
2017/06/27(火) 07:37:22.40ID:OvQaEPM1
上記のは縮小版で、本来は20*20の配列です。
パーツが21個有ります
https://ideone.com/4jwyEm

何処に、どのパーツが入るからランダムでシミレーションしたいと思ってます。
速度は気にする必要ないですかね?

>>563
>>565
返答ありがとうございます
0567デフォルトの名無しさん
垢版 |
2017/06/27(火) 07:47:10.50ID:VAXJSZof
>566
テトリスっぽいことをしたいのかな?
値が01しかないなら、二重のリストでなく、20*20=400bitの2進数で表したら、orとることで重ね合わせたり、衝突の判定できたりするよ。
パーツの上下左右の移動は、シフト演算(2のべき乗倍する)で表せるよ。
0569デフォルトの名無しさん
垢版 |
2017/06/28(水) 03:42:01.14ID:2pXrvXuM
質問です
アノニマスに入会したいんだけどpythonで入れますか
あと入会に願書とか履歴書とか出すの?
0571デフォルトの名無しさん
垢版 |
2017/06/28(水) 09:37:07.42ID:+O8L6XqQ
瑕疵担保責任(かしたんぽせきにん)

瑕疵担保責任のポイント

民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない

http://www.atmarkit.co.jp/ait/articles/1706/26/news014.html
http://itpro.nikkeibp.co.jp/atcl/news/17/052601508/?rt=nocnt

改正法では欠陥に気付いてから1年以内にITベンダーに通知すれば、
通知後5年以内は修正や報酬の減額などを求められるとしている

全ベンダーが泣いた民法改正案を解説しよう その1
http://www.atmarkit.co.jp/ait/articles/1609/14/news009.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_2.html
http://www.atmarkit.co.jp/ait/articles/1609/14/news009_3.html

ポイント1:修補や損害賠償、契約解除の期限がなくなる

従来あった「瑕疵担保期間は引き渡しから1年」という考えはなくなる。
条文にある通り、注文者は成果物が契約の目的に適合しないことを発見したら、
その「発見したときから1年以内」ならさまざまな請求ができる。発見が10年後なら、
11年後まで請求可能なのだ。

もっとも、現実のユーザーとベンダーの関係でも、たとえ契約書に「瑕疵担保責任期間は納品から1年と」明記されていても、
「2年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。
0573デフォルトの名無しさん
垢版 |
2017/06/28(水) 10:46:12.42ID:+O8L6XqQ
366 :nobodyさん 2017/05/29(月) 16:07:39.16 ID:6v4UcGhE
今回の民法改正、ソフトウェア受託開発の場合、(検収後ではなく)バグ発見後1年瑕疵担保責任があるということで、地獄かよ、と思ったが、
元々問題が起きがちな受託案件がビジネス的に成立しなくなることで強制的に業界再編につながるなら良いことかもと思うようになった。
一部で地獄を見ても。
https://twitter.com/yukihiro_matz/status/869061879389343744

367 :nobodyさん 2017/05/29(月) 16:28:06.55 ID:6v4UcGhE
ニュース - 改正民法が成立、「瑕疵担保責任」などシステム開発契約に影響大:ITpro
http://b.hatena.ne.jp/entry/itpro.nikkeibp.co.jp/atcl/news/17/052601508/

372 :nobodyさん2017/05/29(月) 19:10:37.12 ID:???
Railsでシステム作って納品する

Railsはマイナー、メジャーのアップデートが半年以内に必ずある

客がアップデートする。アップデートによるエラーやバグ、動作の不具合に気づく

気づいてから1年以内に通知すれば、5年間無料保証ゲット

つまりRailsがアップデートするたびに、無償の修正作業を発生するということかな

376 :nobodyさん2017/05/30(火) 09:20:20.09 ID:L5po86sS
>>378>>379>>375
客が瑕疵担保責任法の法改正を知ってくると思うから、今後5年無償保証をお願いされるだろう
営業がそれでも仕事を取ってこれるか?たぶん無理だろう。無限の直していたら赤字になる。
こういう保守に弱い言語、ころころ仕様が変わる言語は仕事として発生しなくなってくる。
これは変わり目だ。お前らも早く逃げたほうがいいぞ。RubyやPHPなど動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。
0574デフォルトの名無しさん
垢版 |
2017/06/28(水) 11:47:54.09ID:UL/dJT7R
>>573
バージョンアップ後の対応は別で有料だから問題ない
python2.7 -> 3以上にアップデートでバグだと騒ぐバカ
死なないかな〜

そもそも勝手にバージョンアップするな
0576デフォルトの名無しさん
垢版 |
2017/06/28(水) 13:58:41.64ID:umxh16K8
>>573
その逆で、アップデートしないとシステムがクラックされる
強制アップデート、不具合発生→新規案件OK?
0577デフォルトの名無しさん
垢版 |
2017/06/28(水) 16:36:00.87ID:vl7+Jp7a
seleniumの質問いいですか?
pythonからページのリンクにjavascriptを設定してクリックされたらpythonの関数を呼び出したいんですけど
無理ですか?

自動化したい処理の中に人力で操作する部分があってそれを待ちたいんですけど・・・
0580デフォルトの名無しさん
垢版 |
2017/06/28(水) 20:37:33.03ID:SyRTWX0G
強制アップデート起こってたら
新規で巻き戻す作業をする必要があるから作業費が取れる
0582デフォルトの名無しさん
垢版 |
2017/06/29(木) 01:56:59.50ID:jMXi+7Xw
責任が生じるのは、自分が故意でやったことだけ

他人がやったことや、自然災害など、
自分以外がやったことには、責任は生じない

高速で止まっている、10台の車に、後ろからトラックが追突して、
10台が連続追突しても、被害額を真後ろの車に請求できないだろ

真後ろの車は、さらにその真後ろの車から追突されているから、
自分が故意で、追突した訳ではない

漏れは、宅建・行政書士の資格にも受かっているけど、
損害賠償責任が生じる条件をチェックしてみ

基本的には、自分が故意でやっていないことには、責任は生じない。
犯罪の要件も同じ
0586デフォルトの名無しさん
垢版 |
2017/06/29(木) 09:05:10.54ID:nn6a6Cug
スレタイの読めないアホがアホ笑うなよ
2時間以内に中央線に飛び込んで死ね
0587デフォルトの名無しさん
垢版 |
2017/06/29(木) 09:13:45.02ID:jb6ZIhD8
>>580

>新規で巻き戻す作業をする必要があるから作業費が取れる

取れない。今回の法改正で保守費用取れなくなった。
0588デフォルトの名無しさん
垢版 |
2017/06/29(木) 12:55:23.71ID:0vJ5vzP4
mac bookでpython3のツールを使いたいです。
デフォルトの2.7.10がインストールされてるということだけ分かっています。
ターミナルでhomebrewインストールパッケージを起動しreturnを押してパスワードと書かれた所まで行ってもインストールできていないように思います。
パソコンの大先生助けてください。
0589デフォルトの名無しさん
垢版 |
2017/06/29(木) 13:11:09.63ID:be4JDZkD
javaが入ってないのが問題なのでしょうか?
0590デフォルトの名無しさん
垢版 |
2017/06/29(木) 13:25:04.98ID:uLHYfn6l
おれはmac使ってないから知らないけど自分でコンパイルすれいいじゃん
0591デフォルトの名無しさん
垢版 |
2017/06/29(木) 13:28:50.45ID:uLHYfn6l
>>577
できますよ。
selenium html 書き換えでぐぐればどういう仕組みでやるのか見えてきますよ。
がんばってくださいね!
0592デフォルトの名無しさん
垢版 |
2017/06/29(木) 15:22:48.39ID:FZ1KSicH
取り敢えずjavaとxcodeインストールしたけど変わらないです。
0593デフォルトの名無しさん
垢版 |
2017/06/29(木) 15:25:48.37ID:clVopv39
名前欄に質問したとこのレス番を入れてください
途中から見てる人にも分かるようにして下さい
0596588
垢版 |
2017/06/29(木) 15:40:11.55ID:FZ1KSicH
>>595
ありがとうございます。
行ってきます。
0597デフォルトの名無しさん
垢版 |
2017/06/29(木) 18:02:56.56ID:XDxnMufX
凄いなpython
エクセル操作もできて無敵だなww
0598デフォルトの名無しさん
垢版 |
2017/06/29(木) 20:25:00.04ID:lFx1ux9b
selenium使っていると、タイムアウト処理いれても終わらない事ってありませんか?
0599デフォルトの名無しさん
垢版 |
2017/06/29(木) 23:32:13.60ID:+PhH8p75
>>596
おれはhomebrewのホームページにポチポチやったよ
ちなみにパスワード打ち込んでもターミナルには何も表示されない
正しく入力してreturn押すだけ
0600デフォルトの名無しさん
垢版 |
2017/06/30(金) 17:49:02.30ID:da6qsFRC
newlists = []
for m, n in oldlists:
newlists.append([m])
newlists.append([n])

これと

newlists = []
for m in oldlists:
newlists.append([m])

これは同じ動作をしますか?
同じと思ったのですが、下の方はリストに正しく入らずに後からエラーにりました。
0601デフォルトの名無しさん
垢版 |
2017/06/30(金) 17:55:25.22ID:da6qsFRC
すいません、解決しました
oldlistsが多重入れ子みたいなリストになってたせいでした
0602デフォルトの名無しさん
垢版 |
2017/06/30(金) 18:25:54.26ID:k60H9HRv
githubで落としてきたプログラムを実行したいのですが、ターミナルでpython3 ファイル名.pyを実行するとerrno2 no such file or directoryというエラーが出ます
デスクトップにファイルを置いている状態なのですが、デスクトップ上のファイルを実行するには下記では駄目ですよね?

users/a/desktop/フォルダ名/python3 ファイル名.py
0603デフォルトの名無しさん
垢版 |
2017/06/30(金) 18:28:21.33ID:JIMMV9MT
デスクトップのファイルを実行するなら
デスクトップのディレクトリに移動しないと
0604デフォルトの名無しさん
垢版 |
2017/06/30(金) 18:38:24.70ID:6UBKgAZw
それだけは断わる
0606デフォルトの名無しさん
垢版 |
2017/06/30(金) 18:53:08.13ID:X7AokIbD
あん?デスクトップにあんの?
フォルダ名ってなんぞ?
python users/a/desktop/ファイル名.py
これで動くか?
0607デフォルトの名無しさん
垢版 |
2017/06/30(金) 19:18:17.42ID:k60H9HRv
>>603>>606
ありがとうございます
python users/a/desktop/ファイル名.pyで試しても同じエラーが出てしまいます

もしかしたら導入自体にミスがあったのでしょうか?
ここを見ながらpythonをインストールしました

qiita.com/crankcube@github/items/15f06b32ec56736fc43a
0609デフォルトの名無しさん
垢版 |
2017/06/30(金) 19:24:56.91ID:X7AokIbD
それで出るなら、ファイルの絶対パスが間違ってるから
win10ならshift+右クリックからパスをコピーして
python (ペースト)
でやってみ、win10以外なら知らんからファイルの絶対パス取得方法でも調べて
0611デフォルトの名無しさん
垢版 |
2017/06/30(金) 22:15:33.79ID:S0i2W9e4
絶対パスを、"" で囲んで、打てば?

「フォルダ名/ファイル名.py」
この、フォルダ名/ファイル名を、ここに正確に書いてみ

ファイル名・パスに、半角空白・日本語などを使うなよ
0612デフォルトの名無しさん
垢版 |
2017/07/01(土) 04:44:21.30ID:lfHQjhbs
そもそも、OSというかプラットホームが不明だな
パス表記がwindowsとも*nixとも異なるし
0615デフォルトの名無しさん
垢版 |
2017/07/01(土) 10:33:13.18ID:6rugCZZQ
webカメラから写真(文章や数字)を保存して、
pythonからHiMacroExを起動して、Online OCRサイトを操作して、
データーをメモ帳に保存してから、エクセルやワードに打ち込んで、
最後に自動でマクロを実行して欲しい。

初心者ですが、可能でしょうか?
0616デフォルトの名無しさん
垢版 |
2017/07/01(土) 10:35:25.88ID:6rugCZZQ
エクセルやワードではなく、LibreOfficeでした。
0617デフォルトの名無しさん
垢版 |
2017/07/01(土) 10:41:29.06ID:Ci/g8Lnl
python初心者以前にプログラミング初心者もいるようだな
0618デフォルトの名無しさん
垢版 |
2017/07/01(土) 11:01:06.98ID:6rugCZZQ
AndroidアプリのOneNoteで自己解決しました。
すいません。
0620デフォルトの名無しさん
垢版 |
2017/07/01(土) 20:37:23.40ID:eyE8YKgB
OSに初歩や次歩があるなんて初耳だけど?
0621デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:03:10.18ID:FWbGo/9j
まじかよ逆にOSを理解の段階とか意味ないくらいの短時間で全て把握できる奴がいるのか
0622デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:05:37.50ID:5xgWPcGQ
横からだけど、プログラマなら知ってて欲しいかな。
正直、プログラミング言語の入門書を書く時、そこからだとダルい。
それで金取れる本職なら兎も角、無料で配布するしがない電子書籍書きとしてはいささか遣る瀬無い。。。
0623デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:08:05.42ID:eyE8YKgB
別にダルくないけどパスの概念くらいw
0624デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:28:36.92ID:5xgWPcGQ
いあ、パスの概念知らないなら、binにパス通すのも知らないよね。
処理系のインストーラにもよるけど、ライブラリのパスってのもあって。。。cdはdir(ls)は?とか、芋ズル式にその前提を必要とスリ知識も書かなくちゃってなる。
0625デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:32:10.75ID:eyE8YKgB
>>624
芋ズルもクソもcdってパスの概念そのものだけど
何言ってんのお前w
0626デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:36:15.86ID:5xgWPcGQ
そのものだから相対パス知らんとcd ..で上のディレクトリに移動とかも分からんでしょ。
そもそもディレクトリとフォルダが同じ物ってところから説明したほうがいいのか?とか。
初心者向けはどこまで初心に戻れば良いのかがが逆に難しい。
0627デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:40:18.99ID:eyE8YKgB
>>626
いやだから全然ダルくないし難しくないけどそれくらいw
0628デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:45:29.89ID:5xgWPcGQ
教えたい本質じゃ無いところにどうすれば理解してもらえる?って時間割いて考えてる時点でダルいし、その結果、図を書いたりするのもダルい。
モチベーションの違いだろうけど、教えたい場所じゃ無い所に力入れたく無いけど入れなきゃ初心者に振り向いてもらえないじゃん。

初心者のレベル自体が上がってくれたら。。。ってただの愚痴だよ。
悪かったな。
0629デフォルトの名無しさん
垢版 |
2017/07/01(土) 21:49:12.58ID:eyE8YKgB
>>628
愚痴じゃなくて無知なのに知ってるふりしたかっただけだろw
分かってるよ最初からw
0631デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:11:45.37ID:wWo+lhH6
自分の知識と本の対処読者の知識を区別して考えられない奴おるな
これは人間の3歳児くらいの認識機構のレベルだ
やっぱり発達は違うな
0632デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:15:59.09ID:dfF0hMJ/
>>628
凄い分かる
初心者って何を判ってて何をわかってないかすら自分で理解してないから
プログラミング以前の事柄を何処から説明するべきかは悩む
うちの教育資料は長年かけて小分けにして網羅的に作ったよ
全部教育するのは無理だから必要に応じて渡す資料変えてる

>>629みたいに自分の知ってることは他人も全部知ってると思ってる奴が教育すると
独りよがりのオナニー教育になるんだよな
0633デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:17:16.00ID:H0+xgSWX
その出版社がプログラミング初心者向けの本出してたら、あるいはサイトがあればそちらを参照、でいいんじゃね?
0635デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:19:44.82ID:eyE8YKgB
>>632
まさにお前の事じゃんw初心者ってw
0637デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:25:39.70ID:dfF0hMJ/
>>635
プログラマなら他人を批判するにしても論理的にやりなよ
煽るのは2chの文化だから否定はしないけど
子供みたいな煽りばっかしてるとただのアホにしか見えないよ
0638デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:31:16.38ID:eyE8YKgB
>>637
お前に俺がどう見えるかってのは論理的なのかお前にとっては?
面白いやつだなお前w
0639デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:41:38.60ID:dfF0hMJ/
>>638
その通りだよ
根拠のない事を論理的な説明もなしに決めつけて発言する人は
説明できるだけの知識や語彙力がないと見受けられるから
アホっぽく見えると言っている
これで説明できてる
0640デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:44:49.71ID:eyE8YKgB
>>639
意訳すると「ボクには理解できない事言ってるからきっとアホなんだろう」だよ
お前の言ってる事
0642デフォルトの名無しさん
垢版 |
2017/07/01(土) 22:57:38.59ID:dfF0hMJ/
>>640
それは意訳ではなく曲解っていうんだよ
1つ勉強になったね

ついでにその曲解した内容についても言っておくと

「ボクには理解できない事言ってるからきっとアホなんだろう」

では無く

「他人が理解できる説明が出来ないから本当にアホなんだろう」

のほうが近いね
0643デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:01:20.56ID:eyE8YKgB
>>642
曲解の意味間違えてるぞお前w
てかお前いわゆるマウントってやつを取りたかったのか?
「1つ勉強になったね」ってw
0644デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:08:15.91ID:dfF0hMJ/
>>643
何も間違ってないよ
自分がアホじゃないと思うのなら何が間違っているのか説明してごらん

マウントも何もアホな人が知識を広げたのだから
喜んであげるべきだろう
0645デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:14:45.08ID:eyE8YKgB
>>644
プログラマなら他人を批判するにしても論理的にやりなよ
どっかで聞いたセリフだけど
お前もうアホアホ連呼してるだけじゃんw
0646デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:20:36.85ID:dfF0hMJ/
>>645
なぜ君がアホなのか今まで説明してきたきたけども
理解できなかったのかな?

アホだと思われたくなかったら
ちゃんと君自身の発言に対して
君自身の言葉で説明してごらん
それが出来ないからアホなんだよ

ツール・ド・フランス見るの忙しいからこれで終わりな
0647デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:23:18.30ID:eyE8YKgB
一方的にアホ認定して終了宣言w
なんだったんだコイツはw
0648デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:28:21.13ID:5xgWPcGQ
>>629
なんか呑んでるうちに代わりに反論と言うか批判してくれる人がいてスレ伸びてるけど。。。

実績も肩書きもないから素人が情熱だけで書いてるから、まあ知識不足も無くはない。
そこは書籍とかで補填して、自分なりに消化してから書いてる。
自分でも分からんもんを〆切に縛られてる訳じゃないのに焦って出す様なことはしない。

ただ、金にもならん情熱だけだからさ。
しょうもないこと書くのに疲れるし、だけど経験上とりあえずは書くんよ。
結果としてそこま細かく無くて良いやって省くにしてもね。
備えあれば憂いなしというか。
知ってる人にはさらっと書けば良いだけなんだけどさ。
知らん人ってこっちの予測が不可能なんだよね。
0649デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:31:51.93ID:5xgWPcGQ
>>630
電子書籍だから、知ってる人は飛ばせば良いんだけど、目次見ただけでそっ閉じだよねぇ。。。
だから初心者向けと中級者向けは書籍分けてるんだなー。。。って思うよ。
0650デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:33:30.16ID:eyE8YKgB
>>648
ホントかウソか知らんけど書くならせめて読者層のターゲットくらい絞れよw
知識不足以前に目的すら定まってねえじゃんそれじゃw
0651俺が遊園地だ!  ◆ExGQrDul2E
垢版 |
2017/07/01(土) 23:43:53.14ID:6rugCZZQ
俺が発狂しなくても荒れるなんて珍しいな。

聞かれた側は、「知らない事も有るよね。」で済ませて、
聞いた側は、 「知りませんでした。ありがとうございます。」

程度で良いと思うんだけど?
0652デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:44:25.89ID:m4kH/u1t
ここ超初心者用スレだから!!!!

このスレにいるのは超がつく初心者だけだから!!!

まともな回答を期待してもムダ。知ったかレスしかないよ!!!
0653デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:46:23.59ID:5xgWPcGQ
んあ?
最初から読者層は初心者言うとるやろ。
だから茨の道なんじゃん。

中級者のが知識全開で集中出来るから精神的に楽。
0654デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:54:07.22ID:eyE8YKgB
>>653
いやだから最初から言ってるように初心者に説明するならパスの概念は必須だし
ダルくも難しくもない王道どまんなかのトピックなわけだがw
てかお前が初心者なんだろwまだ知ったかしたいのかw
0655デフォルトの名無しさん
垢版 |
2017/07/01(土) 23:57:11.24ID:Qb8fZ3pm
Pythonではメソッドチェーンってあまり推奨されないの?
mapしてfilterしてとか、Rubyとかなら簡単にできるんだけど
0656デフォルトの名無しさん
垢版 |
2017/07/02(日) 00:03:58.79ID:5pFDZyfO
multiprocessingをインポートしてmultiprocessing.Pool(4).map(work, hoge_list)
ってやると"cPickle.PicklingError"になります。これはhoge_list内にクラスのインスタンスを入れ
workメソッド内でそのインスタンスメソッドを使ってることが原因らしいと理解したのですが
こんな理解で正しいでしょうか?
0657俺が遊園地だ!  ◆ExGQrDul2E
垢版 |
2017/07/02(日) 00:07:55.88ID:hEI1qgv+
>>655
聞いた事無いな。(俺が初心者だからかも。)
公式チュートリアルに書いてたっけ?書いてなかったら知らない。
推奨はされて無かったと思う。
0658デフォルトの名無しさん
垢版 |
2017/07/02(日) 00:23:35.01ID:GxEkUhHh
短いなら内包表記の方が簡潔だし、
長いなら素直にループした方が読みやすい
yieldあるからコールバック地獄にもならないし
0659デフォルトの名無しさん
垢版 |
2017/07/02(日) 00:30:32.71ID:i3FzxPpq
>>655
メソッドチェーン自体はpythonではタブーってことはないけど
ないけれど組み込みや標準ライブラリだとやりにくいのは確か
(副作用がある操作はうっかり忘れないようにメソッドチェーン不可の設計)
0661デフォルトの名無しさん
垢版 |
2017/07/02(日) 09:22:43.06ID:41PE3FHN
メソッドチェーンじゃないと、副作用を忘れない
ってどういう論理なんだ?
0662デフォルトの名無しさん
垢版 |
2017/07/02(日) 09:56:43.23ID:nuNQpba8
理論は知らんが、返り値がNoneだとああ副作用を起こすための関数なんだなって思い出すことはある
0667デフォルトの名無しさん
垢版 |
2017/07/02(日) 12:25:31.15ID:MoO3L/4V
メソッドチェーン用のインターフェースで副作用を起こす使われ方もあるよね。
つか、どっちかというと純粋関数的なのの方が少ないような。
0668デフォルトの名無しさん
垢版 |
2017/07/02(日) 14:44:05.45ID:+uBxLSY8
CPython付属のIDLEについて

コメントアウト機能、'##'をpep8の'# 'に設定変更する方法ある?

すでにタブインデントで書かれたスクリプトを読み込んだ時、
タブ文字が8スペース相当なのを4スペース相当に変更する方法ある?
設定にあるインデント幅は4文字になってるけど、ここは関係ないみたい。
0669デフォルトの名無しさん
垢版 |
2017/07/02(日) 15:07:05.87ID:fuCVaypu
今日から、python始めました!
python3.6と、PyCharmというのをインストールしました、
これで使った、プログラム(ツール?)を、
他の人のパソコンでも、普通のソフトみたいに、
実行できるようにできますか?
0670デフォルトの名無しさん
垢版 |
2017/07/02(日) 15:25:27.49ID:xBPy9i5B
次スレでワッチョイが必要なようだ
0674デフォルトの名無しさん
垢版 |
2017/07/02(日) 17:20:57.66ID:8flDVQxv
>>669
他の人のパソコンで動かすにはPythonの実行環境が必要。
もしくは、cx_Freeze等を使って,、exeファイルとPythonの実行環境ごと配布する
0675デフォルトの名無しさん
垢版 |
2017/07/02(日) 17:28:12.65ID:fuCVaypu
>>674
相手のPCにpytyon入れてもらうか、
exeファイルも作れるんですね、
勉強してやってみます!
0676デフォルトの名無しさん
垢版 |
2017/07/02(日) 20:18:38.29ID:hEI1qgv+
単純な計算で1億の処理が16秒ぐらい掛かる。
PC変えても、そんなに実行速度変わらない?

for n in range(100000000):n+=n
print(n)#16秒
0679デフォルトの名無しさん
垢版 |
2017/07/02(日) 22:07:13.01ID:mbMXyeDF
ん?って言ってる人なんか勘違いしてそうでカッコわるいw
0680デフォルトの名無しさん
垢版 |
2017/07/02(日) 22:07:17.28ID:19kDKEGS
>>669
普通のソフトみたいな配布したいならちゃんとコンパイラ言語覚えた方がいい。
WinならC/C++でスタッティックリンクがexeファイル肥大化するけど、今時ファイルの大きさ気にする時代じゃないし、何よりdll必要としない。
動作は最速。
ダイナミックリンク(vcナントカってdll必須)とか.net必須のC#とかもWin標準で入ってるから多少遅くなってもLLより数段速い。

Python足がかかりにステップアップしてみては?
0681デフォルトの名無しさん
垢版 |
2017/07/02(日) 22:17:13.37ID:mbMXyeDF
>>680
他人に勧めるならせめて自分が理解してるものを勧めろよw
0682デフォルトの名無しさん
垢版 |
2017/07/02(日) 22:36:21.91ID:19kDKEGS
一応理解してるが。。。。
だからHaskellは勧めなかった。
GUIライブラリのdll多過ぎて読み込みに時間かかるし、速度はLL並だし。
コマンド作ったり、Webアプリ作ったり(WebアプリもHTMLと言うテキストのやり取り)はHaskellオススメ。
0683デフォルトの名無しさん
垢版 |
2017/07/02(日) 22:49:38.49ID:mbMXyeDF
>>682
遅さの理由を全く理解してないわお前w
0685デフォルトの名無しさん
垢版 |
2017/07/02(日) 23:07:42.52ID:H12A2Yj9
大量の文字列から、指定した文字のみを抜き出すことはPythonで可能でしょうか?
0687デフォルトの名無しさん
垢版 |
2017/07/02(日) 23:25:38.93ID:2gO8xIM5
>>669
ワイも今日から始めたやでー
プログラミングとか全く知らないのにTIS-100とかいうプログラミングゲームにハマったのがきっかけ
論理回路シミュレータとか作ってみたい
開発環境ソフト?とか必要なの?素人にはデフォで付いてるので十分じゃない??
0688デフォルトの名無しさん
垢版 |
2017/07/02(日) 23:52:06.14ID:19kDKEGS
>>683
いあ、dllだけじゃないのは分かってるぞw
起動も遅い上にその後の動作速度もLL並。

でもLL特有の動かしてみなきゃバグがあるか分からない(テスト重要)ってのは大分省ける安心感がある。

よく使うパターンをLLより関数化しやすい。
(本気ですればそうでもないんだろうが、LLで普通に書くより遅くなるし手間も掛かる)

手間掛からないでLL並でも許容範囲の速度出るなら、Haskell良い。
素のままじゃどっこいどっこいで、コンパイル無い分LLのが良いけど、自分のパターンを関数化してからがHaskellの本領発揮。
0689デフォルトの名無しさん
垢版 |
2017/07/03(月) 01:03:20.01ID:Y/6bIyty
副作用って用語も馬鹿らしい
メソッドチェーン前提じゃないなら主作用だろ
0690デフォルトの名無しさん
垢版 |
2017/07/03(月) 01:11:38.84ID:7OcyhPTv
関数というのは普通同じ入力に対して同じ出力を返し入出力以外の仕事をしない物、それに対する例外だから副作用と呼ばれる
関数型言語由来の言葉なので手続き型言語だと違和感があるのは当然かと
0694デフォルトの名無しさん
垢版 |
2017/07/03(月) 10:38:56.53ID:v5BZipuQ
副作用のない処理など存在するか!!
何かを捨てないと何も得られないんだよ!!!
0701デフォルトの名無しさん
垢版 |
2017/07/03(月) 13:24:52.61ID:d1Gme1zq
def add(a,b):
__print("a+b=",a+B)

print(add(1,2) + add(3,4))

副作用大好き人間は平気でこういうコードを書いてエラー出すんだろうな……w
副作用の考え方は関数型とかメソッドチェーンだけじゃなく
「複数のパーツを組み合わせて全体のコードを作る」分割統治タイプのプログラミング全てにおいて
重要になるんだよなぁ
0704デフォルトの名無しさん
垢版 |
2017/07/03(月) 13:48:25.08ID:KiqfCc2e
超初心者用じゃなかったの??????????
全くついていけないんだが
0705デフォルトの名無しさん
垢版 |
2017/07/03(月) 13:55:49.36ID:v5BZipuQ
関数名を短くするとタイプは楽だが、情報の少なさから機能の意味を誤解するという副作用。笑える。
0706デフォルトの名無しさん
垢版 |
2017/07/03(月) 13:56:06.48ID:OWRZFNuc
一番の問題は関数の名前が素人レベル

addじゃなくて実際はprintAfterAddだろ

print(printAfterAdd(1,2) + printAfterAdd(3,4))
こういうバグは現れにくい
0709デフォルトの名無しさん
垢版 |
2017/07/03(月) 14:17:00.08ID:tz9r/5vw
副作用もわからないくせにドヤ顔で突っ込んで
赤っ恥で引っ込みつかないもんなw
0711デフォルトの名無しさん
垢版 |
2017/07/03(月) 14:52:45.43ID:W8qxhA0k
>>663
メソッドチェーンを簡潔に書くためには、引数表記の省略が欲しくなるから、そこら辺が思想に合わなそう

簡潔性が要らないなら、多段forループの方が分かりやすいし
0712デフォルトの名無しさん
垢版 |
2017/07/03(月) 15:17:15.17ID:6+cSiRQ4
>>701に対して「そんなコード書かねえよガイジ」以外のレスがつくとかどういう場所だここ
0714デフォルトの名無しさん
垢版 |
2017/07/03(月) 15:38:45.20ID:6+cSiRQ4
>>713
超初心者はあんなのにレスつけないだろ……
0715デフォルトの名無しさん
垢版 |
2017/07/03(月) 15:40:33.34ID:eO40pfhm
ああ、副作用スゴイ、副作用に感謝!
ボクのパイソンがドクンドクンと痙攣を始めた!
0719デフォルトの名無しさん
垢版 |
2017/07/03(月) 18:20:12.28ID:oiFj/hKr
まあ画面出力が副作用って言うのは正しいけどこの文脈で出してくるのはちょっとどうかと思うしそもそもreturnなしの関数値(none)を演算に使うとかどう見てもバグっぽいコードで何を説明した気になってるのか意味不明
0720デフォルトの名無しさん
垢版 |
2017/07/03(月) 18:34:25.44ID:v5BZipuQ
画面出力ってよくあるスレッドの同期バグを副作用とか言ってんの?

ますます意味不明。
0721デフォルトの名無しさん
垢版 |
2017/07/03(月) 18:40:41.84ID:6+cSiRQ4
副作用もよく分からんくらいの超初心者はもっと謙虚にしろ
0722デフォルトの名無しさん
垢版 |
2017/07/03(月) 18:42:27.31ID:c364q6zP
副作用もよく分かってる超初心者さん達ももう少し謙虚にしてもらえないか
0723デフォルトの名無しさん
垢版 |
2017/07/03(月) 18:43:46.40ID:NPfMIXsg
matlabにおけるfreadを以下のように使っている時
pythonで同じように書く場合はどのようにすれば良いでしょうか?
fileID = open(file_name,'r')からreadの引数をどう取るかで悩んでいます

matlabの原文
fileID=fopen(strcat(file_name),'r');
size=fread(fileID,1,'*ubit32','b');
%file_nameにはバイナリデータが入っています
0724デフォルトの名無しさん
垢版 |
2017/07/03(月) 20:20:38.33ID:eO40pfhm
ボクの大蛇が生臭い白濁液を吐き出した!
あたり一面が白ういろうの海と化し身動きが取れない!
これも副作用のせいだっ!
0726デフォルトの名無しさん
垢版 |
2017/07/03(月) 21:15:30.91ID:UwBLUxpl
>>689>>690
手続き型言語でも副作用って用語が使われ始めたのって関数型言語が注目され始めてからだけど、それ以前からMVCやMVVMでVとの依存性を切り離すって課題として語られていた。
0728デフォルトの名無しさん
垢版 |
2017/07/03(月) 21:26:15.18ID:c364q6zP
副作用の話してる人が性格悪そうって事はわかった
0730デフォルトの名無しさん
垢版 |
2017/07/03(月) 21:50:21.78ID:rvaVDuHz
>手続き型言語でも副作用って用語が使われ始めたのって関数型言語が注目され始めてからだけど、

1960年代から使われてたってことだな。
0731デフォルトの名無しさん
垢版 |
2017/07/03(月) 21:51:55.10ID:jWiKtjj5
>726
副作用という言葉は、手続き型言語でも、関数型言語が注目されるようになった、はるか以前から使われていたと思うけどな。
パスカル勉強していた四半世紀ほど前だけど、
functionとprocedureとあって、前者は値を返すが、後者は値を返さない。
値を返さないのに、何の役に立つかというと、副作用を起こさせるのを目的として使う。
というような説明を本で読んだ記憶がある。
0733デフォルトの名無しさん
垢版 |
2017/07/03(月) 21:58:36.51ID:PMhP6mgs
>>731
Delphiきっかけに普通のPascalの入門書も読んでたが、ついぞそんな入門書に出会った記憶が無い。。。
ここまで副作用副作用と手続き型言語のスレでも見かける様になったのは2006年前後からと思ったが。。。
大学向けならLispやOCamlやってた先生や生徒も居るだろうが。
0735デフォルトの名無しさん
垢版 |
2017/07/03(月) 22:10:10.80ID:4ktGWqSn
もう一度言っておく
副作用もわからんガイジは屁臭えペチプ〜でもやってろゴミが!
俺様の目の前に二度と現れるな
失せろクズ
0736デフォルトの名無しさん
垢版 |
2017/07/03(月) 22:17:41.55ID:jWiKtjj5
>733
サイエンス社のPascal入門(1989年)か、Pascalプログラミング(1990年?)か、どちらかで読んだはず。
Amazonで出てきた表紙に見覚えがあるんだけど、どっちの書籍だったかまでは覚えていない。
0738デフォルトの名無しさん
垢版 |
2017/07/03(月) 22:33:14.47ID:v5BZipuQ
さっさとプログラミングにおける「副作用」定義を言え、超初心者ども。

今までの例だと、ただのバグのことじゃねーか。
0740デフォルトの名無しさん
垢版 |
2017/07/03(月) 22:37:21.92ID:c364q6zP
これからの副作用について考えようじゃないか
0741デフォルトの名無しさん
垢版 |
2017/07/03(月) 22:55:11.78ID:QgJfKFJA
英語圏で曖昧な表現で説明してるやつらのことは無視してよい。
0742デフォルトの名無しさん
垢版 |
2017/07/03(月) 23:19:36.68ID:hTTgnp+k
>>736
サイエンス社の方は読んだ記憶があるが、副作用と書かれてた記憶はない。
多分1990年?の方だな。
0745デフォルトの名無しさん
垢版 |
2017/07/03(月) 23:27:21.56ID:hTTgnp+k
>>738
バグの事じゃない。
数学の関数と同じ、同じ引数渡せば同じ回答が返ってくる。
それ以外の事象全てが副作用。
副作用があっても意図通り動くのもあるし、むしろその方が効率は良い。
ただプログラムの見通しが悪いだけ。
マルチスレッドプログラミングとかで副作用の無い関数型言語が注目されたのもマルチスレッドプログラミングの見通しを良くしてバグを作らない様にしたいから。
(あと状態を持たない事でマルチスレッドプログラミングで分割し易いってのもある)

シングルスレッドではコード短く出来るとか再利用し易いとかで、(シングルスレッドでの)性能追求したら副作用バリバリの方が効率は良い。
0747デフォルトの名無しさん
垢版 |
2017/07/03(月) 23:49:02.53ID:eO40pfhm
ボクの大蛇はすべてを吐き出してしまった。
大蛇は見る見るうちに縮んでいった。
元のドジョウどころか萎びたオタマジャクシになってしまった。
これが副作用というものなのか?
0749デフォルトの名無しさん
垢版 |
2017/07/04(火) 00:28:00.42ID:huKUW2nT
Yes
0752デフォルトの名無しさん
垢版 |
2017/07/04(火) 00:56:33.99ID:2jXzbs3v
このスレも馬鹿ばかり
副作用という言葉自体はあったかもしれないけど
ここ数年副作用は悪という風潮になってるのがおかしい
昔はそんなことはなかった
気持ち悪い
0755デフォルトの名無しさん
垢版 |
2017/07/04(火) 06:42:19.27ID:Tv7aUxog
>>737
> 参照渡しのことを副作用と言ってるのかよw わかるわけねーよwww
こんなアホ久々に見たわ w
そもそもFORTRAN は全部参照渡しだし参照渡しかどうかじゃなくて引数を変更するかどうかの話なのに全く理解してない
0757デフォルトの名無しさん
垢版 |
2017/07/04(火) 06:54:22.62ID:rXlR7d7X
> FORTRAN は全部参照渡し

これは欠陥言語と言わざるを得ない。消えていく言語なのは間違いないな。いやもう消えてるか。
0758デフォルトの名無しさん
垢版 |
2017/07/04(火) 06:55:12.54ID:Tv7aUxog
>>745
> 数学の関数と同じ、同じ引数渡せば同じ回答が返ってくる。
> それ以外の事象全てが副作用。
違う、それは参照透過性の話。
副作用は何らかの状態を変更してしまうことを言う。
なので例えば変数への代入も副作用のひとつ。

>>748
疑似乱数なら内部状態の変更を伴うので副作用を持つ。
ハードウェア乱数発生機からの読み出しなら副作用は持たない。

>>751
意味不明 w
0763デフォルトの名無しさん
垢版 |
2017/07/04(火) 08:53:00.26ID:LX4AtBOp
そんな慣用語にここで反抗されてもねえ
0764デフォルトの名無しさん
垢版 |
2017/07/04(火) 08:54:23.42ID:1lmeyR8N
Fortranは、参照渡しがデフォルトだけど、値渡しできるよ。
あと、数値計算の分野だと、まだFortranは現役。
0765デフォルトの名無しさん
垢版 |
2017/07/04(火) 08:57:42.95ID:rXlR7d7X
一般的に副作用は意図しない作用を言うんであって、
意図してる作用まで副作用だなんて言うから話がおかしくなるんだよ。
0768デフォルトの名無しさん
垢版 |
2017/07/04(火) 10:28:29.47ID:rXlR7d7X
>>767
真性の馬鹿か。だから最初から定義を聞いている。
言葉の定義ができない奴はFラン低学歴。馬鹿は薬飲んでも治らない。
0769デフォルトの名無しさん
垢版 |
2017/07/04(火) 11:14:46.95ID:JR8nRlmR
朝から真っ赤なやつが真性がどうとか説教だってよ
草ボーボーだわ
誰か除草剤撒いとけ
0770デフォルトの名無しさん
垢版 |
2017/07/04(火) 11:25:37.95ID:rXlR7d7X
>>769
真っ赤ってどこの2ch素人だよ。2chはじめてか?

赤いってのは偉いってことだ。
戦隊モノだってリーダーは赤だし、モモクロだってリーダーは赤だし、3倍速いシャアだって赤だろ。

ここはPythonの初心者スレであって、2chの素人スレじゃねーぞ、ヘタレが。
0771デフォルトの名無しさん
垢版 |
2017/07/04(火) 11:28:45.53ID:rPs24TN8
人類初心者のスレでもねーぞ
妖怪人間ちゃんよ
あれ?ゴキブリだったっけ?
まあどっちでもいいわな
0772デフォルトの名無しさん
垢版 |
2017/07/04(火) 11:29:55.91ID:6SYzApDs
>>770
素人は専ブラなんか使わんからIDの色は分からない
連投すればなるから偉くもなんともないし95割くらいはまともじゃないやつの証だ
自分のレスを見直してから発言することだな
0774デフォルトの名無しさん
垢版 |
2017/07/04(火) 12:11:33.68ID:k7lSpSHL
PHPが辿った道をPythonも辿るのか
そして荒野となり人が離れていく
0775デフォルトの名無しさん
垢版 |
2017/07/04(火) 12:21:04.91ID:AMOtdiLy
結局お前ら副作用について何を話したかったんだ?さっぱりわからんw
0777デフォルトの名無しさん
垢版 |
2017/07/04(火) 12:54:22.08ID:AMOtdiLy
>>776
お前もやろw
0779デフォルトの名無しさん
垢版 |
2017/07/04(火) 18:21:15.79ID:tbb9NRH5
秀丸で書いてるんだけど
Pythonタブが反核スペースのコードを良くみかけるんだけど
スペース4回や8回、16回入力って面倒じゃない?
更に、削除など7回とかだとずれるし
みんなどうしてる?
0783デフォルトの名無しさん
垢版 |
2017/07/04(火) 21:44:10.13ID:/lfF2KWl
ガイジ副作用で脳みそスペースだらけのスッカラカンなんやろな
ウンコモリモリペチプァでも詰めておけ、ガイジ
0785デフォルトの名無しさん
垢版 |
2017/07/04(火) 21:55:38.92ID:C0QCHaIb
生まれつき目の見えない子供が知り合いにいるけど
頑張って生きてるよ
家族も頑張っている
低レベルなレスを連発するのは構わないけどそういう人たちを馬鹿にする奴が一番許せない
0786デフォルトの名無しさん
垢版 |
2017/07/04(火) 22:01:55.37ID:tbb9NRH5
>>780>>782
タブを半角まではできるんだけど、
バックスペースで削除すると
1文字削除でタブと比べて使いにくいなぁーと思って
0787デフォルトの名無しさん
垢版 |
2017/07/04(火) 22:39:24.55ID:KFTmH+Xw
もう副作用でも何でも無いな。。。
手続き型言語の場合、初期化以外の代入も許さないのは稀で、関数として副作用が無ければおkってのが主流。
(副作用禁止だけどこれはおk的な)

個人的には関数型言語は関数型言語らしく、手続き型言語は手続き型言語らしくで良いと思う。
デフォルト引数とか良い例だよ。
代入前提だけど、時々しか違う値入れないからいつもの値入れとけ、みたいな。
ああ言うのは手続き型言語特有。
0790デフォルトの名無しさん
垢版 |
2017/07/05(水) 00:02:22.11ID:Mi2Oefnn
>>788
ありがとう
選択してShift+Tabで行けた、ショートカットキーを使うのか、秀丸でもできた
微妙に手が必要になるけど、Pythonだとスペース使う人が多い気がするけど
メリットみたいな物があるの?
0791デフォルトの名無しさん
垢版 |
2017/07/05(水) 00:23:41.83ID:CFCu53LC
>>790
PEP 8という公式が書いたスタイルガイドがあるんだけど
派生スタイルやツールの基準になっていて大きく反するものがないくらい普及している

PEP 8だとインデントはスペース4文字、ハードタブは使うなとされている
これはガイドに根拠の説明が特に書かれていないほど周知の事実扱いなんだ
https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces
0793デフォルトの名無しさん
垢版 |
2017/07/05(水) 01:17:53.25ID:uTn2RlgN
>>792
タブだとエディタの設定次第で崩れて見えるのがPythonの流儀に反してるからってどっかで聞いたことがある、違ったらスマソ
0794デフォルトの名無しさん
垢版 |
2017/07/05(水) 01:20:02.67ID:uTn2RlgN
崩れるというのは何か違うな、環境によってインデントの見た目が変わるのが云々
0795デフォルトの名無しさん
垢版 |
2017/07/05(水) 01:44:44.17ID:uOGWwv8x
>>793
合ってる。エディタの設定で1タブのインデント幅が自在に変わってしまうからスペースで統一した。
0796デフォルトの名無しさん
垢版 |
2017/07/05(水) 02:04:45.63ID:CFCu53LC
>>792
https://stackoverflow.com/questions/1125653/python-using-4-spaces-for-indention-why
stackoverflowの何でスペース4つなの?って質問についている回答を雑に訳すと

みんながスペース4つで書いてるから俺も受け入れた
guido(pythonを作った人)がスペース4つを好むから
別に独自スタイルを貫いてもいいよ(俺はやらないけどね)
0797デフォルトの名無しさん
垢版 |
2017/07/05(水) 02:14:09.93ID:n6J1aua5
python3スクリプトを常駐ソフトみたいに使えますか?
フォルダにアクセスが有ったか知りたいです。どうしたら良いのでしょうか?
0799デフォルトの名無しさん
垢版 |
2017/07/05(水) 02:32:32.59ID:jRheFMIB
>>790
最初はタブでインデントして、あとで4スペースに変換という方法だと、
書いてる時はスペースと区別しやすいということもあって、実際にそれを使ってきた。

ただ、長いセンテンスに改行を入れた時のインデント調整で、
PEP 8 流に揃えるにはスペースなしでは無理ということもあって、
今は最初から4スペースで書いちゃってるな。

エディタの設定で、タブキーの扱いを変えたり、
インデントの深さが表示されるようにすれば
タブの時とほぼ同じように扱えるというのも大きい。
0800デフォルトの名無しさん
垢版 |
2017/07/05(水) 08:17:50.67ID:o2lS8KPj
今でこそautopep8があるから俺も受け入れたけど、素のテキストエディタ使って
きっちりpep8に従ってた奴ってすげーわ。
0801797
垢版 |
2017/07/05(水) 09:05:21.25ID:n6J1aua5
>>798
ありがとう、ございます。

(でも、windows何です。)
0803デフォルトの名無しさん
垢版 |
2017/07/05(水) 11:05:10.43ID:BRC1acOi
>>779
秀丸にはインデントをスペースにする設定があるのに何でしないの?
0804デフォルトの名無しさん
垢版 |
2017/07/05(水) 11:59:26.25ID:W7p06HKZ
タブで書いた方がいい。
git か実行時に、タブを空白に変換すればいい

そういう処理を、シェルスクリプト・PowerShellスクリプト・バッチファイル、
またはタスクランナー、gitの前処理に書いておいて、自動実行すればいい
0805デフォルトの名無しさん
垢版 |
2017/07/05(水) 12:28:17.60ID:z5aRqQvk
pep8も、1行の文字数制限は気になる。
いくらなんでも16:9ではもっと書ける。
あのルールだけエディタではオフにしてる。
0808デフォルトの名無しさん
垢版 |
2017/07/05(水) 13:15:44.80ID:P2VGXh8m
pep8とか言語関係なしに、ある程度で抑えた方が読みやすい
巻物の使い方が横書きと縦書きで違うのはそういうところから来てるのではと思ってる
それに、Pythonで長くなる時って大抵がネストが深くなってるか、一行に詰め込みすぎてることが多いでしょ
関数定義とかでも、引数が多いときは適度に改行してる

あと、モニタが16:9になったのって、文字を書くんじゃなくて映像を見る方に特化した結果だと思うんだよね
だから、文字数制限を設けることは可読性を保つ上で有効だと思う

でも、pep8の一行の文字数制限は自分もオフにしてる
0809デフォルトの名無しさん
垢版 |
2017/07/05(水) 14:54:41.44ID:cUuA0iqJ
コードを改行する必要がある時、Python3を書くようになってからは、
バックスラッシュじゃなくカッコで括るようになった。
ただ、カッコ(関数含む)で頭を揃えようとすると、うまく収められない(かえって可読性が落ちる場合など)時は、
仕方なく行先頭から1インデントのところで妥協することも多いな。
0810デフォルトの名無しさん
垢版 |
2017/07/05(水) 15:47:23.00ID:XUcgmELe
別に妥協はしてもいいんだよ
PEP8PEP8言ってる奴ほど
PEP8の序文読んだことがあるのか?と思う
0820デフォルトの名無しさん
垢版 |
2017/07/05(水) 22:49:17.45ID:wG6YXXxV
ログインが必要なWebページにマルチプロセス?でhtmlを取得するにはどんな方法が考えられるでしょうか?
それぞれのプロセスでログイン処理をするのは無駄なのですが、ログイン情報?を共用する方法がわかりません
0823デフォルトの名無しさん
垢版 |
2017/07/06(木) 09:14:44.86ID:PkUzDJSz
multiprocessingモジュールを使う方法が考えられる
プロセス間共有データの機能も当然ある

あれ読んで理解できないなら100年はえーよ
今の君にできる手段を取る方が賢いね
0825デフォルトの名無しさん
垢版 |
2017/07/06(木) 12:38:59.11ID:PZBpqnTG
a=1
b=2
c=[a, b]
とした時に、リストcとして、a,bの要素はコピーされてまた新たにメモリが確保されますか?それともa,bを参照になるのですか?
0826デフォルトの名無しさん
垢版 |
2017/07/06(木) 12:57:25.03ID:PZBpqnTG
リストは効率悪そうなので質問変えさせていただきます
3次元配列(要するに画像データ)x,yがあって
z = np.array([x,y])
のように、リストのように使えますか?
一旦まとめた後、xとyを元の画像として取り出したいです
0828デフォルトの名無しさん
垢版 |
2017/07/06(木) 13:30:43.94ID:tGfEmR+Z
>>825
変数への再代入は新しい参照が変数に割り当てられるので気をつけて

a = 12
b = 34
c = [a, b] # => c[0]==12, c[1]==34
a = 100 # => c[0]==12, c[1]==34のまま
c[1] = 56 # => b==34のまま
# a += 1 や c[0] *= 2 などの代入もaやc[0]が新しい参照になる
0829デフォルトの名無しさん
垢版 |
2017/07/06(木) 22:28:56.26ID:0T2UvbzF
お前らに参照の話題はまだ早い
って言おうと思ったらもう混乱しとるやんけw
0830デフォルトの名無しさん
垢版 |
2017/07/06(木) 23:05:04.24ID:L8j5rxy6
>>820
Selenium WebDriver, Selenium IDE, PhantomJS などでの、
ブラウザの自動実行だろ

Ruby だろ。
Python は知らね
0831デフォルトの名無しさん
垢版 |
2017/07/06(木) 23:11:52.56ID:xNE5wZt1
質問です
公式サイトでPython3.6の32ビット版をダウンロードしてインストールしたのですが
Anacondaとういものがあるのを知って、インストールしたいんですが
公式サイトのPython3.6をアンインストールせずにAnacondaをインストールしても問題は出ないでしょうか?
OSはWin10の64ビットです
0833デフォルトの名無しさん
垢版 |
2017/07/06(木) 23:34:49.65ID:xNE5wZt1
うむ、公式サイトの目立つボタンでダウンロードしたら32bit版になってしまったのです
そこまで問題は出ないようなのでそのまま使ってます
0837デフォルトの名無しさん
垢版 |
2017/07/07(金) 01:28:21.87ID:HRVWihAA
Anaconda 64ビット版を、一般ユーザーでインストールすると、
環境変数PATHも書き換えるから、

端末から、python コマンドを入力すると、
AnacondaのPython3 が起動するようになり、
以前にインストールしていた、Python を呼び出せなくなる

つまり、python コマンドを、PC内から探す際、
環境変数PATHの順番で、起動するアプリを探すから、
同じコマンド名で、順番が後ろのものは起動できなくなる

例えば、コマンドプロンプトで、
where notepad
と打ち込むと、メモ帳を起動する、PATHの順番を表示する

試しに、PowerShell, PowerShell_ise で、以下を打ち込んでみ。
環境変数PATHは、; で区切る。
$env:Path.split(";")
(または、コマンドプロンプトで、path と打ち込む)

windows コマンド 検索順序
https://technet.microsoft.com/ja-jp/library/cc753427.aspx

環境変数PATHを書き換えずに、Anacondaをインストールするなら、
Anacondaの起動時に、明示的に起動したい、Pythonへのパスを与える

また、複数のPythonのバージョンを切り替えて使う、pyenv と言う仮想環境もある
0838デフォルトの名無しさん
垢版 |
2017/07/07(金) 03:34:06.79ID:tuAsaSiH
>>837
調べてみたところ、PATHが通っていなくて、
今まではファイルのダブルクリックで実行、Anaconda入れても実行ボタン押して実行
とかいう超初心者レベルで、どうも自分がやりたい事に必要なものは全てAnacondaに入ってるそうで
こんなレベルだと全く影響無い感じなのでしょうか
0839デフォルトの名無しさん
垢版 |
2017/07/07(金) 05:02:29.41ID:HRVWihAA
コマンドプロンプトで、
where python
と打ち込むと、PATHの順番が表示される?

表示されないのなら、環境変数PATHは更新されていない
0841デフォルトの名無しさん
垢版 |
2017/07/07(金) 11:38:05.24ID:avjxADi0
>>839
そのコマンドはエラーで何も表示されないです
システムの環境変数PATHのところを見ても該当のものが無いので、PATHは通っていないようです
ありがとうございます
0842デフォルトの名無しさん
垢版 |
2017/07/07(金) 19:21:51.29ID:bti4Si71
退屈なことはパイチンくんにやらせればいいじゃん
パイチンくんにw
0843デフォルトの名無しさん
垢版 |
2017/07/07(金) 20:52:20.52ID:8CZskrNj
UnixのシェルスクリプトをWindowsに移植しないとダメなんだけど、Windowsのバッチファイルの変数まわりと文字列操作がクソ過ぎてPythonで書こうと思ってます。
具体的には外部のテキストファイルを読み込んでforとかでグルグル回しながらそれをコマンドラインのパラメタとして渡していって実行させたいだけなんですが。(パイプとかで複数コマンド繋げたりディレクトリからファイル名引っ張ってきて変数に入れるとかしたい)
StackOverflow読んでたらargvとかあるし簡単そうっぽいんですけど簡単でしょうか。
なんでPythonかというとそのマシンがdosプロンプトとPythonしか入ってないいにしえのマシンだからという理由だからなんですけど。
0845デフォルトの名無しさん
垢版 |
2017/07/07(金) 20:59:20.71ID:eVPhxI3P
Cygwinじゃあかんのか?
まあPythonでも難しく無いだろうけど。
0846デフォルトの名無しさん
垢版 |
2017/07/07(金) 22:52:20.68ID:eky1cNPP
pythonのsubprocessか何かで呼んだ先のDOSのシェルが馬鹿過ぎてコマンド実行成功/不成功(エラーレベル)が返らないとか、pythonの問題でなく、ポーティングに耐えられないWindowsの愚かさに苦労させられた憶えが。
0847デフォルトの名無しさん
垢版 |
2017/07/07(金) 23:23:17.38ID:tdv0VtnU
超初心者がwindowsに文句つけてるのって傍から見て決してみっとも良いものじゃないよ
0848デフォルトの名無しさん
垢版 |
2017/07/07(金) 23:56:26.31ID:306a0YtN
窓のコンソールが腐ってるのは今に始まった話じゃない
今はLinuxがそのまんま動くからいいよな
0849デフォルトの名無しさん
垢版 |
2017/07/08(土) 01:27:55.43ID:U3WHqCD/
pygameのゲームパットについて、
調べても思ったより資料が有りません。

どのボタンが連動しているか、
分かりやすいサイトとか有りませんか?
0850デフォルトの名無しさん
垢版 |
2017/07/08(土) 02:52:33.69ID:DtvYnY/5
超初心者の質問するけど
absって関数の役割が絶対値を返すだけならどの用途でこんなの使うんだよw
プログラミングでなんの訳にも立たないだろ

と思ってしまうんだが実際どうなの?
0853デフォルトの名無しさん
垢版 |
2017/07/08(土) 04:23:54.74ID:+VXBkwGC
2つの座標間の距離を測る場合とか…
ごめんそれしか浮かばないや!
詳しい方お願いしますw
0854デフォルトの名無しさん
垢版 |
2017/07/08(土) 06:18:53.37ID:AQJwZpAA
(a if a>0 else -a)
って書くよりも
abs(a)
って書くほうが簡潔だし意味も明瞭。

こんなの要らないだろう界の王者はpass。全く何もせず、ただそこにある為だけの存在。
構文的に必要だからとか、借り置きのプレースホルダとかで使われる。
そんな pass にすら使いどころがあるのだからabsなんて有用すぎる。
passが価値のない石ころなら absは輝くダイヤ
0855デフォルトの名無しさん
垢版 |
2017/07/08(土) 07:21:57.25ID:GWGAvT8e
早朝から質問の答えになってない長文書いちゃうやつw
0856デフォルトの名無しさん
垢版 |
2017/07/08(土) 07:35:17.60ID:LFCUi1Tz
待機時間を正規分布にのせたいとき。
平均0分散1、かつ待機時間は正だからabs使ったなあ。
0857デフォルトの名無しさん
垢版 |
2017/07/08(土) 09:38:19.72ID:HUvrGmd2
>>854
passの代わりにことごとくNoneを使ってしまったことがあったが、
何事も無く終了してたから気づいたのはだいぶ後だった。
0858849
垢版 |
2017/07/08(土) 10:32:03.85ID:U3WHqCD/
ゲームで、
 absはステータスの 追加要素の管理でマイナスにならない様に使った。

passはユーザー側の操作ミスの時に何もしないって、書いてる。

absはpaizaで使う所が有った様な気がする。
計算上、マイナス値が帰ってくるから、プラスに置き換える。見たいな作業。
0859デフォルトの名無しさん
垢版 |
2017/07/08(土) 12:09:16.40ID:pgGJ402T
absは複素数でも使える(math.fabsだと複素数はTypeErrorになる)
>>> abs(1+1j)
1.4142135623730951
0860デフォルトの名無しさん
垢版 |
2017/07/08(土) 12:11:02.61ID:U3WHqCD/
記述の質問

x=[12, 6, 2, 7, 3, 11, 1, 4]
correction=0
Fixed=x[0:5]
correction+=1

print(x[0:5+correction])
上記風に、抜き出す数をFixed+correctionの様に表記したい

おねがいします。
0861デフォルトの名無しさん
垢版 |
2017/07/08(土) 13:46:50.03ID:c6P8qLwK
バイナリファイルから0.5バイトだけreadで読み取りたいとき、どうすればよいでしょうか?
numpyでビットを扱えるとは見たのですが,readは整数バイトでしか読み取れず互換性がわからないです
0862デフォルトの名無しさん
垢版 |
2017/07/08(土) 16:08:29.92ID:Fv/VLC2u
CPUですらなにもしないって命令があるしな

存在するものにはそれぞれそれなりの意味がある
0864俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/07/08(土) 17:15:11.49ID:U3WHqCD/
pygameでゲームパットを使った入力ゲームが作りたいです。
ゲームパットのキー読み込みが解らないので、教えて頂けませんか?

Git使ってないです。すません。

コード URL
https://ideone.com/UhwqyM
0866デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:16:25.59ID:DtvYnY/5
このスレ本当に勉強になるわ
ありがとう
プログラミング系はググっても情報が出てこないんだよなぁ
0868デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:20:15.48ID:U3WHqCD/
>>866
検索の時に、[プログラミング] って付けてるから出て来ないんだよ。
アフェとか役に立たない自己○○とか、ヒットしない。

[言語名]+[やりたい事] で出てくる。
python 配列
とか、ネタ発言だったら、マジレスしてごめん。┌(_Д_┌ )┐
0870デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:37:59.96ID:rnwsxGun
上位下位4ビットずつならシフト演算やビット演算じゃね?
なんでそういう事したいのか不明だけど
0871デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:42:18.50ID:AQJwZpAA
>869
今日児童書のプログラミングの絵本を子供と読んでいて
ニブルの説明があって初めて知ったわ。
0872デフォルトの名無しさん
垢版 |
2017/07/08(土) 18:43:51.67ID:BPlXEDNj
>>866
出来れば英語検索も視野に入れるといいぞ
英語があんまり分からなくても プログラミングの文法さえ分かっていれば
コードみればなんとなくわかることが多いからな
0873デフォルトの名無しさん
垢版 |
2017/07/08(土) 19:07:04.71ID:DtvYnY/5
>>868
プラグラムにおいて絶対値の役割とかググってもでてこないやん
>>872
まだその域まで達してない
関数を一通り覚えてる感じ
0874デフォルトの名無しさん
垢版 |
2017/07/08(土) 19:38:37.45ID:rnwsxGun
まあ数学の素養とかはある事を前提に語られることが多いよね

関数を全部覚えようとしても使わない記憶は忘れられるからあまり効率よくなさそう
最初はこういうのあるんだ、ぐらいのチラ見だけしといて
出来るだけ多くのサンプルコード読みながらわからないのが出てきたら都度調べた方がいいんじゃないかな?
0875デフォルトの名無しさん
垢版 |
2017/07/08(土) 19:59:34.96ID:l277hrw6
プログラムにおいて絶対値の役割ってのが斬新な発想だな。素質を感じる。
絶対値が何かを知ってたらまずこんな疑問が出ないからな。

絶対値返すのがabs()の役割だよ!!! ってふつう思うもんな。
0877俺が遊園地だ!
垢版 |
2017/07/08(土) 20:03:08.03ID:U3WHqCD/
pythonでC#用DXライブラリのゲームパット
<module>
dxlib.dx_ClearDrawScreen()
OSError: exception:access violation reading 0x0000000000000246


OSError:例外:アクセス違反の書き込み0x00000000?

ctypes.create_string_bufferを使用して初期化して下さい?
https://translate.googleusercontent.com/translate_c?depth=1&;hl=ja&prev=search&
rurl=translate.google.co.jp&sl=en&sp=nmt4&u=https://stackoverflow.com/questions/37973033/ctypes-python3-5-oserror-exception-access-violation-writing-0x00000000&;usg=ALkJrhix1xB_WYTfbf2IXdAk8Wu6KqQr8A

誰かエスパーして、解決法教えて下さい。 ┌(_Д_┌ )┐
0878デフォルトの名無しさん
垢版 |
2017/07/08(土) 20:06:20.38ID:fIuXTSpk
>>860
>Fixed=x[0:5]
開始インデックスの、0は省略できるから、
Fixed=x[:5]

>print(x[0:5+correction])
endIndex = 5+correction
print(x[:endIndex])

>>861
ビット演算で、4ビット取り出せばいい
0879デフォルトの名無しさん
垢版 |
2017/07/08(土) 20:09:34.39ID:GWGAvT8e
わかってねえなw
無駄に読んでしまった4ビットはどうすんだよw
0881デフォルトの名無しさん
垢版 |
2017/07/08(土) 20:11:10.50ID:fIuXTSpk
ゲームエンジンなら、
Godot は、Python風の言語。
Unity の、Boo も、Python風の言語

Pythonなら、Pygame, Kivy とか
0883俺が遊園地だ!
垢版 |
2017/07/08(土) 20:19:10.76ID:U3WHqCD/
>>878
ありがとう。

試しけど、文字描写の時点で
NameError:name 'DrawFormatString' is not definde
って出てる。訳分からん。

DXライブラリの描写はそのまま使えないとか?

Booスレって有ったけ?
覚えた方が良いとか? それなら、素直にC#覚えたいな。┌(_Д_┌ )┐
0884デフォルトの名無しさん
垢版 |
2017/07/08(土) 20:21:22.56ID:rnwsxGun
>>877
元の原文貼ってくれなきゃわからないよ
恐らくはpythonにはCのmallocみたいなメモリ確保命令が無いので
それで代用しろって事かな?
0885俺が遊園地だ!
垢版 |
2017/07/08(土) 21:29:33.31ID:U3WHqCD/
>>884
それだ!

ありがとう!

駄目だったら、もぅ一度聞きに来る。 ┌(_Д_┌ )┐
0886俺が遊園地だ!
垢版 |
2017/07/09(日) 00:44:31.26ID:QVaY8wyL
駄目でした。
問題も理解してないです。はい。

pygameのゲームパットの方向で調べて行きます。
また、何か有りましたら、お願いします。
0888俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/07/09(日) 02:07:10.10ID:QVaY8wyL
>>887
はい、試しました。
通常のボタン(○□△✘L1R1L2R2L3R3)では、指定した入力ができますが
矢印キーを受け取る仕組みが分かりません。

使用しているパットにはL3R3のボタンが有り、
左側のボタンがL3と同じだと言う事が分かってます。

私はどのようにして、矢印キーが押されたか調べれば良いのでしょうか?
なぉ、私の環境にはpand3Dがインストールされてます。
pand3Dを使えば入力が楽になるとか、ネットに書いて有ったのですが本当でしょうか?

頼りきって申し訳ないですが、
宜しくお願いします。
0889デフォルトの名無しさん
垢版 |
2017/07/09(日) 08:16:45.24ID:olFNX3ws
?そのサンプル動かせばボタン押したら何らかの反応あると思うが?
キーボードのカーソルキーじゃないよな?
0890デフォルトの名無しさん
垢版 |
2017/07/09(日) 08:55:12.63ID:iCzPmO29
脳障害の雪風の相手してる奴もやっぱり脳障害なんだろうな
高野豆腐頭に突き刺して死ねばいいのに
いや、死ね
0891俺が遊園地だ!
垢版 |
2017/07/09(日) 09:14:42.99ID:QVaY8wyL
すいませんでした。
DXライブラリのエラーと混同して、pythonではメモリやポインターが何処に有って
それ等を扱う記述の仕方が分かりませんでしたが、pygameのゲームパットでは
それらは扱う事は無かった用です。

みなさん、ありがとうございました。
0892デフォルトの名無しさん
垢版 |
2017/07/09(日) 09:54:31.98ID:PF9MLQv5
>>873
チートシート(カンニングペーパー)使えば?

最初に全部暗記するより
「いちいち調べるのが面倒臭くなって調べずにコード書く」
のほうが プログラマーとしては自然な流れだぞ
0893俺が遊園地だ! ◆ExGQrDul2E
垢版 |
2017/07/09(日) 11:39:54.70ID:QVaY8wyL
>>890
3ヶ月ぐらい前から、ずっと俺を攻撃してるけど
ネットストーカなの?

俺を攻撃しても、何も出てこないよ。
それとも、ゲ板から2年前の復讐に来てるとか?
0899デフォルトの名無しさん
垢版 |
2017/07/09(日) 12:43:30.27ID:PF9MLQv5
ゲームプログラミングなんてもともとそんなもんだろ

わざわざ工学研究用コンピュータで ブラックホールに吸い込まれながら宇宙船が撃ち合うゲーム作ったりな
0901遊園地
垢版 |
2017/07/09(日) 13:46:06.33ID:QVaY8wyL
上手くいかない、今は保留で良いや。
次に行くんで、どうもでした。


特に気にする程でも無いな。



ケツにマヨネーズ突っ込んで開発したら、
  完成する頃にはビビっとキてるわwww┌(_Д_┌ )┐
0903デフォルトの名無しさん
垢版 |
2017/07/09(日) 14:03:02.82ID:PF9MLQv5
>>902
Spacewar!ってゲーム

かなり古いコンピュータのゲームだけど
再現したブラウザゲームとかあった気がする
0904デフォルトの名無しさん
垢版 |
2017/07/09(日) 14:12:53.56ID:QE3TpFFP
>>903
youtubeにあったので見てみた
最初期のゲームってだけなのね
ブラックホールに吸い込まれる時の物質の状態とか見え方を物理シミュレートしたゲームと勘違いしてた
0905遊園地
垢版 |
2017/07/09(日) 14:27:52.30ID:QVaY8wyL
ちょっと、落ちるけど、
pygameのゲームパットの入力とpand3dの便利な機能が有ったら、
教えて下さい。
0907デフォルトの名無しさん
垢版 |
2017/07/09(日) 16:35:22.67ID:sX6v1jPj
Pygame, Kivy は内部で、SDL を使っているのじゃ?

インターフェースさえあれば、Ruby でも使えそう
0908デフォルトの名無しさん
垢版 |
2017/07/09(日) 20:15:46.31ID:ZpWWPhP2
引数が多くなって折り返したくなったときはどうすればいい?
pythonはインデントにうるさいらしいから、適当に折り返せない
0909デフォルトの名無しさん
垢版 |
2017/07/09(日) 20:28:20.77ID:kCsDRbjk
式の折り返しじゃなくて引数なら、かっこが閉じるまで文が継続しているとみなすから
それほど気を使う必要はないはず。PEP8に従うかどうかは別として。
0911デフォルトの名無しさん
垢版 |
2017/07/09(日) 21:20:02.58ID:fx6BiAYL
バックスラッシュかカッコ等でいけるよ。
PEP8に書いてあるけど探しにくいだろうな。
PEP8 折り返し |検索|
0914遊園地
垢版 |
2017/07/09(日) 22:55:25.98ID:QVaY8wyL
pygame
□ボタンを押したら、実行したい。
print(pygame.JOYBUTTONDOWN)#10
print(pygame.JOYBUTTONUP)#11
これだと数字だけ出てきます。

知りたい形式
if( パッドの入力状態 & ボタンの定義 )

DXライブラリ式に言うと、
if( GetJoypadInputState( DX_INPUT_KEY_PAD1 ) & PAD_INPUT_A ){
pirntf();
}

この形式で使いたいのですが、記述方法が分かりません
教えて下さいPAD_INPUT_AのAの場所は1,2,3,4,5,6などです。
0915デフォルトの名無しさん
垢版 |
2017/07/09(日) 23:07:08.22ID:714Ntp2x
import urllib.request
req = urllib.request.Request('http://yahoo.jp/')
with urllib.request.urlopen(req) as response:
  the_page = response.read()
  print (the_page)

Chromeで見るのとこれで取得するのではソースが異なっています。
Chromeを実際に立ち上げてそこからソースを取得するにはどうすればいいでしょうか?
0918デフォルトの名無しさん
垢版 |
2017/07/09(日) 23:50:23.21ID:olFNX3ws
>>914
だから先のサンプルコードを1行1行追いかけてその意味を考えなさい
英語も初級程度で済むはずだよ?
0919デフォルトの名無しさん
垢版 |
2017/07/09(日) 23:56:49.48ID:olFNX3ws
>>914
例えば君が提示したpygame.JOYBUTTONDOWNはイベント定数だ
ボタンの状態じゃない

サンプルコードを検索かけてよく見てみ?どういう箇所で使われている?
0920遊園地
垢版 |
2017/07/10(月) 00:04:44.59ID:PcFmqBkx
皆さん、ありがとうございます。
>>919
ボタンの定数でしたか、ありがとうございます。

一応、書いとくけど、
全部、読んだ上で記述方法が分からなかったw
0921デフォルトの名無しさん
垢版 |
2017/07/10(月) 00:40:51.42ID:pgROD2o1
>print(pygame.JOYBUTTONDOWN)#10
>print(pygame.JOYBUTTONUP)#11

10が下ボタン、11が上ボタン、
こんな定数みたいな数字を知って、何になる?

皆、数字を知りたくないから、わざわざ、
JOYBUTTONUP などの意味が分かる言葉に、置き換えているのに
0923遊園地 ◆ExGQrDul2E
垢版 |
2017/07/10(月) 01:01:13.13ID:PcFmqBkx
>>921
イベント数字を知らなかったら、どのボタンに配置されているのか,
分からなくなると思う。ゲームパットによって変わる様だし。デバッグとかで使わない?

また、俺をからかう為の文だったり
するの?
0924デフォルトの名無しさん
垢版 |
2017/07/10(月) 01:58:24.31ID:pgROD2o1
enum Fruits { apple; orange; banana; }

enum と同じ。
appleが、1か2かとか、値に意味はない

使う時には、
Fruits.apple
のように、常に意味のわかる、言葉で表す

1とか2とか、絶対に値では使わないから
0925デフォルトの名無しさん
垢版 |
2017/07/10(月) 02:02:51.08ID:t4qeEO37
> 全部、読んだ上で記述方法が分からなかったw

単純に基礎学力が全然足りてないんだよ。
英語にしても数学にしても情報処理技術にしても。
0927デフォルトの名無しさん
垢版 |
2017/07/10(月) 02:23:20.24ID:t4qeEO37
目標が高すぎ。
ゲームは諦めて、まずはサンプルコードすらすら読めるようにしろ。今はそれすら満足にできないんだから。
掛け算できないのに微分方程式教えろと言ってるようなもの。無理筋。
0928遊園地 ◆ExGQrDul2E
垢版 |
2017/07/10(月) 02:40:32.42ID:PcFmqBkx
サンプルコードで、やってる事は足し算ですけど?

while 1:
____for e in pygame.event.get():
________if e.type == pygame.locals.JOYBUTTONDOWN: #
____________print (str(e.button)+'番目のボタンが押された')
________elif e.type == pygame.locals.JOYBUTTONUP: #
____________print (str(e.button)+'番目のボタンが離された')

○番目に押された、処理がしたいのですが、
e.type==左は固定
eの変え方が分かりませぬ |д゚)チラッ
1.type ✘
pygame.event.get(1.type)==左固定 ✘
どの様に記載すれば良いですか?
0930デフォルトの名無しさん
垢版 |
2017/07/10(月) 04:05:32.17ID:pgROD2o1
JOYBUTTONDOWN は下ボタン、JOYBUTTONUP は上ボタンだろ。
何番目に押されたとか、そんな情報あるわけないだろ

もっと、まともに動く、サンプルを探せ。
技術文書も読め
0932名無しさん@そうだ選挙に行こう! Go to vote!
垢版 |
2017/07/10(月) 07:47:24.54ID:3IjyL7Ej
DOWN,UPは、押した,離されたじゃないの?
サンプルとドキュメントみると

どのボタンを押されたかはe.buttonの数字で区別する
>>928のサンプル動かしてみて、左ボタンを押して出てくる数字を使って判断する
0933遊園地
垢版 |
2017/07/10(月) 08:24:35.17ID:PcFmqBkx
>>930
公式サンプルだよw

>>932
でてくる数字は分かっても記述方法が分かってない。

e.typeの変え方が分からない
0935遊園地
垢版 |
2017/07/10(月) 08:40:40.21ID:PcFmqBkx
どんな記述でコードが通るか知らない?
キーボードのなら、
実際に使ってる人が居ないとか?

もしかして、そっちでは1つ1つのキーに処理を割り当てるのは事はできてる?

if pygame.event.get(1) == pygame.locals.JOYBUTTONDOWN: #
print ('aaaaa')
エラーじゃないけど、処理がaaaaaが表示されない。
0938デフォルトの名無しさん
垢版 |
2017/07/10(月) 11:22:48.39ID:HFpjBEAQ
pygame使うようなやつはだいたい年齢層低いやつ
0939デフォルトの名無しさん
垢版 |
2017/07/10(月) 12:54:52.56ID:h+eKj8nR
キーボードやマウスの例を見れば使い方大体同じだろうに

ただデバイスが常につながっている訳ではないからその点は注意が必要そうだけど
0940デフォルトの名無しさん
垢版 |
2017/07/10(月) 12:58:21.23ID:h+eKj8nR
つか、正解が出てくるまで待つんじゃなくて色々試せよ

サンプルが何やってるのかわからなければ100回でも読め
0944デフォルトの名無しさん
垢版 |
2017/07/10(月) 21:22:15.85ID:TZVwcXL0
すいません
百万単位の数値があり億単位にしたいのですが文字列にして後ろ2文字を除外する以外にスマートなやり方ってありますか?
0945デフォルトの名無しさん
垢版 |
2017/07/10(月) 21:53:01.16ID:wrxN6BcI
後ろ2文字を除外というのがピンとこない
例えば1234_5600_0000(1234億5600万)から1234_0000_0000(1234億)を得たいのかな?
それか1200_0000(1200万)を12_0000_0000(12億)に変換したいのか?
あるいは12_3456(12万3456)を1234億5600万と見なしてプログラムを書いている?
ちなみに数値のリテラルにアンダースコアをはさむ書き方は3.6から可能
0946デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:09:09.88ID:e/A+ULgc
>>944
>文字列にして後ろ2文字を除外する
なんでこれがダメなのかを説明してください
0948デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:09:59.98ID:UR+4+grg
そうゆうのいいから
0949デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:11:04.39ID:e/A+ULgc
説明が不足しすぎて回答に困る
0950デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:14:30.39ID:e/A+ULgc
>百万単位の数値があり億単位にしたいのですが
桁数を増やしたいのに

>文字列にして後ろ2文字を除外する以外
こっちでは桁数を減らしてる

いくら2ちゃんでもちゃんと自分で書いた内容ぐらい見直してから質問投稿しろよ
0953デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:18:47.32ID:UR+4+grg
そんなことしたら2ちゃんのメリット台無しじゃん
0954デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:20:57.28ID:e/A+ULgc
>>951
質問に単位が含まれていないので回答のしようがない
0955デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:22:12.21ID:TZVwcXL0
すいません > <
207319 (百万) を 2073 (億) にしたいということです
数学まったくできず100で割ればいいだけとは分かりませんでした
ありがとうございます
0956デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:22:25.30ID:e/A+ULgc
単位じゃなくて単位変換
0958デフォルトの名無しさん
垢版 |
2017/07/10(月) 22:23:19.37ID:kYDt/L0d
>>950
1234百万を12億にしたいって言ってんだから合ってんだろ

>>945
意味相手には100で割るのが正しいけど
割り算って怖い
何にせよ関数化して実装を隠蔽しておくのがスマート
0959遊園地 ◆ExGQrDul2E
垢版 |
2017/07/10(月) 23:19:24.24ID:PcFmqBkx
>>952
思ったより良い感じ。
ありがとう。

でも、メインにしてる32bit PCで動かせないのがキツイ


最近は、pythonの質問が減ったな。
0962遊園地 ◆ExGQrDul2E
垢版 |
2017/07/11(火) 01:50:18.29ID:QxseLuPf
何でそんなに強気な発言できるのか知らないけど、
理解してる見たいだし。数字の単位を知らなかった。だけだろ?

>>960>>961
3ヶ月前も俺に同じ事言ってなかったか?

プログラミング完全初心者と言うより、数字初心者なだけ。
また、発達障害かと思った。
0965デフォルトの名無しさん
垢版 |
2017/07/11(火) 12:28:07.61ID:6CPb4Fbo
import urllib.request
req = urllib.request.Request('http://yahoo.jp/')
with urllib.request.urlopen(req) as response:
  the_page = response.read()
  print (the_page)

Chromeで見るのとこれで取得するのではソースが異なっています。
Chromeを実際に立ち上げてそこからソースを取得するにはどうすればいいでしょうか?
0966デフォルトの名無しさん
垢版 |
2017/07/11(火) 12:32:05.67ID:2fK5DHni
>>914 からの一連のレスの日本語がよくわからんので合ってるか自信ないけど
・何番目「の」ボタンが押されたか と 十字キーの左ボタンが押されたかどうか
を知りたいのだとすると

>>887が示してくれてるサンプルが動いてるとして
# For each joystick: のコメントの下のループの中で
・ボタン : button = joystick.get_button( i )
・アナログ軸: axis = joystick.get_axis( i )
・十字キー: hat = joystick.get_hat( i )
でそれぞれ状態を取得してるのが確認できると思う
とりあえず確認したいならそのループの
textPrint.unindent()の行の下に同じインデントで

btn1 = joystick.get_button( 1 )
if btn1 == 1:
____print('ボタン1 on')
hat0 = joystick.get_hat( 0 )
if hat0[0] == -1:
____print('十字キー左 on')

とか追加して動作させてみれ
動作が理解できたらもっときれいに書き換えればいいと思う
0967デフォルトの名無しさん
垢版 |
2017/07/11(火) 12:45:19.83ID:szUarz9M
文字列をバイト列にしてから、1バイト毎に区切ってリストにする方法を教えてください
0970デフォルトの名無しさん
垢版 |
2017/07/11(火) 13:50:34.56ID:UvVSpj13
>>965
こーゆーことだろ?
stackoverflow.com/questions/24226781/changing-user-agent-in-python-3-for-urrlib-request-urlopen
0971デフォルトの名無しさん
垢版 |
2017/07/11(火) 14:06:17.65ID:6CPb4Fbo
>>970
レスありがとう
聞き方が明らかに悪かった スマン
ChromeブラウザをシミュレートではなくPythonから実際に立ち上げて(Javascriptなどが正常に動作する状態)、
例えばログインをさせてログイン後の情報などを取得したいのです。
0972デフォルトの名無しさん
垢版 |
2017/07/11(火) 14:35:07.10ID:EEzJWlBe
どこが作ったかも分からん外部のソフトからログイン情報取り放題なんて
そんなことできるブラウザ誰も使いたくないだろ
0974デフォルトの名無しさん
垢版 |
2017/07/11(火) 15:00:35.26ID:6CPb4Fbo
>>972
ブラウザそのものはGoogleChromeをPytonが立ち上げ、
中を解析してIDやパスワードをPythonが自動で入力する感じ
Python側は最低限のスクリプトで済むから
ブラウザ側さえしっかりしていれば特に不安はないと思う
0975デフォルトの名無しさん
垢版 |
2017/07/11(火) 15:02:46.18ID:6CPb4Fbo
>>973
Windows 7 64ビットでやらせたいと思ってる
結構調べてみたけどPythonでのやり方が見つからず困ってる
本当はWSHですべきなんだろうが
Pythonでも気軽に実装できない物かと思って・・・
0976デフォルトの名無しさん
垢版 |
2017/07/11(火) 15:22:00.96ID:2fK5DHni
selenium webdriver chrome pythonで検索
ログインとかはよくわからんけどブラウザ操作なら定番だと思う
0979デフォルトの名無しさん
垢版 |
2017/07/12(水) 00:16:37.16ID:TXJK2TKs
>>971
ブラウザを立ち上げたくないならselenium + VirtualDisplayがいい。
selenium VirtualDisplay pythonで検索
0985デフォルトの名無しさん
垢版 |
2017/07/12(水) 15:22:51.18ID:DehH2XXv
>>979
よー分からんけどChrome59で追加されたヘッドレスモードでよくない?
phantomjsの後継だよ
0987デフォルトの名無しさん
垢版 |
2017/07/13(木) 09:35:54.55ID:ccM29dw+
次スレ立てていいですかワッチョイで!
0992遊園地
垢版 |
2017/07/13(木) 12:59:51.45ID:laCJofEm
質問自体が少ないの良い事なのでは?
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 45日 21時間 50分 30秒
10021002
垢版 |
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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