くだすれPython(超初心者用) その34 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
エラーを解決したいときはエラー表示や環境(バージョン/IDE or command line)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで
前スレ
くだすれPython(超初心者用) その33
http://echo.2ch.net/test/read.cgi/tech/1490424742/ 関連スレ
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/ 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
この正誤表の訂正前の記述もこの初版とは異なりますので要注意。 条件が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を切り替える以外に方法ありますでしょうか? >>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)) >>7
最終的な目的がわからんのだが、他の方法でやりたい理由は?
単にスマートに書きたいってだけ? >>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') >>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] リストにしなくてもこれでいけそう
flag = True
test = 'あいうえお' + ('かきくけこ' if flag else '') + 'さしすせそ'
print(test)
どうもありがとうございました。 そこにこそformat()だろ。
test ='あいうえお{}さしすせそ' .format('かきくけこ' if flag else '') >>14
ありがとう
確かにこっちのほうがきれいだ 実行完了後に端末を閉じたい
exit()で終了すると思ったのですが終了しませんでした。
https://ideone.com/wTEMeN そこを何とかお願いします
最初の1秒の間にエンター押したら起動後に消えてくれます >17
tesut
じゃなくて、
test
って書いてほしい。
import os
import signal
input("hit Enter to close the console")
is.kill(os.getppid(), signal.SIG_DFL)
これでターミナル閉じたよ。wundows >22
is.kill
じゃなくて、
os.kill
誤字すいません。 d を辞書としたとき、
for k in d.keys():
と
for k in d:
は等価ですか?
等価だとして、どちらが早いですか? >>26
dからkeysを探して呼び出す手間が入るから等価ではない、速度差は上にも書いてある通り誤差だろうが >26
disっていう標準モジュールで、バイトコードを逆アセンブルした結果を見れるよ。
既に指摘のある通り、
d.keys()だと
LOAD_ATTR
CALL_FUNCTION
が余計に入る。
実行時間は、誤差の範囲と思う。 >>27-29
ありがとうございました。
for k in d:
のほうが速いというのは意外でした。 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: >>32
ありがとうございます。
調べてみます。
>>33
実際に計算して計算時間を計るというのは思いつきませんでした。
やってみます。 >>31
for name in expr:のexprは最初の一度だけ評価されてイテレーターになるので
ローカル変数にexprの結果を割り当てても、その手間分コストが増えるだけじゃないかな
http://docs.python.jp/3/reference/compound_stmts.html#the-for-statement >>37
なるほど、そうでしたか。
ありがとうございました。
内側の for 文の in の後の集合は毎回評価されるのかと思っていました。 あ、でもやっぱり B は毎回評価されるような気がします。
例えば、↓のようなコードを考えると B は毎回評価されないとダメな気がします。
for i in A:
→ここで B を変更する
■■for j in B: 何十万回もループを回すような場合だと、ローカル変数への割当は、数十ミリから数百ミリ秒の高速化になった記憶がある。
あと、ネストしたリストへのアクセスは遅いので、
a[m][n]に二重ループでアクセスする時は、
am=a[m]
と1つめのループの中でしておいてから、
二つ目のループの中では、
am[n]としてアクセスした方が、速くなる。
これは、ループが1000回くらいでも、ミリ秒単位でちゃんと差が出る。
もちろん、index使ってのアクセスよりも、
for elem in lst:
としてイテレータ使う方が速い。
profiler使うと、関数単位でどこに時間が、かかっているか分かるので、オススメ。
SpyderとかのIDEに組み込んであるのが使いやすいと思う。
高速化に興味があるなら、ハイパフォーマンスPythonっていう本がオライリーから出てるから、参考にしてみては? パフォーマンスよりpythonらしい書き方かどうかを気にすべき >>22
どうやら僕の環境では無理な用です
Geany1.27 F5起動 python3.5.2
返信遅れました
ありがとうです(気持ちだけ) >>17-23
プロセスには親子関係がある。
端末からPythonを起動すれば、親は端末で、子はPython
親を終了すれば、子も強制終了されるから、正常な終了ができない。
メモリ上にあるデータが、保存されないかも
普通サーバーなどは、デーモン化して、親プロセスをなくす。
そうすれば、親が終了しても、無関係だから安全 for a in [1,2,3,4,5]:
[tab]print(a) ←インデントする
print("こんにちわ") ←インデントしない
「python入門教室」のサンプルでこんなコードがあって、
インデントしない部分は繰り返されませんよみたいなことを教えたいようなのだ
普通にこんにちわを続けてインデントしなかったせいで
SyntaxError: invalid syntax って出て実行できないんだが。
これって本がおかしいですよね?
ちなみにコマンドプロンプトでやってます >>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 >>47
ありがとうございます。
本だと、こんにちわをfor文に組み込んだら
1
2
3
4
5
こんにちわ
みたいな結果が出ると書かれてました。
わかりづらいので該当部分載せます
http://i.imgur.com/V46Hrjy.jpg
http://i.imgur.com/xzyC4jE.jpg もしかして、メモ帳から作成したファイルなら実行できるとかですか? >>49
(メモ帳がpythonに適しているかは疑問だけど)できます
ページの上のほうにexample-04-03-01.pyとファイル名が書かれてるので
スクリプトファイルの編集&実行を前提にした(not対話シェル)項目っぽい メモ帳は、プログラミングに使えない
メモ帳で保存したテキストには、
BOM(Byte Order Mark)という余計なデータが付くから、正常に実行できない
TeraPad など、他のエディタを使うべき >>49
他の人も書いてくれているが、
普通はメモ帳じゃなくてIDEやエディタを用意する。
python エディタでぐぐるといい。 >>51
この本、最初のほう飛ばし読みして分かったのですが、すべてIDLEで学習していく本みたいです・・・。
しかし、IDLEでも結果はエラーになりました・・・。
>>> # coding:utf-8
>>> for a in [1,2,3,4,5]:
print(a)
print("こんにちは")
SyntaxError: invalid syntax >>54
ちゃんと人のレス読んでるのか?
>>51
>入力の完了を示すために最後に空行を続けなければなりません。
>すべてIDLEで学習していく本
>>48の画像に「example04-03-01.py」とか書いてあるからそれは無いだろ。
ちゃんと1ページづつ追って読んでいけ。 >>54
IDLEのshellじゃなくてFile→New Fileでエディタ起動してコード書き込んで保存してF5押せばいい >>55
エンター押しても空行になりませんでした... そもそもコマンドプロンプトで出来ないコーディングとシェルでしか出来ないコーディングがある時点でパンクしそう.. >>56
EmEditerでやったら同じソースなのに今度はユニコードエラーが発生
もうわけわからない... あ、new fileでやったら動きました
ありがとうございました...
失礼しました >>22
OKだよ
>>45
それは仕様であって>>17が考えること >>57
エンターを押した時点でforループが実行(完了)される。
>>> for a in [1,2,3,4,5]:
... print(a)
...
1
2
3
4
5
>>> print("こんにちは")
こんにちは
プログラミングやるならエディタで作成したファイルの文字コードは認識しとかなきゃダメ。
とりあえずUTF-8選んどけ。 ってか、>> ID 8pr90v8J は
Android 5.0(Lollipop)を搭載したNexus 5
使ってるのか……。 >>63
emEditerのユニコードはshift-jisで動きました。
あとemEditerもIDLEも、空行なしでも動きました。 バージョンアップしてたらAndroid™ 6.0か……
どちらにしろ誤爆なので、見なかった事にして下さい お前、流石にその(画像は)引くわぁ〜
音楽もアニソンばかりだし、せめて水樹の曲入れるなら、田村の曲ももっと入れとけよ
花澤の再生回数だけ異様に多いな 誤爆
携帯の解像度から機種を特定→別スレから大学生と推測→携帯の販売時期を検索
→大学3〜4年と推測→ちょうど、nexus7 2012の修理方法を調べてた
→正規復元方法を試す→不可→バッテリー交換しても電源が入らない→充電口の破損を確認→スイッチの異常か
基盤の異常かどちらか迷ってる→強い衝撃を与えたと聴いてる→どこスレで聞くか迷ってる間にアニソンすれに書き込み
かと、思ったが、まさかのアニソンスレと誤爆 プロジェクトごとにパッケージ分離したくてvenv使うとこまでは分かったんだけど
どういう名前でどこに置くのが一般的?
みんなプロジェクトのルートに「env」とかでおいてるんですかね l がリストのとき、
if e in l:
を多用すると極端に遅くなるんですけど、もしかして、線形探索して探していますか?
s = set(l)
if e in s:
としたほうが速いですか?
もしそうだとすると、自動的に
if e in l:
と書いたとき、 l を集合に変換して検索してくれればいいのにと思うのですが。 >>76
listをいちいちsetに変換したら、単純に線形探索するより時間がかかるからね。
最初からsetで持っておけば? setは順序を保持しないから、テストケースで失敗する事も有る
最後に結果をソートしても良いなら、気にしなくて良いんだけど……。 >>78
順序を保持しないコンテナのテストで順序をテストしようとしてるのがそもそもの間違い
素直にソートしれ >>76
listはハッシュ値を返せないオブジェクトも入れられるので集合変換の条件満たせない
検索重視ならOrderedDictがいいんじゃない?(それかサードパーティ製のorderedsetとか) >>82
OrderedDictをどうやって使うつもりや?言うてみい? >>77
なるほど。納得しました。
ありがとうございました。 >>77-83
みなさん、ありがとうございました。 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 の要素にアクセスできます。 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]) ループ変数の値をループ内で変更するとまずいとかそういうことはありますか? もっと問題をシンプルにしてみましたが、やはり理解できない現象が
発生します。
なぜか(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)) (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) iを内側のループで書き換えているのだから、当然そうなる。 >>86
尼のレビューがひどいけど、線型代数はプログラムと別に学んだほうがいいぞ pyautoguiを使った作業の自動化について教えてください。
以下の作業の自動化を試みています。
1.あるアプリケーションでファイルを読み込み、処理を行う
→2.(処理を終えるまで待つ)
→3.次のファイルで同じことをする(以下繰り返し)
2.の段階では現状、ファイルのサイズに合わせてsleep関数で調整していますが、
それだと、ちょっとした処理の遅れでタイミングが狂ってしまい、
以降の動作がうまくいかなくなる問題があります。
処理が終わって「クリックやキーボードなど、操作できるようになったよ」という
状態を認識する方法ってありますか。 対象プログラムの実装によるから汎用的な方法はないですな 解決法としては、どんな(余分な)処理をしても、あり余るsleep時間を設けてループさせる
処理終了後に画像やメッセージを呼び出して、認識させてから次に移る(フラグの受け渡しとか?)
どんな処理か具体的に上げてくれないと解らない >>98
処理の内容は、ほとんど上記に書いた程度です。
音源から指定周波数の音を抽出するアプリがあり、
アプリ上のあるボタンをクリックすることで変換作業が行われます。
そこで新たに変換後ファイルが生成され、同時に10秒ほど処理待ちでフリーズ?して、
操作可能になったら次のファイルへ移ります。
>処理終了後に画像やメッセージを呼び出して、認識させてから次に移る(フラグの受け渡しとか?)
こういう方法ができればいいとは思ってます。
sleepで稼ぐのは必要以上に時間もかかるし、確実ではないので・・・。
「フラグの受け渡し」というのは、例えばどんな処理なのでしょうか。
サンプルコードとかってありませんか。 >>96
使ったことないけど、スクリーンショットを撮って、その画像を解析するんじゃないかな?
https://pyautogui.readthedocs.io/en/latest/screenshot.html
locate でスクリーンショット内から特定の画像の位置を探せるから、例えば有効状態になったボタンを周期監視で探せば、読み込み完了が分かるでしょ? >>99
変換後のファイルが解っているならそれを待てば良いのでは?
その後のスリープが十分な時間をおいてもそこそこには短いのではないかな?
本当はアプリ側から終了に関する何かができるのが良いけど
フラグファイルを削除、shellでアプリを実行、shellの最後にフラグファイルtouch
py側はフラグファイルができるの待ちなんてのは? winならHiMacroEx使って、マウス操作と(ファイル選択時に)キーボード入力したら良いと思う
一定隔離空けとけば、なんとかなるよ。
どうしても、pythonで実現しなければ行けない理由が有るなら教えて (つд⊂)ゴシゴシ
プログラムより先にフリーソフト頼ったほうが良いと思うよ(個人的にだけど……。) python3 ファイルりね-む
拡張子を維持したい
https://ideone.com/6EYAMA
どなたか、分かりませんか? よくわからんけど
os.path.splitext使うんじゃなくて?
どう置き換えたいのかわからんし、コメントの「拡張子を表示している」の意味もわからん >>101
一つの手かもしれません。試してみようと思います。
>>102
似たようなことかもしれませんが、
最初考えていたのは変換ファイルが生成されるディレクトリのファイル数を監視して、
ファイルが増えたら次の処理へ進む、ということを考えていました。
しかし、プログラム処理中にディレクトリを見ていると、
「変換処理」ボタンを押して、処理が完了するまでに一旦ファイルが生成してしまうんですね。
しかし、画面上ではまだクリックとかは受け付けられない状態なので
(例えばその状態でクリックすると、重いときによくある「プログラムが応答していません」となる)、
結局待機時間が必要となるようです。
最後の2行、もう少し詳しく教えていただけませんか。
理解しきれてなくて申し訳ありません。
>>103
目的は自動化処理の勉強でもあるので、
できる限り自分でプログラムを組みたいという意図はあります。
ただ、たまたまpyautoguiの存在を知ってpythonに手を出した部分もあり、
正直他の言語で対応できるなら、そちらを選択するのもありだと思っています。
よく使うOSはwindowsなのですが、
例えば、windowsプログラミングの知見があれば
今回のような状態を認識することとかできるのでしょうか? 悩むより、触ってみることの方が大事かもよ
おちんちんについては。 Windowsで他のアプリを自動運転したいとき
俺ならUWSC使うな
ボタンの状態なんかも読み取れるぞ >>106
110ではないがmacやlinuxならsikuliと言ったところか
アプリ側が連続処理中ではちと無理だね
一回一回変換するなら無関係なファイルをバッチなりで作れば良いのだがどうもイメージしている感じが違うようだ。
役に立てずすまんね >>111
誤って解釈していたらすみません。
「変換は一回一回」というのは間違っていないかと思います。
あくまで、ファイル読み込み→変換ボタンをクリックという操作を
pyautoguiにさせて、処理待ちフリーズ(といってもマウスは動かせますが。クリックを認識しない状態)が
終わるまで時間を稼いで、またpyautoguiで操作する、ということの繰り返しです。
そういう意味では、連続的に動いているのはpython側のプログラムだけで、
変換アプリ側は作業の待機状態になっている・・・ということです。
「無関係なファイルを作る」というのはどういう意図なのでしょうか。
とにかく、上記の「カーソルは動けるよ、けど画面上のアプリ操作とかは受け付けないよ」という状態を、
python側に強引にでも認識させることができればいいのですが・・・。 >>112名前つけ忘れました。
また、
×:「・・・」という状態を、
○:「・・・」という状態が解除されたことを、
でした。 >>112
変換ボタン処理中になんらの変化があるなら、変化=処理中って事ですかね?
何にしても「意識できる違い」を作るなり見つけるなりしないと。
そしてその違いをpythonで見分ける方法を知れば良いと思うけど
正直uwscやsikuliを使う方が素直に「自動化」だと思う
元々これらのソフトはGUIの自動化ソフトウェアなのだし
で、私から諸先輩方に質問が
PILを使おうと思ったらPILLOW?なるものも候補に出てきました
これは今後どちらかに統一される過渡期で両方出てくるのですか? >>115
>変換ボタン処理中になんらの変化があるなら、変化=処理中って事ですかね?
>「意識できる違い」を作るなり見つけるなりしないと。
>そしてその違いをpythonで見分ける方法を知れば良いと
まさにその通りですね。
例えば今思ったのは、いわゆる疑似フリーズ中に新規ファイルサイズが変化(増加)しているなら、
変化が止まったら次の処理へ、なんてことが可能かもしれません。
他には、python側でボタンを表示しておいて、
クリックを検出したら=ボタンを押せたら、次の処理へとか、
この辺りを試してみようかと思います。(うまくいくとは思えないのですが。)
uwscは使ったことがないのですが、
こういった問題は対処可能なのでしょうか。 超初心者スレなのに、自動化ソフトの名前が次々出てきて為になるなあ 自分で処理部分も書くんなら、処理中フラグ作って、処理の直前でtrueにして終わったらfalseにする。
GUI自動化の方はそのフラグ見てfalseならボタン押す処理を書く。
ってか、そう言う処理はコマンドの方が向いてるんだが。 >>116
118氏同様、コマンドラインで1ファイルずつ変換するならば、コマンド呼びで…とも思わなくもないが
GUIでこういう作り方を目指した…と言われてしまえばそれまで
環境やバージョン、使用ソフトウェア他、情報を全部提示するまでは
私以外は答えがないと思った方が良い>気まぐれはあるかも知れないが
それと、私はpython初心者だから、方法論は答えられてもpythonとしての答えは難しいと思ってね
pythonな御歴々のアドバイスを貰うに、質問者として情報不足している 最低限使用しているソフト名と動作時の状況が見える情報を添えて「ここがこう」程度の具体的提示は無いと…
で、PILとPillowはちょっと理解。PILが古く、新しいのがPillow(PIL Fork)。
しかもPillowは今後注目のSIMD版なんてのもあるらしい >>119
多分変換するアプリは質問者が作ったんでなくて既存のアプリなんでしょ
だからわざわざGUIにしたわけじゃないと思う
だったら、GUIの自動化ツールを探すよりは、コマンドラインで実行できる変換アプリを探す方がマシな気もするけどね
ただ、GUIのツールを自動化させると見た目的にカッコいいのは分かる なんでや全部コマンドラインでやったほうがスマートでかっこいいやん 銀行にお金入ってても現金で下ろせないと不安になるだろ?
それと、同じだよ >>123
それは、分かる人には分かるかっこよさ
初見はグラフィカルな方がウケるんだよ >>96
>1.あるアプリケーションでファイルを読み込み、処理を行う
>→2.(処理を終えるまで待つ)
>→3.次のファイルで同じことをする(以下繰り返し)
シェルスクリプトで書くと、必ず順番に実行される。
コマンド A;
コマンド B;
コマンド C;
もし、これが並列に実行されると、プログラミングが難しすぎて、出来なくなるから、
わざと、並列にならないようにしている
だから、Pythonからコマンドを呼べば?
処理は直列になる nums = [0,3,4,5,7,9]
このリストに含まれない数字を探してappendしたい。
リストを埋めるだけなら見つけたのですが・・・。
for i in range(10):
○if not i in nums:
○○nums.insert(i,i)
答えというより考え方が知りたいです。
よろしくお願いします。 >>129
そのスクリプトを解説して欲しいってこと? >>129
宿題か何か?
そんな処理に意味があるとは思えんが。。。
9以降はずっと無いから永遠に追加し続けておk?
9までだったら1から9までのリスト作ってXORしたら含まれてない数のリスト出来るんで、結合してソートとか。 ここ最近配列まわりの質問してる人でしょう
残念だけどプログラム(を学ぶということが)向いてないと思うので、早めにあきらめた方がいいと思うけどなあ
for n in range(10):
__if n not in nums:
____nums.append(n)
あるいは
temp=[]
forループしてtemp.append(n)
かな >>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) ary = [0,3]
for i in 0..3
puts ary.include?(i)
end
Ruby で書いたけど、i は、0〜3 だから、0,1,2,3 の順番に渡ってくる。
配列の中に、i があれば真、無ければ偽
結果は「真,偽,偽,真」の順 >>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とかすれば良い。 >>132
確かに>>129から自分で気付いて改造出来ない時点でヤヴァイね^^;
プログラマの道を諦めたおいらより才能ない。 a not in b # a が b に含まれない
ifで 含まれてないなら実行
not in ではなく in なのか?
普通に勘違いしてたw
重複削除ではなく、重複を検索したいのかww
warui,warui kore,paiza
mondai,dana
ganbare ちょww
たくさんありがとうございます。
>>135 そういう説明が欲しくて質問しました。
私の書き方が良くなかったです。失礼しました。
それを見ながらコードにしたいと思います。
念の為、宿題、配列の質問してた者、paizaでもないです。
スクレイピングが出来るようになったので基礎をしっかり身につけたいなと思って
自分に貸した問題です。そしたらわけわかんなくて・・・www
ありがとうございました。 うーん。。。
if i not in nums:を見つけた時点でほぼ答え出てると思うが。。。
バッチリ自分の探すコードと同じのって普通なかなか見つからんと思うのよ。
んで、数字を埋めてるって事は、数字の有る無しを判定してるって事で。。。
どのコードが自分の作りたい機能に使えるかを見つける為にも、探したコードは読める様になった方が良いよ。
前Javaスレで出会った人もそうだが、最近の子は物事を分解して組み直すって思考が苦手なんじゃないかと思えて仕方ない。
(GUI関係のコードとロジック部分のコードを分けて考えないで質問して来た) >>140
コードが読めないわけじゃないです。私、前スレの886で他人のコード読めるサイトがないか尋ねた者ですが、
誰かのコードを部分的に理解できるぐらいの知識はあります。質問をコードで答えてもらってもそれを理解できます。
しかし、いざ自分のしたいことをコードに表現が出来ないんです。書く前に頭で組み立てられない。
それゆえ、当てずっぽうにipythonに打って探してしまいます。
考えるときに手順を言葉で追っていくんですが、私以外の人はどうやって考えてるのかを知りたくて129の質問をしました。
ここだと言葉で説明してくれますから。 >>141
答えが知りたいんじゃなくて、学びたいのなら、まずは自分がどう考えたかを教えてください。
あなたの頭の中を晒してくれないと、適切なアドバイスも出来ないよ。 >>141
うーん?
当時のおいらみたいにプログラマになりたいだけで、作りたいものがなかったならともかく、作りたいものがあるんなら紙に書き出すなりして考えまとめれば>>129なんてpythonみたいな便利機能の無いBASICでも二重ループとifで同じこと書けると思うんだが。
じゃあ>>129はその処理をどうやって作りたいと思ったんだ?
作りたいものが画像処理とかバイナリの構造知らなきゃ作れない様なもんじゃ無いから、作り方を考えれば作れるべ。 本を読まないから、分からない
「たのしいRuby 第5版、2016」を3回読めば、たいていの事は書いてある。
それを読めば「みんなのPython 第4版、2017」も楽に読める。
この2冊は、表裏一体だから
Rubyで書ける事は、Pythonでも書ける。
ただし、Rubyの方が簡単だから、学ぶのはRubyで学んで、
それからPythonへ翻訳すればいい
単独でPythonを学ぶよりも、Rubyで考えて、Pythonに置き換える方が、簡単 .gitignoreってファイルを上方向に検索する方法ありませんか?
たしかループで親ディレクトリを辿ってファイルの存在を確認するとかそういうコードを書かなくても
標準ライブラリで出来た覚えがあるんですが思い出せません >>141
もう少ししたら仕事行くんで直接相手は出来ないが、>>143の言う通り頭ん中晒してみれ。
おいらの言葉がキツかったんだろうが、>>143辺りが懇切丁寧に指導するやろ。
おいらも明日帰ったら、突っ込み入れるし、おいらなりの頭ん中晒すから。 >>141
in → blackbox → out
まずこう考える
次に blackbox をさらに砕いて
in →
(in → blackbox → out)#入力を展開
(in → blackbox → out)#処理を実行
(in → blackbox → out)#結果を整形
→ out
頭の中でこんなふうにする。
最後に具体的なコードを書く。 回答ありがとうございます。
>>118, >>119, >>122
122さんの推測通り、変換ソフトは既存の市販ソフトです。
ですので、GUIで操作せざるをえないのではないかと・・・。
先にも書いたように、どうしてもpythonで、
というこだわりがあるわけではないですので、
違う方法も模索しようと考えています。
例えば、既存のソフトをコマンド上で操作することって、
技術的に可能なのでしょうか。
必要な知識を教えていただければ、勉強したいと思っています。
もはやpythonスレの範疇ではないですが、ご教示いただければ幸いです。 >>150
そのソフトが何かを教えてくれないと、誰も分からないと思う >>146
Rubyのコード汚いから帰ってくんない? ぶっちゃけこういう民度の低さのせいでRubyって言語自体に負のイメージ持ってる >>147
ごめんなさい。全然何を言ってるのか分からないです >>155
レス100番台から次スレの事言うと鬼が笑うってお前のじいさんが言ってたけど うちのじいさんが思い立ったが吉日って言ってたから建てといたよ()
次スレ
くだすれPython(超初心者用) その35 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1496411341/ ggっても、分からなかったので、質問します
教えてください
環境
3.2.71-slitaz
python3の夢幻召喚(インストール) ビルドして入れろ、それが不可能なクソ環境は窓から投げ捨てろとしか言えない >>150
OfficeとかはWHSから使えたけど、ああ言うのって多分アプリ側がそう言うインターフェースを提供してるんだと思うから、素直にマウスの動きを記録再現するアプリ探すしか無いんじゃ無いかな。 ビルドの仕方もわかんねぇ?
わっかんねぇ〜、すべてがわっかんねぇ〜〜♪♪ 独学でやるよりもプログラミングスクールやインターン行った方が上達するって本当ですか? >>166
pythonはそもそもpython教えてくれる学校や
使っている企業が少ないからなl わからなかったらすぐ聞いて解決できるけど
金はめちゃくちゃかかるな いきなり金払わせるとか内容に自信がないんだろ
初級くらい無料でやらせるのが主流なのに プログラミングに関しては教えてもらって覚えるより
ググり力を身につけるほうがいいと思うんだよなぁ
学校みたいな勉強してると「カンニングはいけないこと」とか思っちゃいそうだし すでに定義された問題を解くだけなら人に教わって解法を暗記すれば良いが、
プログラミングの世界だとまず自分で解くべき問題を定義することから始める
いくらスクールやインターンに行って解法を覚えようと、問題の定義が出来なければどうにもならない Pythonの学び方は、
>>146
に書いてある
皮肉なことに「たのしいRuby」で、Rubyを学ぶ方が、速くPythonを学べるw 初心者スレにまで来て、宣伝ですかぁ〜?
構文の仕様が、そもそも違う……荒らしは相手にたくないけど、
初心者が嘘、覚えて帰るのも、どうかと思うけど……なんとも言えないな 初心者に、Guido の本は最悪だろ
結局「みんなのPython」を読むためには、
「たのしいRuby」から読んだ方がいい >>176
売れなくて悔しいんだろうけどさぁ、なんでここで宣伝するの?
Ruby嫌いだってイワナ、書かなかったっけ >>171
なるほどねー
教えてもらうまで新しい技使ったらだめとか変な教育だよねー みんなのPythonも、たのしいRubyも
読まなくていい
Pythonやるなら以下の2冊がおすすめだ
空飛ぶPython
その後、入門Python3
この2冊はバリバリ書けるようになった後も
かなりのレベルまで役にたつだろう
どちらもPython3.3に準拠
プログラミングのやり方レベルの本は知らん Pythonの初心者向けスレなのか人生の初心者向けスレなのか >>1には書かれていない裏の目的として脱初心者のためのスレであってもいいと思うよ
回答者が自分の知識を確かめるために回答を勇気を持って書き込むスレッドです プログラミングの素養ってあるの?
C言語がつまらなすぎて挫折したけど
pythonも挫折したら怖い pythonが今のところ続けれているモチベーション
・むちゃくちゃ簡素なコードだから躓きが少ない
・C言語みたいにわけのわからない計算するプログラムが完成物でなく、参考書ではいきなり描画だの、webアプリだのクリエイティブなことが出来るワクワク
大学でやるC言語はほんとに何を目的にコードを打ち込んでるのかも分からなかったし、Cで作られる様々なシステムにも興味が湧かなかった
自分はもっとhtmlのようなクリエイティブなモノづくり、芸術がやりたかった
だから、pythonはものすごくいい。3DCGの分野とかもpythonのストライクゾーンらしいし 日本語が下手で申し訳ない
つまり、ペインティングするようにpythonだとコーディングするこの直感的な感覚、プログラミングしているのを忘れて物が作れる点に魅力を感じた
自分はデッサンもグラフィックデザインの才能も無いけど、プログラミングなら極めれる?なんて少し可能性に賭けている 行く行くはプログラミングを勉強してそれを活かしていきたい
否定するつもりはないけど、金融システムや公共システムに基幹産業システムやらのsier分野に現時点で興味が湧かない
となると敷居高いweb系の世界になるのだろうか...
どちみち、sierもweb系もプログラミングはあるから、その点Cよりpythonを扱うweb系が自分には正解なんだろうけど
とにかくweb系は出来る奴ばかりの集まりという感じがして気が引ける... そこまでが現在の不安です。
どなたか意見ください >>179
いま3.6までバージョンアップしているけど。 Unityは逆にPytgonのサポートなくなったな PycharmでPythonのコードを書いているんですが
今までは問題なかったのがつい先程から
(辞書作りなどで)日本語入力でコロンを打つとそれが消えてしまうようになりました。
半角入力なら問題ないんですが、都度入力を切り替えるのも面倒です。
ネットで検索もしたんですが同じ現象は見当たらず…
どなたか解決策をご存知でしたら教えて下さい… print('''')
何でこれエラーなんですか?シングルクォートの中でシングルクォートを書く場合は
シングルクォートを2個書くんじゃなかったんでしたっけ? >>197
それシングルクオート'を2つじゃなくてダブルクオート"を書く
日本語配列のキーボードなら、シフト押しながら2(wの上、テンキーじゃない)で"を入力できる
print("'hello'") # こんな感じ
print('''')がエラーになる理由は'''で三重クオート文字列が始まっているから
終端として'''をもう一度書かない限り文字列が終わらないんだ 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のインストール方法をご存知でないでしょうか?
教えてくださいお願いします 悪いことは言わないからpyenvでも使ってインストールしろ >>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
とかの計算ってどうやって実装するんですか? def init():
__変数たくさん定義
def test1():
__global init()
__なんかする
def test2():
__なんかする
みたいな非クラスながらinitありみたいなことがしたいです
一々global宣言するのも面倒くさい数の共通変数使いたい
オブジェクト指向化するとselfselfうるさいし、そこまでは大きいプログラムじゃない
どうにかなりませんか? あれシングルクオートの中でシングルクオートを書く場合は2個書くっていうのは別の言語の話だったかもしれない
何の言語だったっけな >>199
tar xJvf Python-3.6.1.tar.xz
cd Python-3.6.1
./configure
make
sudo make install
これでおk 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 >>204
まあ、pythonはpythonらしくなく使うのに向いてない言語だから、pythonらしさが合わないなら素直に別の言語使った方が良いよ 誰か分かりませんか?
できれば1*9 3*9のパターンもお願いしたいです 画像に書いてあるのも含めパターンが全然わからんし何を計算したいのかもわからん
あと3*3行列だけ計算できればいいのかそれとも任意の正方行列なのかとかもっと詳しく説明しろ 全通りの計算結果が欲しいです
配列の中の重複しない、すべての組み合わせ(2個ずつ3個ずつ……9個ずつ)
全通りの計算結果と式です 1と23456789
2と23456789
3と3456789
1と2 なら 3456789
1と3 なら 2456789
1と2と3 なら 456789
1と2と4 なら 356789
見たいな感じです ごめんまだよく分らんw
例えば配列をlとしてlの要素数が3だったら
l[0]*[1]
l[1]*[2]
l[2]*[1]
l[0]*[1]*l[2]
の4つの値を計算したいってこと??? amazonランキングにpythonの本が入ってるの初めて見たんだけど特別な本なの? 餅は餅屋だから
米か印のランキングみたほうがいいぞ
てか英語くらい読めないと >>221
実家にはあるし家庭用餅つき機でもつきたてはうまいぞ python人気だなぁ7年前の入門書が定価の7割もしたぞ
すぐ読んで売ろう >>207
まず、プログラミング以前の話として、プログラミングの環境構築ができないのだろ
環境構築するには、Linux のコマンドや、Windows の、PowerShell など、
各OSのコマンドを勉強する必要があるから、プログラマーには無理だと思う
paiza.IO, codepad など、webサイト上で、ブラウザからプログラミングした方が良い
Python-3.6.1.tar.xz
拡張子が、.xz だから、コマンドの説明を読んだ方が良い 最近のtarは圧縮方式指定しなくてもxfだけで展開してくれるけどな まだしばらく3.53でいいんじゃないか?2.7はもう手仕舞いする必要があるが。 printって書いたら自動で()書いてくれんかね
3になってからめんどくさいんだけど 2文字書くのがめんどいってどんだけprint使ってるんだよ 括弧打つの面倒だろ、キーマップいじってなければシフト押す必要あるし こんなことにまで「キーマップいじってなければ」って保険かけたがるメンタルの弱さ
いじめたくなるw print文を多用するとかてめぇさては関数型アンチだな? vimやemacsでも補完できるというのに
メモ帳でも使っているのかしら lispに1ヵ月くらいどっぷり浸かれば括弧が大好きになるよ! >>241
あー……前半と後半の難易度の違いすぎにワロタ奴か
ガチの初心者が買ったら泣くな、間違いなく LISP書いてたら配列の,入れるの忘れるようになってよくシンタックスエラー吐かれてた >>243
入れてるよ
ただバッチファイルではやりにくい処理とかをやらせるのに使ってたけど最近はPowerShellでやることが多くなったのであまり使ってない >>245
会社でpowershell、家でSwift、本当に好きなのはpythonな俺は、構文を混同して混乱しまくりだわ >>217,241,242
自作自演の宣伝ご苦労さんです s = 'abcあいう'
のときに
sl = ['abc', 'あいう']
に分割する方法を教えてください
分割する条件は半角の並びと全角の並びに分けることです >>248
そんなことよりあとのことを考えたら文字がなんなのか判定するロジックを考えた方がいいよ。 >>248
半角全角ってひらがな、カタカナ、英数記号全て含むのか? お前らpython使ってんのwww
ばーーーーーかwww >>249
ある文字が半角か全角か判定できる関数が存在すると仮定(isHankaku)して、それを使ったらどうやって出来るかをまず考えるのが、pythonらしいと思う。
とりあえず、
def isHankaku(c):return re.match(r"[0-9a-zA-Z]",c)
としておけば、テストぐらいは出来る。 >>254
それを正規表現でやるのは非効率的で意味ないぞ >>> 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'), ('', '')]
ここまでやってみたのですが
助言おながいしやす 一応これもやってみました
>>> 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'')] 小手先のやり方だな。一文字ずつ読んで判断していけよw
英語圏の人間は、文字によってバイト数が異なるということがない前提で作っているからな。 正規表現で半角の定義ができるなら
re.findall('[%s]+|[^%s]+' % (hankaku,hankaku), input)
で良いんじゃないの? >>> 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 >>248
>>254
>ある文字が半角か全角か判定できる関数が存在すると仮定
標準ライブラリにあるんだよなぁ・・
http://ideone.com/o6H6KL >>264
あっても無くても良いんだよ
まずは便利な関数があると仮定するところから始める >>264,268
ギリシャやキリルなどの曖昧幅が含まれる場合(east_asian_widthだとA)
環境によって幅変わるから自動的に半角扱いにするのは微妙じゃない? l=[['0','ab'],['0','cde'],['1','eff'],['2','ngg']]
上記の配列から
0と1の部分に分けて同じ多次元配列に入れる方法を教えて下さい
出力結果
r=[[abcde],[eff],[ngg]]
お願いします http://ideone.com/ijciMN
順序については言及されていないので考慮してない ほぼ同一でしかも俺のより洗練されたコードが書かれていたときのこの感じ
https://ideone.com/of0Ktr >>276
きのこ の 漢字?
嘘です
>>272
>>274
>>276
本当にありがとうございました。 >>277
亀だけど、keyごとにまとめるならitertools.groupbyがある
https://ideone.com/529rAp >>277
この先生きのこるという言葉が昔流行ってたなそういや >>278
ありです
チュートリアルを呼んだ限りでは、
pythonはもっと、やり方が少ないと思ってましたが、意外と多いんですね
単語自体は然程、変わらない見たいですが……。
ありがとうです。 Rubyはデフォルトで、encode メソッドで、日本語に対応している。
NKF で、カタカナ・平仮名など、細かく変換できる
外人は、日本語の定義に関わっていないから、日本語の判別はできない。
日本人が入っている規格・国際委員会じゃないと、判定できない さすが末尾がどうとか言ってた奴は空気を読む能力もひと味違うな >>282
endがキモい言語の話なんて聞きたくないでつーw >>282
> 外人は、日本語の定義に関わっていないから、日本語の判別はできない。
むしろ第一人者が外人なんだよなぁ・・ rubyなんて覚えなくていいんですよ
railsがもてはやされてるだけでそのうちphpみたいにおっさん向けになるだけですから!! まともなレスがほとんどないな
有料んとこいくしかないか 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つのキーを押す動作がうまくできていないのかと想像するのですが・・
すみませんが、よろしくお願い致します。 >>290
大変に有難うございました!
まさかバグで、このようにすぐ回答頂けて大変に助かりました。
そちらのサイトの2つめの答えの
To interact with a window, you need to set the context to〜〜
のような所を置き換えてみたら、
メインのタブに加えて新規タブを開くことができました。
stackoverflow等もすらすら読めるようにしないといけないですかね…
ありがとうございました! 例外処理についてなんかしっくりきません
例えばcgi.pyを用いてcgiスクリプトを作るとき、そのcgi.pyのコードを読めばどこでどんな事をした時どんな例外が出るか分かりますが、cgi.py自体も色々なコードをimportしていて全て追いかけていられません
そうなると、テストの段階で引っかかる例外には対処できますが、それ以外の例外は不明なエラーとして片付けるしかなくなってしまうはずです
また、どの関数が例外を出すか分からないので、止まる位置によって復帰処理を細かく変えたいところではtry:except:でコードがガタガタになってしまいます
何かいい方法はないでしょうか? 本番もログっといて対処できそうならするし、できないならしないだけ
ガタつくのはエラー処理を例外に頼る言語の呪いみたいなもんで
いかようにもしようがない >>293
どんな例外を出すか分からない関数が出してきた例外で正しく復帰するのは不可能だから諦めるしかない。
ドキュメントで明記されているものは処理して、他の例外はランタイムエラーでプログラムを停止させる。
ドキュメントがないライブラリは使わない 実際javaには検査例外っていう投げられる例外を明示してその例外が投げられたときの対処処理を書かなければコンパイルエラーになるって仕組みもあるからその感覚は間違ってはないけどね
この辺は難しくて言語によって未だに試行錯誤がある 試行錯誤はしてるんだろうが
検査例外を採用した言語はJavaを除いて一つもないので
信者以外はあれを失敗だと見なしている 仕事としては、Javaの検査例外が、確実。
絶対に無視できないから
ただ、面倒くさいから、Kotlin では無くなった。
そうすると、ろくすっぽ例外処理をしない、ソースコードが増える 確実に
catch(Throwable e){e.printStacktrace();}
するんですね分かります Pythonは初心者の者です、よろしくお願いします
Pythonの読み方は「パイトン」と「パイソン」どちらでも良いそうですが、現場なんかではどちらの呼び方の方が多いですか?
個人的には英語のギリシャ語起源の単語などの発音に近いパイトンの方が好みなのですが…
これは私の第二外国語がドイツ語だったせいもあるかもしれません 元ネタが日本でよくモンティパイソンって呼ばれてるからな、多分パイソンのほうが通じやすい >>305
英語圏ならパイトンは通じるだろうが、パイソンはまず通じない。 パイトンもパイソンも通じねえよアホか
カタカナ英語とか小学生かっての 正しくはパイチョンだ
チョンにアクセントをもってくる
これなら世界中に通用する NumPyについて質問です。
A = np.array([1, 2], [3, 4])
A.dtype
とやると
dtype('int32')
と出力されます。
ゼロから作るディープラーニングという本では、結果が
dtype('int64')
となっています。
この違いはなぜでしょうか?
anacondaは64bitのをインストールしています。 2つの配列を交互に結合
a=[0,0,0,0]
b=[1,1,1]
求める結果
0,1,0,1,0,1,0
どの様にしたら実装できるでしょうか?
教えて下さい。 [a[i//2] if i%2 == 0 else b[(i-1)//2] for i in range(len(a) + len(b))] 長さが同じならzip, chainでいいんだけどな >>313
Windows(笑)使ってるだろ
numpyのデフォルトの整数型のサイズは
その環境のCランタイムのlong型のサイズになる
Windowsは64bit環境でもlong型は32bit
LinuxやUnix(OSX含む)は64bit環境ならlong型は64bitになる >>317
Windowsに比べてLinuxが優れているところって何ですか?
どうも使いにくいのでWindowsのみ使っています。 windows用ソフトは単体で使うことが前提のものが多い
linuxというかunix系はコマンドラインで使うプログラムが主で
標準入出力の概念があるので複数のプログラムを連携させやすい flask でjavascript使うときってCDNでやるのが一般的ですか? >>314
from itertools import chain
a=[0,0,0,0]
b=[1,1,1]
r = list(chain(*zip(a, b))) + a[len(b):] Windowsのコンソールは設計が腐ってるからあれで作業したくない >>319
Windowsを考慮して書いている入門書は少ない
君がさっき持っていたような疑問が生まれないのがメリットの一つだね…
Windows対応ならWindows対応だと表紙に書かれるくらい特筆すべきことなんだ
レアなんだよ奇行種なんだよ Linuxはプログラムだけやるのなら問題ないと思いますが、
なんかプラウザの表示とかが綺麗じゃないように思うのですが。
あと見た目が洗練されていないように思います。
>>323
IDEを使えばWindowsでも無問題ではないでしょうか? >>325
大したメリットではないですね。
みなさんは、LinuxはVirtual Boxとか使って利用しているのですか? >>323
cygwin(gnupack)つかえば?
mintty,bash使えるよ >>312
+1
>>333
+1
>>327
いいえ
>>328
cygwinはオワコン
今はもっと楽にminttyだけ使える ユーチューバーは収入の仕組みが違う?!どっちが儲かるか?
http://youtube-youtuber.com/360.html
従来型のユーチューバーは、広告収入をメインの収入源としています
1.動画にのせる広告(動画広告+画像広告)からの報酬や
2.スポンサー収入(企業からの依頼を受けて商品を紹介)
海外のユーチューバーの傾向として、広告収入ではなく、自分のビジネスを
メインにすることによって広告収入を遥かに超える収入を叩き出しています。
例えば、beauty guru(美のカリスマ)と謳われる、ユーチューバーのミシェル・ファンは
広告収入は1800万得ていますが・・他方で美容化粧品会社Ipsyを立ち上げて、
年収1億ドル(約110億円)を売り上げました。
彼女は「メイクのチュートリアル動画」を投稿していますが、動画の中で自分の会社の商品を
使っているんです。
そしてその中で使った商品を、online shopで買える仕組みにしています。
他人の商品を紹介して、そこから「おこぼれ」を貰うより、自分の商品を売った方が
遥かに儲かりますからね。
リンジー・スターリングは踊りながら、バイオリンを演奏する、アーティストですが・・・
彼女の場合も、あくまでも動画を投稿するのは、自分のビジネスである、
ツアーチケットやアルバムの販売のためなのです ちょっと、スレ違いだけど
何でココの住人は親切なの?
リアルだと、自分で解決できないなら、自己責任&向いてない
で、切り捨て。
(有料なのは高すぎる上に、知りたい事聞いても、
1つの解決方法だけでコード説明とか、無し)
無料にも関わらずスレ住人が優しすぎて不安です。
随分前から、お世話に成ってるので書き込みました。 質問に答えるの使命ともと思い込んでいるのだろう
お前のいうことも正しい >>327
Hyper-V、Docker、自宅のサーバ、VPS
でも、Windows上でPython動かすことも結構多い 自分の知識ひけらかせるんだから教えるの好きな人も多いと思うけど
リアルだとそういう奴居てもウザがられてるんじゃねw ( 自己解釈、しておきます(笑) )
ありがとうございました Pythonの勉強がてらデータベースも使ってwebアプリ作ろうと思ってるんですが
Pythonはweb関連が苦手と小耳にはさみました
具体的にはどれくらい苦手なんですか? 苦手ってことはないと思うが
ただ日本でWebに使っている人は少なし
人が少なしは情報が少なし 苦手っていうより、pythonのwebフレームワークがJavaやRubyやPHPのそれに比べて、普及してないってことだと思う。
なんでだろ?
重いのかな? railsみたいな目立つた成功例がないのとレンタルサーバーで必ずしも利用可能でないこと、2と3の移行のゴタゴタの影響と色々理由はあると思う 斎藤康毅のディープラーニングの本に意味が分からないコードがありました。
p.111
def f(W):
■■■■return net.loss(x, t)
net は simpleNet というクラスのインスタンスです。
このコードがさっぱり分かりません。
W がなぜ引数にあるのでしょうか? ↓このプログラムですが、ひどすぎないですか?
斎藤康毅のディープラーニングの本のコードです。
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 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 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 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 がひどすぎる ★
★★★★★★★★★★★★★ ここは見た?
https://github.com/oreilly-japan/deep-learning-from-scratch/wiki/errata
確かに設計としてどうかと思うけど間違ってはないよ
numerical_gradientの実装コードみると内部で第2引数のnet.Wの値が変更されることになる
そののちにfが呼び出されるからちゃんと意図通りに動く >>350
間違っていないというのは分かりますが、あまりにもひどすぎます。
こんなひどいコードは見たことがありません。 fxh1 = f(x) # f(x+h)
↑ここですが、
fxh1 = f(a)
とかでもいいわけです。 こんなひどいコードを公にするという神経が分かりません。
害悪以外の何物でもありません。 女子高生の会話みたいに
「うんうん ひどいよね〜」
って言えばいいのか? トップページ > プログラム > 2017年06月12日 > yuw+moiO
一位 名前で検索したら本人twitterやってるじゃん
なんで直接言えないの?
https://twitter.com/sylvan5 学校の課題でどうぶつしょうぎを作れという課題があったのですがPythonでも作れますでしょうか?よかったら手順等も教えてもらいたいです 自分で調べる前から他人に丸投げとかいいご身分ですね
情報系の業界には出てこないでくださいね Pythonでも作れますかといわれたら答えはYesだが、GUIで駒の表示や移動もやりたいのなら、最初からJavaScriptかなんかで書いたほうが楽かもな
何を求められてるのかもっと明確にしないと答えようがない まあ申し訳ないけど自分で作れるかどうかが判断つかないレベルの人に1から手順を教えるのは難しいよ
プログラミング初学者向けのpython本でもGUI解説してる本もあるしそういうの読んでみたら? ■■■■■■■■ 君は何がしたいの?
共感が欲しいの?
質問が解らない
ディープラーニングの本は画像をメインに取り扱ってる
アマゾンのサンプルで書いた通りに
初心者に[入門 Python 3] と[コンピュータシステムの理論と実装 ―モダンなコンピュータの作り方]
で良いんじゃない? >>360
学校で習った通りに作れば良いんじゃない?
未だ、6月なのに、その調子で学校は大丈夫?
動物将棋は難しいよ……どの環境かは知らないけど、C#/C++に組み込み可能
webブラウザでも動かせる。どちらにせよ、GUIの所はpythonのみじゃかなり難しい
学校で習った環境で作ったら? >>360
少なくないお金払ってるなら、学校の教師に聞けば?
なんで、2chで聞こうと思ったんだ?
2ch住民より、頼りにならない教師って存在価値あるのか?
専門学校に入れなかった奴が、学校に入って、課題出された妄想でもしてんの? >>365
横だけど、教科書の粗探しができればうれしいらしい 超高校生級の自分が質問いいっすか?
ステートマシンやってみたいんだけど、説明聞いても実際のコードがよくわからない
c言語とかで書かれた簡潔なサンプルコードがあるんだけど、c言語は読めない
ちょっとpythonで、すごいシンプルなコード書いてみてもらえないでしょうか? >>375
いや、ステートマシンについて知りたいのはホント モニター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' ) pycryptoの組み込みがうまくいきません
pip installなどから試してみると
error C2061: syntax error: identifier 'intmax_t
のようなエラーが出てしまいます。 アホはOSとpythonのバージョンも書けないからな てめーらみてーなネット弁慶にゃ聞かねーよタコ
自己解決したわカスが
(提示する情報が不足していました。なんとか解決したのでもう大丈夫です。お騒がせしました) >>381
自己レス
http://e-yuki67.hatenablog.com/entry/2017/02/12/152759
SCREEN_WIDTH = 2160
SCREEN_HEIGHT = 1440
を自分の持っているモニターサイズに書き換えることでで解決しました。
ただ、データがビットマップ形式のため巨大すぎてメモリを食いつぶしてしまう
メモリ上でPNGなど適度に圧縮する方法ご存じの方ら居れば教えて下さい。
宜しくお願い致します。 もう画像に対して処理をしないならファイルに書き出しちゃえばいいじゃん
どのみちpngのまま処理はできないよ
やりたいならBytesIOを使って疑似的にファイルをメモリ上に作ってそこにsaveするとかでできるんじゃね >>387
ありがとうございます。
今までベクターにあるWin Shotというソフトでpngを1秒毎にRamDisk書き出し5分よりも古いデータは他のソフトで削除していました。
ただ、RamDiskといえどもI/Oに負担が掛かるのか、ディスプレイを4Kにしてから録画データが音ずれるようになりました。
そこで、RamDiskも不要になりますし、この際全てメモリ上で作成し、必要な時だけ書き出して確認しようと思った次第です。
BytesIOですか、、、調べてみようと思います。 やってる内容はスクリーンショットを連続して撮っていればうっかり、
ブラウザなど閉じてもそれまで見ていた内容や書いていた内容など
超短期のバックアップになり結構便利だと思うのですが誰も作っていませんよねー >>389
ブラウザとか普通履歴参照する。1秒おきに連写するとか普通いない、そういう用途なら録画の方が向いてるんじゃないの? >>390
例えばBBS書き込み中にうっかり閉じてしまった場合、それまで書いていた内容が消えたりするしそのバックアップ
他にもブラウザバックでは表示されない1IP1回表示の広告とかちょっと確認したり使い始めると意外と便利で手放せない感じなんだわ
こういうのは履歴では辿れないし・・・
録画ソフトはスクリーンショットを1秒どころか連続で取得するわけだろうしかなり重たいんじゃなかろうか? 行列プログラマーという本で使われているグラフをプロットする関数ですが、
SVGタグで直接プロットデータがhtmlファイルとして出力されてしまいます。
これを画像ファイルに変換したいのですが、SVGタグのデータを読み取って
pngとか他のファイルに変換するにはどうすればいいでしょうか? 以前はお世話になりました。
趣向を変え、音声データ変換ソフトを作ることはできないかと調べてみたのですが、
わからないことがあるので教えていただきたく。
http://aidiary.hatenablog.com/entry/20111001/1317441171
上記ページでmatplotlibというライブラリを使ってスペクトログラムを描画しているのですが、
任意の時間・周波数帯における強度(重み?)を、数値として取り出すことはできるのでしょうか。
最終的に、任意の周波数帯について時間-強度変化をエクセル等にcsv形式で数値として出力したいと考えています。 scipyのほうに入ってるscipy.signal.spectrogramがそれじゃね 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]のところのセルだけ実行すると
問題ない。 「python import from」で検索!
「from」の後にモジュール名、
「import」の後にクラス名という指定方法です >>293を書き込んだ者です。何度もすみません。
例外について本番でログを取りながら対処していこうと考えたのですが、例外のログを取る方法について、
try:
main()
except Exception as e:
logfile.write(e.message)
このようなメイン処理を全部括るような例外処理は良くないのでしょうか? >>402
良くなくはないけどどうせスタックトレースでるから無駄といえば無駄だけど習慣としては決して良くなくはない 処理速度などの面ではどうなんでしょう?
try:exceptで巨大なコードを囲んでも影響はありませんか? >>404
try:exceptの処理コストが一定であるとき
それに囲われるコードが巨大なときとちっさいときではどちらが影響が大きいと思うか
要はお前がどう考えるか次第じゃなくなくね? うーむ確かに…。そもそもpythonなんだから速度を求めるのもなんか違うような気がしてきました。
この方法でやってみます。ありがとうございます。 forでイテレータを回すと確実に例外がスローされているような言語では
そんなものは些細な違いだ Jupyter notebookを使っています。
anacondaの最新バージョンを入れたら、
以前は、
%load 'filename.py'
でロードできていたのに、
%load filename.py
としないとダメになったようです。
仕様変更がありましたか? コミットログを調べましたか?
jupyter notebookを過去のバージョンに戻しても再現するか試しましたか?
人に聞く前に調べたり試しましたか? 一通り、pythonの入門本3冊ぐらい終えて
エディタでボタンを表示するプログラムを作ったりclassを定義したりする練習から
いよいよwebアプリを作りたい!と思いいろいろ調べたけど、
webアプリのpython入門本はほとんど見つからず・・・
ネットで調べてみたらwebフレームワークってのからアプリを作れると書いてあり、
その数少ないフレームワークのチュートリアルブログを読んでみたのですが
いきなり高度な専門用語ばかりで全く理解できませんでした・・・。
以下参考にしたやつです
https://docs.djangoproject.com/ja/1.11/intro/install/
もしかしてpythonでwebアプリを作るのってめちゃくちゃ高度なことなんでしょうか・・・? どんな用語が理解できんのかしらんけど、入門本三冊もやったのならググりながらでもそのチュートリアル進めてみたらいいんじゃないかな python関係なくwebやるにはwebの知識が必要ってことじゃね
特にdjangoは巨大なフレームワークだからuiデザインパターンやデータベースまで理解していないとワケわからんってなると思う
webの知識がどの程度あるのか分からんけどいきなりフレームワーク使うんじゃなくてpython使ったcgiとかからやってみては? じゃあ、Webアプリを作るんじゃなくてWebアプリを叩く方からつくってみるとか ありがとうございます。
まず、用語以前に何を何の目的でor概念のレベルで挫折しています・・・
具体的には
開発用サーバー、ビュー作成、Databaseの設定、モデルの作成・・・etc
入本門には全く出てこなかった概念です。
include()だの、url()引数だの、専門用語を調べたところで今何をしてるのかが掴めません・・・ >>413
CGI・・・ そんなものがあるのですね!
web知識はhtmlぐらいしかありません・・・
とりあえず、djangoは当分理解できそうにないので、
他の道から勉強していきます・・・ >>411
オライリーのflask web development
は良書だよ 英語読めないのにpythonでwebとかマイナーなことやっちゃだめだろ packtのFree learningでもらったFlask by exampleもわかり易かった
オライリー本の著者のブログFlask mega tutorialやPycon 2015でのハンズオンセッションがYoutubeに上がってるからそれも良いね
せっかく色々な事が簡単に行えるフレームワークがあるのにcgiなんてやらんで良いだろ ごめん見たのはPycon 2014の方だ。これはオライリー本の内容をそのままなぞった感じ
ちょうど本が出版されたのと同時期だと思う >>422
javaやCの複雑な構文が嫌で、pythonはとにかく簡単なのと
入門本にはYouTube、インスタ、facebookなどの企業が採用してて
webアプリが得意分野の一つと書いてあったけど違うのかね
やっぱりPHPとかrubyでやるべきなんですかね... >>425
それは海外企業の話
日本では超マイナー >>425
Webアプリなら、Hypertext Transfer Protocolとかいうやつ勉強するといいですよ! >>427
Rubyみたいなendがウザイ言語を推した覚えはない djangoの利点はフルスタック故に必要な基礎知識とか関連知識が漏れなく身につくところ みなさんありがとうございます。
CGI python でぐぐったらいくつかチュートリアル記事が見つかり、
それでやってみたらとても簡単に仮想webアプリができました!
やっと、スタート地点に立てたと思いたいですね... 助かりました 100分くらいのhoge.mp3がありまして
3分毎に無劣化分割してhote-001.mp3を作って
hogeという新フォルダーに保存したいのですができますでしょうか (誤字修正)
100分くらいのhoge.mp3がありまして
3分毎に無劣化分割してhoge-001.mp3を作って
hogeという新フォルダーに保存したいのですができますでしょうか たのしいRuby 第5版、2016
改訂3版 基礎 Ruby on Rails、黒田努・佐藤和人、2015
実践Ruby on Rails 4: 現場のプロから学ぶ本格Webプログラミング、黒田努、2014
掌田津耶乃だったかな?
Rails 5 とか、Java の Spring の本を書いていたかな? >>425
日本じゃ日本製スクリプトってのもあってRoRが主流。
英語だったらPythonでWebアプリの入門書やそういうサイトはいくらでもある。
マジで英語読めるとまでは言わんが、英語のサイトも読むの抵抗無いくらいじゃないと世界から取り残される。
コードだけは世界共通なんだから、大体何関係のサイトか把握出来れば何とかなる。 長文です。
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]
親切な人、指摘をお願いします。 長すぎるとめんどくさいんじゃない
ちなおれはパッとみでわからんかったんでそっ閉じ もっと質問あってもいいと思うけど
どこでみんなわからんこと聞いてるんだろ Yahoo知恵袋じゃねーの
質問数だけならstackoverflowとかteratailの10倍以上あるぞ 質問しても、解答が無かったので荒らして良いですか ┌(_Д_┌ )┐
┌(_Д_┌ )┐ ┌(_Д_┌ )┐
┌(_Д_┌ )┐
┌(_Д_┌ )┐ ┌(_Д_┌ )┐ 日曜だから、人来て草ww 俺も会話に参加したい。
でも、荒らしたい。
う〜ん。「くまったくまった」 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() hoge.py
の中で
関数をdef mofu(a)します。
デバッグのために引数を入れてlinuxの端末からこの関数を実行したい時ってどうしますか? >>456
python -i hoge.pyするとhoge.py評価した後REPLに移るけどこういうのでおk? >>457
おお、こんなことできるんですか
ありがとうございます pythonで初心者が簡単なiosアプリを作るまでにはどうやるのがベストですかね? >>454
そういうものって、たいてい非同期だろ。
そんな同期のような書き方で、プログラミングできるのか?
JavaScriptだと、promise, deferred とかになる >>460
Kivy
むしろ、逆の様な気もする。
python自体がアプリ認識で、スマホ上で操作を便利にする感覚に近いかな? >>463
せっかくpythonで勉強したし、pythonで動かしてみたい
初心者にはまだ速いかな? 度々すみません。
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してみましたが、二次元配列が出力されるだけで、よく理解できず・・・。
ご教示いただければ幸いです。
よろしくお願いいたします。 ディクショナリーに、100万件とか1000万件のデータを格納するって普通のことですか?
具体的には、会員分析で、顧客番号をキーにしようと思ってます。
※pandas使えとかはなしで。 >>466
そのコードがあって理解できないとか終わってんな
宿題か学生の研究か知らんけど、お前には向いてない諦めろ >>467
普通の基準はなんだよ
マシンパワー一つ取っても普通なんてスペックはねえけど その規模は、プログラミングではない
データベースを使え 1000万件ほどのcsvデータを渡された時、
みんなどうしてるのかなと思って。
標準ライブラリしかなく、わざわざDBに格納するのも面倒なのでね。
ご意見ありがとう。
でも辞書でいきます。 >>471
とりあえず読み込んでみて処理させてる間に高速化や効率化の方法がないか考える
思いつく前に処理が終わればそれも良し >>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]ってことだろう
俺はこのライブラリは使ったことはないがリファレンスみりゃ使わなくてもわかる
なのでまずはリファレンスを見ましょう 会員分析で、顧客番号をキー(履歴も残すと考えて)
辞書じゃ処理的に無理が来るんじゃない?
種類A〜上限(1000~2000件)管理番号1〜200隔離で区切って、それぞれ格納
それから、使用頻度で 種類ごとの 上位へ
csvデータなら、面倒だけどエクセルに入れて、別形式で取り出して、再加工したら?
1000万件の一斉ソート(探査)だと、メモリとCPU管理必要かな?
10万〜30万件 ぐらいでフリーズしない? l=[[240,550,"あ"],[260,545,"い"],[280,547,"う"],[240,647,"か"],[260,655,"き"],[280,650,"く"]]
上記の様な配列を数値部分の値を元に「あ、い、う、か、き、く」となるようにソートしたいのですが、どのようにしたら良いのでしょう?
(2番目の数値の誤差を指定範囲で許容するソート) >>478
数値部分が2つ有るよ
どこの数値を基準にしてる?
2番目の数値の誤差って何?
どのように許容するの?
望む、出力結果はどんな形になる?
数値の値を元にしたら、「あいうかきく」にはならないんじゃ無いかな?
[あ 240] と [か 240] が衝突しない?
l配列のl[n][0]を基準にしてソートを行い、l[n][1]が許容範囲になる数値?
どんな計算方式でソート結果を出したいの? 基準値+許容範囲? >>471
行ごとに読み込みながらですめばそれでok
ソートとか入るならDBに突っ込む
SQLiteは結局メモリ処理になりそうだから駄目かも知れんね >477
回ったよ。
ざっくりメモリ量を推計すると、
10000000会員×8バイト(変数長)×10変数
=0.74ギガ
まあメモリにはのる気がします。
ちなみにpandas使ってもメモリの問題は辞書と変わらない気がしますが、辞書はメモリ効率悪いのですか? >>481
その計算方式 合ってるけど、間違ってるよ。
実際に回したら分かるけど、内部はソレで良いけど、外部の計算が無いんじゃない?
ガーベージコレクションの影響で一時的に重くならない?
メモリリークが起きた場合に再起動できない場合とか考えてる?
1000万件のデータを扱うなら、気安く再起動できないんじゃない?
あと、ちょっと遅い
(俺が話してるのは webの話だけど。) (なんとなくメモリの心配した方がデキる人っぽいから…) まあ実際、分析用途だと特にメモリがボトルネックになるんだよ。
SASみたいに、メモリに乗せない(それでいてある程度高速)で処理できるライブラリないのかな? ごめん、勘違いしてた。忘れてくれ(笑)
読みなおしたが何言ってるのは不明w 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" でよろしく。 >>479
ただ2番目の数値は547-550の範囲、647-655の範囲で各々同一値として扱い
1番目の数値の順番でソートしたいのです。
望む結果は>>478の通りです。 あーっとね
説明しなくていい(どうせ正確じゃないから)
入力と出力をPythonのコードで示して 0.00001が1e-5って表示されるのは何でですか?
0.00001って表示させる方法ないですか? パイソン歴2日の俺が答えます。
print("0.00001") >>494
うーん・・・・
"%f" % 0.00001
> '0.000010'
"%f" % 0.0000001
> '0.000000'
"{}".format(0.00005)
> 1e-05 >>478
>>490
l.sort(key=lambda x: (x[1] // 100, x[0])) 配列内の数値を探すプログラム
困ってる点
indexを使用したら、エラーが帰って来ます。
list=[1,1,0,1]
for i in range(len(list)):
list[i].index(0)
結果 エラー
AttributeError: 'int' object has no attribute 'index'
対応の仕方は有りませんか? >>497
なにがしたいのか分からん
配列内で0が最初に出てくるインデックスを知りたいならlist.index(0)だけだが >>495
なにがうーんなの?
全部想定通りじゃん >>499
ありがとうございます。
簡単な記述ミスでした。 >>500
"%f" % 0.0000001
> '0.000000'
これじゃ困るんですよ >>503
コンピュータ内の少数の表現方法知れば分かるが
2進数では例えば0.1とか0.000001は正確には表せない、もっと言うと正確に表すには無限の桁が必要になる
なので0.1って書いてもコンピュータ内では正確に0.1ではなく、それを厳密に10進数に戻しても例えば0.1000000000001みたいになるだけ
なので原理的に有効桁を指定してどこかで桁を切らないと意味ある10進数表現は得られない
%fだけ指定するとデフォルトで少数点以下6桁までを有効桁にするのでそうなる
それ以上の精度が必要ならそれを自分で明示するだけ python3はじめたんだけど、テキストエディタに書いた文をpythonにドラッグドロップしてもinvalid syntaxって出て反映されない
同じ文を直接打ち込むと反映される
どうして? 全く問題ない。@Mac OS X
エラーがおきそうなパターンをいくつか試したが、invalid syntaxを出す事自体が難しい。
>>506のをそのままドロップしても駄目? >>504
それなら1も何度も足し算してたらいつか間違った数になるのか? 整数って考えてみたら0001なら1、0010なら2、0011なら3みたいになるからそれは起こりえないか
でも、内部処理でこれをやれば、小数点でも問題なく表現できるんじゃない?
そう言えば、このバグと同じ原理かも知れないが、Excelもアップデートしないと間違った値返してたよな http://qiita.com/nnahito/items/ad1428a30738b3d93762
上の「ウインドウが開くプログラム」ですが
IDLEにコピペして実行するとちゃんと開くんですが、pyファイルにして保存
-> それクリック で実行しようとすると開きません
何が悪いんでしょうか (´・ω・`) メモ帳でUTF保存してBOM付いてエラーとエスパーしてみる すいません質問撤回します
別のパソコンだと出来たんで、プログラムじゃなく個別の環境の問題らしいっす
お騒がせしました tkが入ってないとか?
端末(コマンドプロント)から入力
pip install tk
pip install Tkinter
ソースへ
import tk
import Tkinter
pipが入ってないと実行できないかも >>511
そう言うのは10進少数とか何だったか忘れたが、速さより正確さ重視の金融系とかで使われる。 >517
python なら、decimal パッケージだね。標準ライブラリに入ってる。
COBOLも、十進小数の扱いが得意なんだっけか。 >>512
コマンドプロントが一瞬で表示されて消える
と、俺もエスパー >>517
プログラミング以前の問題としてお金の計算には絶対に少数は使うなって教わったんだがどういう用途で使うの? >>521
どうしても、紙媒体にしたいなら、
公式サイトからドキュメントを自宅のプリンターで印刷
Python 3.6.1 ドキュメント(日本語版,英語版)どちらでも
https://docs.python.jp/3/
>>524
為替とか株の数値だと思ったが、消費税とかを不正に操作する場合は
あえて、小数点の使う。後は普通に9円,10円の消費税を切り上で計算しない場合 金利計算なら小数を扱うだろう?
犯罪になったのは、それで小数点以下だったかの端数を自分の口座に入れたら億万長者になってバレたって話だったと思う 正確性が求められるところで使うなっていうのは浮動小数点数 >>527
それは言われてるな
当たり前
それにお金の計算は浮動小数点を使うほど金額の大小の差があるわけじゃないからね
固定小数点のほうが楽 >>526
金利はもちろん少数だけどお金は絶対切り捨てなきゃだめだってことでしょ。
金持ちになったからばれたんじゃなくて異常なトラフィックがある口座でばれたんだったと思う。
一回の取引で0.5セント端数が出るとして一万取引分頂戴しても50ドルにしかならんw Pythonではじめる機械学習
――scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎
難しすぎて、分かんない。
どうしたら良いですか? >>505-506です
テキストエディタに書いてUTF-8、名前をhello.pyにして保存してドロップドラッグしてenterを押すとinvalid syntaxになります
直接打ち込むとちゃんと表示されます
二台のPCで試したら両方とも同じようになりました TeraPad などでは、BOM無しUTF-8を、UTF-8N と呼んでる。
UTF-8 は、BOM付きだから、ダメ
メモ帳は、BOMが付くから、使うな >>529
トラフィック?
それを言うならトランザクションだろ
無理してよく理解してない言葉使うなよ w
端数をちょろまかせて自分の口座に振り込むようにしたのはプログラマーだからトランザクションを記録するとかアホなことはしてないと思うぞ
ちなみにこういう手法は俗にサラミ法って言われてIT-Passport試験とかにもでるらしい >>533
BOM付きで何がダメなんだい?
Python2だろうが3だろうが、コンソールがcp932だろうがcp65001だろうが
UTF-8-BOMでエラーなんて出たことないよ >>533
意味が分かった。>505-506のでは全然説明できてないから。
頭に「python 」(python +半角スペース)入力してからドロップしろ。 >>532
どういでもいい推測ばかりの回答に頼るよりも
それらのファイルをバイナリエディタで開いて
自分で比較してみることをお勧めする >>536
できた!ありがとう!他の人もありがとう!
そんなステップ本には載ってなかったよ! もしかして、
インタープリターを対話モードで起動した後、
>>> python "path/to/hello.py"
とやらかしたってことか?
これだと確かに "SyntaxError: invalid syntax" を返してくるし 水の流れをシミレーションしたい。
項目が多すぎて、どれを使用したら良いのか分かりません。
https://ja.wikipedia.org/wiki/%E6%B0%B4%E7%90%86%E5%AD%A6
特殊なライブラリとか有りますか? >>544
その程度の質問してるようでは、無理だ
たぶん卑近なお遊びに使いたいのだろうから、フリーのCFDソフト使うのがヨロシ(3DCGソフト内のでも可) フルイドシミュレーションはBlenderが搭載してたからそこから辿ればどのライブラリ使っているかわかるんじゃね? ナビエストークス方程式と連続の式を連立させれば数値解析で解けます
やったことないが windowsでGUI使いたいんだけどおススメはどれですか? 作るんじゃ無くて使うの?
作るならC#だけど。。。 ってPythonスレかw
tkinterじゃないかな?
tcl/tkはGUI作成特化言語としてもライブラリとしても秀逸。 優秀だってよwwwwwwwwwwwwwwww
おまえtkしかつかったことないんだな Gtkもあるよー
Gtkのが高機能だけど、導入のしやすさでtkinter勧めた。 >>554
pythonなら
1.tkinter
2.wxPython
3.PyQt
4.PySide
5.matplotlibのもUI楽しい
6.その他 配列を重ねる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]]
おねがいします。 思った結果と違うみたいです。
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]]) ベタに、二重ループ書いて、要素ごとに加算したら良いのでは。 上記のは縮小版で、本来は20*20の配列です。
パーツが21個有ります
https://ideone.com/4jwyEm
何処に、どのパーツが入るからランダムでシミレーションしたいと思ってます。
速度は気にする必要ないですかね?
>>563
>>565
返答ありがとうございます >566
テトリスっぽいことをしたいのかな?
値が01しかないなら、二重のリストでなく、20*20=400bitの2進数で表したら、orとることで重ね合わせたり、衝突の判定できたりするよ。
パーツの上下左右の移動は、シフト演算(2のべき乗倍する)で表せるよ。 訂正
衝突判定は&だね。あと、orじゃなくて|だね。 質問です
アノニマスに入会したいんだけどpythonで入れますか
あと入会に願書とか履歴書とか出すの? 瑕疵担保責任(かしたんぽせきにん)
瑕疵担保責任のポイント
民法改正で事実上期限が「無制限」になった
バグや設計のミスなどは、瑕疵担保責任
納品物に不具合があれば損害賠償を請求される可能性もある
不具合を指摘されたらすぐに行動をとるべし
軽微なミスでも先延ばししない
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年目以降は不具合の修正に対応しない」と主張するベンダーはまれだ。多くの場合は、納品から何年たっても、
バグが見つかればユーザーのところに飛んで行き、無償で改修するだろう。 >>570
500円分のamazonギフトでok? 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など動的言語は確実に廃れる。
保守に強い言語のみ生き残れる。 >>573
バージョンアップ後の対応は別で有料だから問題ない
python2.7 -> 3以上にアップデートでバグだと騒ぐバカ
死なないかな〜
そもそも勝手にバージョンアップするな >>573
その逆で、アップデートしないとシステムがクラックされる
強制アップデート、不具合発生→新規案件OK? seleniumの質問いいですか?
pythonからページのリンクにjavascriptを設定してクリックされたらpythonの関数を呼び出したいんですけど
無理ですか?
自動化したい処理の中に人力で操作する部分があってそれを待ちたいんですけど・・・ 強制アップデート起こってたら
新規で巻き戻す作業をする必要があるから作業費が取れる 強制アップグレードとか、
どこのWindowsだよ 責任が生じるのは、自分が故意でやったことだけ
他人がやったことや、自然災害など、
自分以外がやったことには、責任は生じない
高速で止まっている、10台の車に、後ろからトラックが追突して、
10台が連続追突しても、被害額を真後ろの車に請求できないだろ
真後ろの車は、さらにその真後ろの車から追突されているから、
自分が故意で、追突した訳ではない
漏れは、宅建・行政書士の資格にも受かっているけど、
損害賠償責任が生じる条件をチェックしてみ
基本的には、自分が故意でやっていないことには、責任は生じない。
犯罪の要件も同じ 当然払うべき注意を払わないで生じた故意ではない行為を過失という >>582
過失なら犯罪にならないとかアホすぎる w スレタイの読めないアホがアホ笑うなよ
2時間以内に中央線に飛び込んで死ね >>580
>新規で巻き戻す作業をする必要があるから作業費が取れる
取れない。今回の法改正で保守費用取れなくなった。 mac bookでpython3のツールを使いたいです。
デフォルトの2.7.10がインストールされてるということだけ分かっています。
ターミナルでhomebrewインストールパッケージを起動しreturnを押してパスワードと書かれた所まで行ってもインストールできていないように思います。
パソコンの大先生助けてください。 おれはmac使ってないから知らないけど自分でコンパイルすれいいじゃん >>577
できますよ。
selenium html 書き換えでぐぐればどういう仕組みでやるのか見えてきますよ。
がんばってくださいね! 取り敢えずjavaとxcodeインストールしたけど変わらないです。 名前欄に質問したとこのレス番を入れてください
途中から見てる人にも分かるようにして下さい >>593
すみません。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
これをターミナルで実行してEnterを押してpassword:🔑からどうしていいか分かりません。 >>595
ありがとうございます。
行ってきます。 凄いなpython
エクセル操作もできて無敵だなww selenium使っていると、タイムアウト処理いれても終わらない事ってありませんか? >>596
おれはhomebrewのホームページにポチポチやったよ
ちなみにパスワード打ち込んでもターミナルには何も表示されない
正しく入力してreturn押すだけ newlists = []
for m, n in oldlists:
newlists.append([m])
newlists.append([n])
これと
newlists = []
for m in oldlists:
newlists.append([m])
これは同じ動作をしますか?
同じと思ったのですが、下の方はリストに正しく入らずに後からエラーにりました。 すいません、解決しました
oldlistsが多重入れ子みたいなリストになってたせいでした githubで落としてきたプログラムを実行したいのですが、ターミナルでpython3 ファイル名.pyを実行するとerrno2 no such file or directoryというエラーが出ます
デスクトップにファイルを置いている状態なのですが、デスクトップ上のファイルを実行するには下記では駄目ですよね?
users/a/desktop/フォルダ名/python3 ファイル名.py デスクトップのファイルを実行するなら
デスクトップのディレクトリに移動しないと python users/a/desktop/フォルダ名/ファイル名.py あん?デスクトップにあんの?
フォルダ名ってなんぞ?
python users/a/desktop/ファイル名.py
これで動くか? >>603>>606
ありがとうございます
python users/a/desktop/ファイル名.pyで試しても同じエラーが出てしまいます
もしかしたら導入自体にミスがあったのでしょうか?
ここを見ながらpythonをインストールしました
qiita.com/crankcube@github/items/15f06b32ec56736fc43a それで出るなら、ファイルの絶対パスが間違ってるから
win10ならshift+右クリックからパスをコピーして
python (ペースト)
でやってみ、win10以外なら知らんからファイルの絶対パス取得方法でも調べて ルートの/、あとスペース含んでたりしたら""で囲む、かな? 絶対パスを、"" で囲んで、打てば?
「フォルダ名/ファイル名.py」
この、フォルダ名/ファイル名を、ここに正確に書いてみ
ファイル名・パスに、半角空白・日本語などを使うなよ そもそも、OSというかプラットホームが不明だな
パス表記がwindowsとも*nixとも異なるし python以前にパスの事が根本的に分かってない子なんだろ webカメラから写真(文章や数字)を保存して、
pythonからHiMacroExを起動して、Online OCRサイトを操作して、
データーをメモ帳に保存してから、エクセルやワードに打ち込んで、
最後に自動でマクロを実行して欲しい。
初心者ですが、可能でしょうか? エクセルやワードではなく、LibreOfficeでした。 python初心者以前にプログラミング初心者もいるようだな AndroidアプリのOneNoteで自己解決しました。
すいません。 まじかよ逆にOSを理解の段階とか意味ないくらいの短時間で全て把握できる奴がいるのか 横からだけど、プログラマなら知ってて欲しいかな。
正直、プログラミング言語の入門書を書く時、そこからだとダルい。
それで金取れる本職なら兎も角、無料で配布するしがない電子書籍書きとしてはいささか遣る瀬無い。。。 いあ、パスの概念知らないなら、binにパス通すのも知らないよね。
処理系のインストーラにもよるけど、ライブラリのパスってのもあって。。。cdはdir(ls)は?とか、芋ズル式にその前提を必要とスリ知識も書かなくちゃってなる。 >>624
芋ズルもクソもcdってパスの概念そのものだけど
何言ってんのお前w そのものだから相対パス知らんとcd ..で上のディレクトリに移動とかも分からんでしょ。
そもそもディレクトリとフォルダが同じ物ってところから説明したほうがいいのか?とか。
初心者向けはどこまで初心に戻れば良いのかがが逆に難しい。 >>626
いやだから全然ダルくないし難しくないけどそれくらいw 教えたい本質じゃ無いところにどうすれば理解してもらえる?って時間割いて考えてる時点でダルいし、その結果、図を書いたりするのもダルい。
モチベーションの違いだろうけど、教えたい場所じゃ無い所に力入れたく無いけど入れなきゃ初心者に振り向いてもらえないじゃん。
初心者のレベル自体が上がってくれたら。。。ってただの愚痴だよ。
悪かったな。 >>628
愚痴じゃなくて無知なのに知ってるふりしたかっただけだろw
分かってるよ最初からw 自分の知識と本の対処読者の知識を区別して考えられない奴おるな
これは人間の3歳児くらいの認識機構のレベルだ
やっぱり発達は違うな >>628
凄い分かる
初心者って何を判ってて何をわかってないかすら自分で理解してないから
プログラミング以前の事柄を何処から説明するべきかは悩む
うちの教育資料は長年かけて小分けにして網羅的に作ったよ
全部教育するのは無理だから必要に応じて渡す資料変えてる
>>629みたいに自分の知ってることは他人も全部知ってると思ってる奴が教育すると
独りよがりのオナニー教育になるんだよな その出版社がプログラミング初心者向けの本出してたら、あるいはサイトがあればそちらを参照、でいいんじゃね? >>635
プログラマなら他人を批判するにしても論理的にやりなよ
煽るのは2chの文化だから否定はしないけど
子供みたいな煽りばっかしてるとただのアホにしか見えないよ >>637
お前に俺がどう見えるかってのは論理的なのかお前にとっては?
面白いやつだなお前w >>638
その通りだよ
根拠のない事を論理的な説明もなしに決めつけて発言する人は
説明できるだけの知識や語彙力がないと見受けられるから
アホっぽく見えると言っている
これで説明できてる >>639
意訳すると「ボクには理解できない事言ってるからきっとアホなんだろう」だよ
お前の言ってる事 >>640
それは意訳ではなく曲解っていうんだよ
1つ勉強になったね
ついでにその曲解した内容についても言っておくと
「ボクには理解できない事言ってるからきっとアホなんだろう」
では無く
「他人が理解できる説明が出来ないから本当にアホなんだろう」
のほうが近いね >>642
曲解の意味間違えてるぞお前w
てかお前いわゆるマウントってやつを取りたかったのか?
「1つ勉強になったね」ってw >>643
何も間違ってないよ
自分がアホじゃないと思うのなら何が間違っているのか説明してごらん
マウントも何もアホな人が知識を広げたのだから
喜んであげるべきだろう >>644
プログラマなら他人を批判するにしても論理的にやりなよ
どっかで聞いたセリフだけど
お前もうアホアホ連呼してるだけじゃんw >>645
なぜ君がアホなのか今まで説明してきたきたけども
理解できなかったのかな?
アホだと思われたくなかったら
ちゃんと君自身の発言に対して
君自身の言葉で説明してごらん
それが出来ないからアホなんだよ
ツール・ド・フランス見るの忙しいからこれで終わりな 一方的にアホ認定して終了宣言w
なんだったんだコイツはw >>629
なんか呑んでるうちに代わりに反論と言うか批判してくれる人がいてスレ伸びてるけど。。。
実績も肩書きもないから素人が情熱だけで書いてるから、まあ知識不足も無くはない。
そこは書籍とかで補填して、自分なりに消化してから書いてる。
自分でも分からんもんを〆切に縛られてる訳じゃないのに焦って出す様なことはしない。
ただ、金にもならん情熱だけだからさ。
しょうもないこと書くのに疲れるし、だけど経験上とりあえずは書くんよ。
結果としてそこま細かく無くて良いやって省くにしてもね。
備えあれば憂いなしというか。
知ってる人にはさらっと書けば良いだけなんだけどさ。
知らん人ってこっちの予測が不可能なんだよね。 >>630
電子書籍だから、知ってる人は飛ばせば良いんだけど、目次見ただけでそっ閉じだよねぇ。。。
だから初心者向けと中級者向けは書籍分けてるんだなー。。。って思うよ。 >>648
ホントかウソか知らんけど書くならせめて読者層のターゲットくらい絞れよw
知識不足以前に目的すら定まってねえじゃんそれじゃw 俺が発狂しなくても荒れるなんて珍しいな。
聞かれた側は、「知らない事も有るよね。」で済ませて、
聞いた側は、 「知りませんでした。ありがとうございます。」
程度で良いと思うんだけど? ここ超初心者用スレだから!!!!
このスレにいるのは超がつく初心者だけだから!!!
まともな回答を期待してもムダ。知ったかレスしかないよ!!! んあ?
最初から読者層は初心者言うとるやろ。
だから茨の道なんじゃん。
中級者のが知識全開で集中出来るから精神的に楽。 >>653
いやだから最初から言ってるように初心者に説明するならパスの概念は必須だし
ダルくも難しくもない王道どまんなかのトピックなわけだがw
てかお前が初心者なんだろwまだ知ったかしたいのかw Pythonではメソッドチェーンってあまり推奨されないの?
mapしてfilterしてとか、Rubyとかなら簡単にできるんだけど multiprocessingをインポートしてmultiprocessing.Pool(4).map(work, hoge_list)
ってやると"cPickle.PicklingError"になります。これはhoge_list内にクラスのインスタンスを入れ
workメソッド内でそのインスタンスメソッドを使ってることが原因らしいと理解したのですが
こんな理解で正しいでしょうか? >>655
聞いた事無いな。(俺が初心者だからかも。)
公式チュートリアルに書いてたっけ?書いてなかったら知らない。
推奨はされて無かったと思う。 短いなら内包表記の方が簡潔だし、
長いなら素直にループした方が読みやすい
yieldあるからコールバック地獄にもならないし >>655
メソッドチェーン自体はpythonではタブーってことはないけど
ないけれど組み込みや標準ライブラリだとやりにくいのは確か
(副作用がある操作はうっかり忘れないようにメソッドチェーン不可の設計) >>659
なるほど、そういう設計思想なんですね。 メソッドチェーンじゃないと、副作用を忘れない
ってどういう論理なんだ? 理論は知らんが、返り値がNoneだとああ副作用を起こすための関数なんだなって思い出すことはある >>662
返値Noneだと、そもそもメソッドチェーンできないだけじゃん? メソッドチェーン用のインターフェースで副作用を起こす使われ方もあるよね。
つか、どっちかというと純粋関数的なのの方が少ないような。 CPython付属のIDLEについて
コメントアウト機能、'##'をpep8の'# 'に設定変更する方法ある?
すでにタブインデントで書かれたスクリプトを読み込んだ時、
タブ文字が8スペース相当なのを4スペース相当に変更する方法ある?
設定にあるインデント幅は4文字になってるけど、ここは関係ないみたい。 今日から、python始めました!
python3.6と、PyCharmというのをインストールしました、
これで使った、プログラム(ツール?)を、
他の人のパソコンでも、普通のソフトみたいに、
実行できるようにできますか? >>669
普通のソフトとはなんですか?バニラですか? >>669
他の人のパソコンで動かすにはPythonの実行環境が必要。
もしくは、cx_Freeze等を使って,、exeファイルとPythonの実行環境ごと配布する >>674
相手のPCにpytyon入れてもらうか、
exeファイルも作れるんですね、
勉強してやってみます! 単純な計算で1億の処理が16秒ぐらい掛かる。
PC変えても、そんなに実行速度変わらない?
for n in range(100000000):n+=n
print(n)#16秒 print(100000000*100000001/2) ん?って言ってる人なんか勘違いしてそうでカッコわるいw >>669
普通のソフトみたいな配布したいならちゃんとコンパイラ言語覚えた方がいい。
WinならC/C++でスタッティックリンクがexeファイル肥大化するけど、今時ファイルの大きさ気にする時代じゃないし、何よりdll必要としない。
動作は最速。
ダイナミックリンク(vcナントカってdll必須)とか.net必須のC#とかもWin標準で入ってるから多少遅くなってもLLより数段速い。
Python足がかかりにステップアップしてみては? >>680
他人に勧めるならせめて自分が理解してるものを勧めろよw 一応理解してるが。。。。
だからHaskellは勧めなかった。
GUIライブラリのdll多過ぎて読み込みに時間かかるし、速度はLL並だし。
コマンド作ったり、Webアプリ作ったり(WebアプリもHTMLと言うテキストのやり取り)はHaskellオススメ。 >>676
俺は14秒だった
普通にCPUによるだろ 大量の文字列から、指定した文字のみを抜き出すことはPythonで可能でしょうか? >>669
ワイも今日から始めたやでー
プログラミングとか全く知らないのにTIS-100とかいうプログラミングゲームにハマったのがきっかけ
論理回路シミュレータとか作ってみたい
開発環境ソフト?とか必要なの?素人にはデフォで付いてるので十分じゃない?? >>683
いあ、dllだけじゃないのは分かってるぞw
起動も遅い上にその後の動作速度もLL並。
でもLL特有の動かしてみなきゃバグがあるか分からない(テスト重要)ってのは大分省ける安心感がある。
よく使うパターンをLLより関数化しやすい。
(本気ですればそうでもないんだろうが、LLで普通に書くより遅くなるし手間も掛かる)
手間掛からないでLL並でも許容範囲の速度出るなら、Haskell良い。
素のままじゃどっこいどっこいで、コンパイル無い分LLのが良いけど、自分のパターンを関数化してからがHaskellの本領発揮。 副作用って用語も馬鹿らしい
メソッドチェーン前提じゃないなら主作用だろ 関数というのは普通同じ入力に対して同じ出力を返し入出力以外の仕事をしない物、それに対する例外だから副作用と呼ばれる
関数型言語由来の言葉なので手続き型言語だと違和感があるのは当然かと >>690
手続き言語しか使ってなくても副作用なんて普通に使うだろ 副作用のない処理など存在するか!!
何かを捨てないと何も得られないんだよ!!! モジュール指向でも普通に重要な概念なんだよなぁ 副作用 >>693
使ってないなんて一言も言ってないんだよなぁ… >>696
手続き型言語でも違和感なんてない
って書かないと理解できない人なの? 5年前に副作用ってのたまう馬鹿はほとんどいなかったのになあ 副作用のおかけでボクのドジョウがニシキヘビになりました あーーーーっ、鎌首持ち上げた!
すごい、威嚇してるっ! def add(a,b):
__print("a+b=",a+B)
print(add(1,2) + add(3,4))
副作用大好き人間は平気でこういうコードを書いてエラー出すんだろうな……w
副作用の考え方は関数型とかメソッドチェーンだけじゃなく
「複数のパーツを組み合わせて全体のコードを作る」分割統治タイプのプログラミング全てにおいて
重要になるんだよなぁ >>701
なぜ副作用の無い例を書くんだ?
意味が分からない
よく見るとバグってるし 超初心者用じゃなかったの??????????
全くついていけないんだが 関数名を短くするとタイプは楽だが、情報の少なさから機能の意味を誤解するという副作用。笑える。 一番の問題は関数の名前が素人レベル
addじゃなくて実際はprintAfterAddだろ
print(printAfterAdd(1,2) + printAfterAdd(3,4))
こういうバグは現れにくい 副作用もわからないくせにドヤ顔で突っ込んで
赤っ恥で引っ込みつかないもんなw >>663
メソッドチェーンを簡潔に書くためには、引数表記の省略が欲しくなるから、そこら辺が思想に合わなそう
簡潔性が要らないなら、多段forループの方が分かりやすいし >>701に対して「そんなコード書かねえよガイジ」以外のレスがつくとかどういう場所だここ >>712
超初心者じゃねぇのかよ......... >>713
超初心者はあんなのにレスつけないだろ…… ああ、副作用スゴイ、副作用に感謝!
ボクのパイソンがドクンドクンと痙攣を始めた! まあ画面出力が副作用って言うのは正しいけどこの文脈で出してくるのはちょっとどうかと思うしそもそもreturnなしの関数値(none)を演算に使うとかどう見てもバグっぽいコードで何を説明した気になってるのか意味不明 画面出力ってよくあるスレッドの同期バグを副作用とか言ってんの?
ますます意味不明。 副作用もよく分からんくらいの超初心者はもっと謙虚にしろ 副作用もよく分かってる超初心者さん達ももう少し謙虚にしてもらえないか matlabにおけるfreadを以下のように使っている時
pythonで同じように書く場合はどのようにすれば良いでしょうか?
fileID = open(file_name,'r')からreadの引数をどう取るかで悩んでいます
matlabの原文
fileID=fopen(strcat(file_name),'r');
size=fread(fileID,1,'*ubit32','b');
%file_nameにはバイナリデータが入っています ボクの大蛇が生臭い白濁液を吐き出した!
あたり一面が白ういろうの海と化し身動きが取れない!
これも副作用のせいだっ! >>689、>>690
手続き型言語でも副作用って用語が使われ始めたのって関数型言語が注目され始めてからだけど、それ以前からMVCやMVVMでVとの依存性を切り離すって課題として語られていた。 副作用もわからんガイジはPHPでもやってろクソガイジ ペチプァ出身のガイジは脳みそ副作用でできてるんやね
カアイソウ >手続き型言語でも副作用って用語が使われ始めたのって関数型言語が注目され始めてからだけど、
1960年代から使われてたってことだな。 >726
副作用という言葉は、手続き型言語でも、関数型言語が注目されるようになった、はるか以前から使われていたと思うけどな。
パスカル勉強していた四半世紀ほど前だけど、
functionとprocedureとあって、前者は値を返すが、後者は値を返さない。
値を返さないのに、何の役に立つかというと、副作用を起こさせるのを目的として使う。
というような説明を本で読んだ記憶がある。 >739
昨今のScalaとかでなく、LISPが注目された頃でしたか。
失礼しました。 >>731
Delphiきっかけに普通のPascalの入門書も読んでたが、ついぞそんな入門書に出会った記憶が無い。。。
ここまで副作用副作用と手続き型言語のスレでも見かける様になったのは2006年前後からと思ったが。。。
大学向けならLispやOCamlやってた先生や生徒も居るだろうが。 もう一度言っておく
副作用もわからんガイジは屁臭えペチプ〜でもやってろゴミが!
俺様の目の前に二度と現れるな
失せろクズ >733
サイエンス社のPascal入門(1989年)か、Pascalプログラミング(1990年?)か、どちらかで読んだはず。
Amazonで出てきた表紙に見覚えがあるんだけど、どっちの書籍だったかまでは覚えていない。 >>734
参照渡しのことを副作用と言ってるのかよw わかるわけねーよwww さっさとプログラミングにおける「副作用」定義を言え、超初心者ども。
今までの例だと、ただのバグのことじゃねーか。 英語圏で曖昧な表現で説明してるやつらのことは無視してよい。 >>736
サイエンス社の方は読んだ記憶があるが、副作用と書かれてた記憶はない。
多分1990年?の方だな。 ペチプァを根絶やしにしろ
一族郎党市中轢き回しの上晒し首にせよ >>738
バグの事じゃない。
数学の関数と同じ、同じ引数渡せば同じ回答が返ってくる。
それ以外の事象全てが副作用。
副作用があっても意図通り動くのもあるし、むしろその方が効率は良い。
ただプログラムの見通しが悪いだけ。
マルチスレッドプログラミングとかで副作用の無い関数型言語が注目されたのもマルチスレッドプログラミングの見通しを良くしてバグを作らない様にしたいから。
(あと状態を持たない事でマルチスレッドプログラミングで分割し易いってのもある)
シングルスレッドではコード短く出来るとか再利用し易いとかで、(シングルスレッドでの)性能追求したら副作用バリバリの方が効率は良い。 SQLiteのdbってsqliteでしか見れないの? ボクの大蛇はすべてを吐き出してしまった。
大蛇は見る見るうちに縮んでいった。
元のドジョウどころか萎びたオタマジャクシになってしまった。
これが副作用というものなのか? >>745
ランダム値返すrandom()は副作用なわけですね。 このスレも馬鹿ばかり
副作用という言葉自体はあったかもしれないけど
ここ数年副作用は悪という風潮になってるのがおかしい
昔はそんなことはなかった
気持ち悪い >>751
参照系にどんな副作用が?
副作用を分離してあるとテストしやすい >>737
> 参照渡しのことを副作用と言ってるのかよw わかるわけねーよwww
こんなアホ久々に見たわ w
そもそもFORTRAN は全部参照渡しだし参照渡しかどうかじゃなくて引数を変更するかどうかの話なのに全く理解してない > FORTRAN は全部参照渡し
これは欠陥言語と言わざるを得ない。消えていく言語なのは間違いないな。いやもう消えてるか。 >>745
> 数学の関数と同じ、同じ引数渡せば同じ回答が返ってくる。
> それ以外の事象全てが副作用。
違う、それは参照透過性の話。
副作用は何らかの状態を変更してしまうことを言う。
なので例えば変数への代入も副作用のひとつ。
>>748
疑似乱数なら内部状態の変更を伴うので副作用を持つ。
ハードウェア乱数発生機からの読み出しなら副作用は持たない。
>>751
意味不明 w >>747
> ボクの大蛇
お薬の副作用による妄想 > 変数への代入も副作用
それでは主作用と副作用の違いがないではないか。 >>760
プログラム言語では主作用って言葉はほとんど使われない Fortranは、参照渡しがデフォルトだけど、値渡しできるよ。
あと、数値計算の分野だと、まだFortranは現役。 一般的に副作用は意図しない作用を言うんであって、
意図してる作用まで副作用だなんて言うから話がおかしくなるんだよ。 意図したものであってもファイルへ出力等は副作用
意図してないのはバグ お薬の副作用とごっちゃになってるのか
お薬飲んだ方がいい >>767
真性の馬鹿か。だから最初から定義を聞いている。
言葉の定義ができない奴はFラン低学歴。馬鹿は薬飲んでも治らない。 朝から真っ赤なやつが真性がどうとか説教だってよ
草ボーボーだわ
誰か除草剤撒いとけ >>769
真っ赤ってどこの2ch素人だよ。2chはじめてか?
赤いってのは偉いってことだ。
戦隊モノだってリーダーは赤だし、モモクロだってリーダーは赤だし、3倍速いシャアだって赤だろ。
ここはPythonの初心者スレであって、2chの素人スレじゃねーぞ、ヘタレが。 人類初心者のスレでもねーぞ
妖怪人間ちゃんよ
あれ?ゴキブリだったっけ?
まあどっちでもいいわな >>770
素人は専ブラなんか使わんからIDの色は分からない
連投すればなるから偉くもなんともないし95割くらいはまともじゃないやつの証だ
自分のレスを見直してから発言することだな PHPが辿った道をPythonも辿るのか
そして荒野となり人が離れていく 結局お前ら副作用について何を話したかったんだ?さっぱりわからんw 最近関数型言語覚えて副作用について知ったかした>>690がフルボッコされてるだけ 秀丸で書いてるんだけど
Pythonタブが反核スペースのコードを良くみかけるんだけど
スペース4回や8回、16回入力って面倒じゃない?
更に、削除など7回とかだとずれるし
みんなどうしてる? 半角スペースの塊をタブと扱ってくれるエディタ使ってる(俺はVim) 秀丸ってそんなこともてきねーの
嘘だろ何か設定あるだろ ガイジ副作用で脳みそスペースだらけのスッカラカンなんやろな
ウンコモリモリペチプァでも詰めておけ、ガイジ マジレスするとそんな腐ったレスしかできない奴が一番ダメ人間だと思う 生まれつき目の見えない子供が知り合いにいるけど
頑張って生きてるよ
家族も頑張っている
低レベルなレスを連発するのは構わないけどそういう人たちを馬鹿にする奴が一番許せない >>780、>>782
タブを半角まではできるんだけど、
バックスペースで削除すると
1文字削除でタブと比べて使いにくいなぁーと思って もう副作用でも何でも無いな。。。
手続き型言語の場合、初期化以外の代入も許さないのは稀で、関数として副作用が無ければおkってのが主流。
(副作用禁止だけどこれはおk的な)
個人的には関数型言語は関数型言語らしく、手続き型言語は手続き型言語らしくで良いと思う。
デフォルト引数とか良い例だよ。
代入前提だけど、時々しか違う値入れないからいつもの値入れとけ、みたいな。
ああ言うのは手続き型言語特有。 >>786
エディタにもよるだろうけど、
そういう時はShift+Tabが使えると思うよ。 >>788
ありがとう
選択してShift+Tabで行けた、ショートカットキーを使うのか、秀丸でもできた
微妙に手が必要になるけど、Pythonだとスペース使う人が多い気がするけど
メリットみたいな物があるの? >>790
PEP 8という公式が書いたスタイルガイドがあるんだけど
派生スタイルやツールの基準になっていて大きく反するものがないくらい普及している
PEP 8だとインデントはスペース4文字、ハードタブは使うなとされている
これはガイドに根拠の説明が特に書かれていないほど周知の事実扱いなんだ
https://www.python.org/dev/peps/pep-0008/#tabs-or-spaces >>791
へーそうなんだ
タブの方が入力や削除がし易いと思うけど何でだろ? >>792
タブだとエディタの設定次第で崩れて見えるのがPythonの流儀に反してるからってどっかで聞いたことがある、違ったらスマソ 崩れるというのは何か違うな、環境によってインデントの見た目が変わるのが云々 >>793
合ってる。エディタの設定で1タブのインデント幅が自在に変わってしまうからスペースで統一した。 >>792
https://stackoverflow.com/questions/1125653/python-using-4-spaces-for-indention-why
stackoverflowの何でスペース4つなの?って質問についている回答を雑に訳すと
みんながスペース4つで書いてるから俺も受け入れた
guido(pythonを作った人)がスペース4つを好むから
別に独自スタイルを貫いてもいいよ(俺はやらないけどね) python3スクリプトを常駐ソフトみたいに使えますか?
フォルダにアクセスが有ったか知りたいです。どうしたら良いのでしょうか? >>797
Linux環境ならpyinotifyというライブラリがpipにある、他はしらね >>790
最初はタブでインデントして、あとで4スペースに変換という方法だと、
書いてる時はスペースと区別しやすいということもあって、実際にそれを使ってきた。
ただ、長いセンテンスに改行を入れた時のインデント調整で、
PEP 8 流に揃えるにはスペースなしでは無理ということもあって、
今は最初から4スペースで書いちゃってるな。
エディタの設定で、タブキーの扱いを変えたり、
インデントの深さが表示されるようにすれば
タブの時とほぼ同じように扱えるというのも大きい。 今でこそautopep8があるから俺も受け入れたけど、素のテキストエディタ使って
きっちりpep8に従ってた奴ってすげーわ。 >>798
ありがとう、ございます。
(でも、windows何です。) >>779
秀丸にはインデントをスペースにする設定があるのに何でしないの? タブで書いた方がいい。
git か実行時に、タブを空白に変換すればいい
そういう処理を、シェルスクリプト・PowerShellスクリプト・バッチファイル、
またはタスクランナー、gitの前処理に書いておいて、自動実行すればいい pep8も、1行の文字数制限は気になる。
いくらなんでも16:9ではもっと書ける。
あのルールだけエディタではオフにしてる。 pep8とか言語関係なしに、ある程度で抑えた方が読みやすい
巻物の使い方が横書きと縦書きで違うのはそういうところから来てるのではと思ってる
それに、Pythonで長くなる時って大抵がネストが深くなってるか、一行に詰め込みすぎてることが多いでしょ
関数定義とかでも、引数が多いときは適度に改行してる
あと、モニタが16:9になったのって、文字を書くんじゃなくて映像を見る方に特化した結果だと思うんだよね
だから、文字数制限を設けることは可読性を保つ上で有効だと思う
でも、pep8の一行の文字数制限は自分もオフにしてる コードを改行する必要がある時、Python3を書くようになってからは、
バックスラッシュじゃなくカッコで括るようになった。
ただ、カッコ(関数含む)で頭を揃えようとすると、うまく収められない(かえって可読性が落ちる場合など)時は、
仕方なく行先頭から1インデントのところで妥協することも多いな。 別に妥協はしてもいいんだよ
PEP8PEP8言ってる奴ほど
PEP8の序文読んだことがあるのか?と思う 並行処理用のライブラリはいくつかありますが、どれがオススメですか? multiprocessing.Pool が簡単にマルチプロセス ログインが必要なWebページにマルチプロセス?でhtmlを取得するにはどんな方法が考えられるでしょうか?
それぞれのプロセスでログイン処理をするのは無駄なのですが、ログイン情報?を共用する方法がわかりません >>821
すいません、フレームワークが何を指すのかよく分かりません multiprocessingモジュールを使う方法が考えられる
プロセス間共有データの機能も当然ある
あれ読んで理解できないなら100年はえーよ
今の君にできる手段を取る方が賢いね a=1
b=2
c=[a, b]
とした時に、リストcとして、a,bの要素はコピーされてまた新たにメモリが確保されますか?それともa,bを参照になるのですか? リストは効率悪そうなので質問変えさせていただきます
3次元配列(要するに画像データ)x,yがあって
z = np.array([x,y])
のように、リストのように使えますか?
一旦まとめた後、xとyを元の画像として取り出したいです >>825
参照です
pythonは基本全部参照コピー
a=1
b=a
これすら値のコピーではなく参照の代入だから >>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]が新しい参照になる お前らに参照の話題はまだ早い
って言おうと思ったらもう混乱しとるやんけw >>820
Selenium WebDriver, Selenium IDE, PhantomJS などでの、
ブラウザの自動実行だろ
Ruby だろ。
Python は知らね 質問です
公式サイトでPython3.6の32ビット版をダウンロードしてインストールしたのですが
Anacondaとういものがあるのを知って、インストールしたいんですが
公式サイトのPython3.6をアンインストールせずにAnacondaをインストールしても問題は出ないでしょうか?
OSはWin10の64ビットです うむ、公式サイトの目立つボタンでダウンロードしたら32bit版になってしまったのです
そこまで問題は出ないようなのでそのまま使ってます >>830
seleniumはpythonにもあるよ >>835
ありがとう、32ビット版のはとりあえずアンインストールしました 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 と言う仮想環境もある >>837
調べてみたところ、PATHが通っていなくて、
今まではファイルのダブルクリックで実行、Anaconda入れても実行ボタン押して実行
とかいう超初心者レベルで、どうも自分がやりたい事に必要なものは全てAnacondaに入ってるそうで
こんなレベルだと全く影響無い感じなのでしょうか コマンドプロンプトで、
where python
と打ち込むと、PATHの順番が表示される?
表示されないのなら、環境変数PATHは更新されていない >>839
そのコマンドはエラーで何も表示されないです
システムの環境変数PATHのところを見ても該当のものが無いので、PATHは通っていないようです
ありがとうございます 退屈なことはパイチンくんにやらせればいいじゃん
パイチンくんにw UnixのシェルスクリプトをWindowsに移植しないとダメなんだけど、Windowsのバッチファイルの変数まわりと文字列操作がクソ過ぎてPythonで書こうと思ってます。
具体的には外部のテキストファイルを読み込んでforとかでグルグル回しながらそれをコマンドラインのパラメタとして渡していって実行させたいだけなんですが。(パイプとかで複数コマンド繋げたりディレクトリからファイル名引っ張ってきて変数に入れるとかしたい)
StackOverflow読んでたらargvとかあるし簡単そうっぽいんですけど簡単でしょうか。
なんでPythonかというとそのマシンがdosプロンプトとPythonしか入ってないいにしえのマシンだからという理由だからなんですけど。 Cygwinじゃあかんのか?
まあPythonでも難しく無いだろうけど。 pythonのsubprocessか何かで呼んだ先のDOSのシェルが馬鹿過ぎてコマンド実行成功/不成功(エラーレベル)が返らないとか、pythonの問題でなく、ポーティングに耐えられないWindowsの愚かさに苦労させられた憶えが。 超初心者がwindowsに文句つけてるのって傍から見て決してみっとも良いものじゃないよ 窓のコンソールが腐ってるのは今に始まった話じゃない
今はLinuxがそのまんま動くからいいよな pygameのゲームパットについて、
調べても思ったより資料が有りません。
どのボタンが連動しているか、
分かりやすいサイトとか有りませんか? 超初心者の質問するけど
absって関数の役割が絶対値を返すだけならどの用途でこんなの使うんだよw
プログラミングでなんの訳にも立たないだろ
と思ってしまうんだが実際どうなの? 2つの座標間の距離を測る場合とか…
ごめんそれしか浮かばないや!
詳しい方お願いしますw (a if a>0 else -a)
って書くよりも
abs(a)
って書くほうが簡潔だし意味も明瞭。
こんなの要らないだろう界の王者はpass。全く何もせず、ただそこにある為だけの存在。
構文的に必要だからとか、借り置きのプレースホルダとかで使われる。
そんな pass にすら使いどころがあるのだからabsなんて有用すぎる。
passが価値のない石ころなら absは輝くダイヤ 早朝から質問の答えになってない長文書いちゃうやつw 待機時間を正規分布にのせたいとき。
平均0分散1、かつ待機時間は正だからabs使ったなあ。 >>854
passの代わりにことごとくNoneを使ってしまったことがあったが、
何事も無く終了してたから気づいたのはだいぶ後だった。 ゲームで、
absはステータスの 追加要素の管理でマイナスにならない様に使った。
passはユーザー側の操作ミスの時に何もしないって、書いてる。
absはpaizaで使う所が有った様な気がする。
計算上、マイナス値が帰ってくるから、プラスに置き換える。見たいな作業。 absは複素数でも使える(math.fabsだと複素数はTypeErrorになる)
>>> abs(1+1j)
1.4142135623730951 記述の質問
x=[12, 6, 2, 7, 3, 11, 1, 4]
correction=0
Fixed=x[0:5]
correction+=1
print(x[0:5+correction])
上記風に、抜き出す数をFixed+correctionの様に表記したい
おねがいします。 バイナリファイルから0.5バイトだけreadで読み取りたいとき、どうすればよいでしょうか?
numpyでビットを扱えるとは見たのですが,readは整数バイトでしか読み取れず互換性がわからないです CPUですらなにもしないって命令があるしな
存在するものにはそれぞれそれなりの意味がある >>861
1バイト読んで0.5バイト捨てるんじゃだめなの? pygameでゲームパットを使った入力ゲームが作りたいです。
ゲームパットのキー読み込みが解らないので、教えて頂けませんか?
Git使ってないです。すません。
コード URL
https://ideone.com/UhwqyM このスレ本当に勉強になるわ
ありがとう
プログラミング系はググっても情報が出てこないんだよなぁ >>866
検索の時に、[プログラミング] って付けてるから出て来ないんだよ。
アフェとか役に立たない自己○○とか、ヒットしない。
[言語名]+[やりたい事] で出てくる。
python 配列
とか、ネタ発言だったら、マジレスしてごめん。┌(_Д_┌ )┐ 0.5バイトのことをニブルって言うらしいぜ。おまえら知らなかっただろ。 上位下位4ビットずつならシフト演算やビット演算じゃね?
なんでそういう事したいのか不明だけど >869
今日児童書のプログラミングの絵本を子供と読んでいて
ニブルの説明があって初めて知ったわ。 >>866
出来れば英語検索も視野に入れるといいぞ
英語があんまり分からなくても プログラミングの文法さえ分かっていれば
コードみればなんとなくわかることが多いからな >>868
プラグラムにおいて絶対値の役割とかググってもでてこないやん
>>872
まだその域まで達してない
関数を一通り覚えてる感じ まあ数学の素養とかはある事を前提に語られることが多いよね
関数を全部覚えようとしても使わない記憶は忘れられるからあまり効率よくなさそう
最初はこういうのあるんだ、ぐらいのチラ見だけしといて
出来るだけ多くのサンプルコード読みながらわからないのが出てきたら都度調べた方がいいんじゃないかな? プログラムにおいて絶対値の役割ってのが斬新な発想だな。素質を感じる。
絶対値が何かを知ってたらまずこんな疑問が出ないからな。
絶対値返すのがabs()の役割だよ!!! ってふつう思うもんな。 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
誰かエスパーして、解決法教えて下さい。 ┌(_Д_┌ )┐ >>860
>Fixed=x[0:5]
開始インデックスの、0は省略できるから、
Fixed=x[:5]
>print(x[0:5+correction])
endIndex = 5+correction
print(x[:endIndex])
>>861
ビット演算で、4ビット取り出せばいい わかってねえなw
無駄に読んでしまった4ビットはどうすんだよw ゲームエンジンなら、
Godot は、Python風の言語。
Unity の、Boo も、Python風の言語
Pythonなら、Pygame, Kivy とか >>878
ありがとう。
試しけど、文字描写の時点で
NameError:name 'DrawFormatString' is not definde
って出てる。訳分からん。
DXライブラリの描写はそのまま使えないとか?
Booスレって有ったけ?
覚えた方が良いとか? それなら、素直にC#覚えたいな。┌(_Д_┌ )┐ >>877
元の原文貼ってくれなきゃわからないよ
恐らくはpythonにはCのmallocみたいなメモリ確保命令が無いので
それで代用しろって事かな? >>884
それだ!
ありがとう!
駄目だったら、もぅ一度聞きに来る。 ┌(_Д_┌ )┐ 駄目でした。
問題も理解してないです。はい。
pygameのゲームパットの方向で調べて行きます。
また、何か有りましたら、お願いします。 >>887
はい、試しました。
通常のボタン(○□△✘L1R1L2R2L3R3)では、指定した入力ができますが
矢印キーを受け取る仕組みが分かりません。
使用しているパットにはL3R3のボタンが有り、
左側のボタンがL3と同じだと言う事が分かってます。
私はどのようにして、矢印キーが押されたか調べれば良いのでしょうか?
なぉ、私の環境にはpand3Dがインストールされてます。
pand3Dを使えば入力が楽になるとか、ネットに書いて有ったのですが本当でしょうか?
頼りきって申し訳ないですが、
宜しくお願いします。 ?そのサンプル動かせばボタン押したら何らかの反応あると思うが?
キーボードのカーソルキーじゃないよな? 脳障害の雪風の相手してる奴もやっぱり脳障害なんだろうな
高野豆腐頭に突き刺して死ねばいいのに
いや、死ね すいませんでした。
DXライブラリのエラーと混同して、pythonではメモリやポインターが何処に有って
それ等を扱う記述の仕方が分かりませんでしたが、pygameのゲームパットでは
それらは扱う事は無かった用です。
みなさん、ありがとうございました。 >>873
チートシート(カンニングペーパー)使えば?
最初に全部暗記するより
「いちいち調べるのが面倒臭くなって調べずにコード書く」
のほうが プログラマーとしては自然な流れだぞ >>890
3ヶ月ぐらい前から、ずっと俺を攻撃してるけど
ネットストーカなの?
俺を攻撃しても、何も出てこないよ。
それとも、ゲ板から2年前の復讐に来てるとか? >>893
そんな事より矢印キーは上手くいったのかよ? それと過去に何があったのか知らんが素直に謝罪しないと
35歳と同じだぞ ゲームプログラミングなんてもともとそんなもんだろ
わざわざ工学研究用コンピュータで ブラックホールに吸い込まれながら宇宙船が撃ち合うゲーム作ったりな 上手くいかない、今は保留で良いや。
次に行くんで、どうもでした。
特に気にする程でも無いな。
ケツにマヨネーズ突っ込んで開発したら、
完成する頃にはビビっとキてるわwww┌(_Д_┌ )┐ >>902
Spacewar!ってゲーム
かなり古いコンピュータのゲームだけど
再現したブラウザゲームとかあった気がする >>903
youtubeにあったので見てみた
最初期のゲームってだけなのね
ブラックホールに吸い込まれる時の物質の状態とか見え方を物理シミュレートしたゲームと勘違いしてた ちょっと、落ちるけど、
pygameのゲームパットの入力とpand3dの便利な機能が有ったら、
教えて下さい。 枯れてるかどうかも分らないドマイナーなもの使わなくても。 Pygame, Kivy は内部で、SDL を使っているのじゃ?
インターフェースさえあれば、Ruby でも使えそう 引数が多くなって折り返したくなったときはどうすればいい?
pythonはインデントにうるさいらしいから、適当に折り返せない 式の折り返しじゃなくて引数なら、かっこが閉じるまで文が継続しているとみなすから
それほど気を使う必要はないはず。PEP8に従うかどうかは別として。 バックスラッシュかカッコ等でいけるよ。
PEP8に書いてあるけど探しにくいだろうな。
PEP8 折り返し |検索| >>912
デバックしすぎで心が壊れたのか?
世の中の全てのコードを直す必要はないんだぞ 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などです。 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を実際に立ち上げてそこからソースを取得するにはどうすればいいでしょうか? >>913
糞を撒き散らすな公害
俺が死ねって言ってるんだから才能ねえやつは大人しく死ね >>914
ドキュメントに全部書いてあるじゃねーか。なぜ読まないで質問する? >>914
だから先のサンプルコードを1行1行追いかけてその意味を考えなさい
英語も初級程度で済むはずだよ? >>914
例えば君が提示したpygame.JOYBUTTONDOWNはイベント定数だ
ボタンの状態じゃない
サンプルコードを検索かけてよく見てみ?どういう箇所で使われている? 皆さん、ありがとうございます。
>>919
ボタンの定数でしたか、ありがとうございます。
一応、書いとくけど、
全部、読んだ上で記述方法が分からなかったw >print(pygame.JOYBUTTONDOWN)#10
>print(pygame.JOYBUTTONUP)#11
10が下ボタン、11が上ボタン、
こんな定数みたいな数字を知って、何になる?
皆、数字を知りたくないから、わざわざ、
JOYBUTTONUP などの意味が分かる言葉に、置き換えているのに >>908
そういう時は改行するけど、
args=[1,2,3]
f(*args)
とか書けなかったっけ
引数展開 >>921
イベント数字を知らなかったら、どのボタンに配置されているのか,
分からなくなると思う。ゲームパットによって変わる様だし。デバッグとかで使わない?
また、俺をからかう為の文だったり
するの? enum Fruits { apple; orange; banana; }
enum と同じ。
appleが、1か2かとか、値に意味はない
使う時には、
Fruits.apple
のように、常に意味のわかる、言葉で表す
1とか2とか、絶対に値では使わないから > 全部、読んだ上で記述方法が分からなかったw
単純に基礎学力が全然足りてないんだよ。
英語にしても数学にしても情報処理技術にしても。 目標が高すぎ。
ゲームは諦めて、まずはサンプルコードすらすら読めるようにしろ。今はそれすら満足にできないんだから。
掛け算できないのに微分方程式教えろと言ってるようなもの。無理筋。 サンプルコードで、やってる事は足し算ですけど?
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)==左固定 ✘
どの様に記載すれば良いですか? JOYBUTTONDOWN は下ボタン、JOYBUTTONUP は上ボタンだろ。
何番目に押されたとか、そんな情報あるわけないだろ
もっと、まともに動く、サンプルを探せ。
技術文書も読め >>920
イベントの定数だと言っておろうにw
本当に読んで理解したのかよ DOWN,UPは、押した,離されたじゃないの?
サンプルとドキュメントみると
どのボタンを押されたかはe.buttonの数字で区別する
>>928のサンプル動かしてみて、左ボタンを押して出てくる数字を使って判断する >>930
公式サンプルだよw
>>932
でてくる数字は分かっても記述方法が分かってない。
e.typeの変え方が分からない >>933
左ボタンを押したら数字は何て出てくる? どんな記述でコードが通るか知らない?
キーボードのなら、
実際に使ってる人が居ないとか?
もしかして、そっちでは1つ1つのキーに処理を割り当てるのは事はできてる?
if pygame.event.get(1) == pygame.locals.JOYBUTTONDOWN: #
print ('aaaaa')
エラーじゃないけど、処理がaaaaaが表示されない。 >>936
出てくるじゃなくて、具体的にいくつが表示される? pygame使うようなやつはだいたい年齢層低いやつ キーボードやマウスの例を見れば使い方大体同じだろうに
ただデバイスが常につながっている訳ではないからその点は注意が必要そうだけど つか、正解が出てくるまで待つんじゃなくて色々試せよ
サンプルが何やってるのかわからなければ100回でも読め すいません
百万単位の数値があり億単位にしたいのですが文字列にして後ろ2文字を除外する以外にスマートなやり方ってありますか? 後ろ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から可能 >>944
>文字列にして後ろ2文字を除外する
なんでこれがダメなのかを説明してください >百万単位の数値があり億単位にしたいのですが
桁数を増やしたいのに
>文字列にして後ろ2文字を除外する以外
こっちでは桁数を減らしてる
いくら2ちゃんでもちゃんと自分で書いた内容ぐらい見直してから質問投稿しろよ そりゃ単位を増やしたら数字は減るだろう。
1000B==1KB >遊園地
Python風の言語で作る、Godot を使え >>951
質問に単位が含まれていないので回答のしようがない すいません > <
207319 (百万) を 2073 (億) にしたいということです
数学まったくできず100で割ればいいだけとは分かりませんでした
ありがとうございます 億単位にすんな。
100万単位の次は10億単位が世界のルールなんだよ。 >>950
1234百万を12億にしたいって言ってんだから合ってんだろ
>>945
意味相手には100で割るのが正しいけど
割り算って怖い
何にせよ関数化して実装を隠蔽しておくのがスマート >>952
思ったより良い感じ。
ありがとう。
でも、メインにしてる32bit PCで動かせないのがキツイ
最近は、pythonの質問が減ったな。 初心者であるという事は、バカであるということの免罪符にはならない 何でそんなに強気な発言できるのか知らないけど、
理解してる見たいだし。数字の単位を知らなかった。だけだろ?
>>960&>>961
3ヶ月前も俺に同じ事言ってなかったか?
プログラミング完全初心者と言うより、数字初心者なだけ。
また、発達障害かと思った。 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を実際に立ち上げてそこからソースを取得するにはどうすればいいでしょうか? >>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')
とか追加して動作させてみれ
動作が理解できたらもっときれいに書き換えればいいと思う 文字列をバイト列にしてから、1バイト毎に区切ってリストにする方法を教えてください >>967
list('ほげ'.encode())でおk >>965
こーゆーことだろ?
stackoverflow.com/questions/24226781/changing-user-agent-in-python-3-for-urrlib-request-urlopen >>970
レスありがとう
聞き方が明らかに悪かった スマン
ChromeブラウザをシミュレートではなくPythonから実際に立ち上げて(Javascriptなどが正常に動作する状態)、
例えばログインをさせてログイン後の情報などを取得したいのです。 どこが作ったかも分からん外部のソフトからログイン情報取り放題なんて
そんなことできるブラウザ誰も使いたくないだろ >>971
よく知らんが、
そんな話ならosその他の環境も関わってくるんじゃないのか? >>972
ブラウザそのものはGoogleChromeをPytonが立ち上げ、
中を解析してIDやパスワードをPythonが自動で入力する感じ
Python側は最低限のスクリプトで済むから
ブラウザ側さえしっかりしていれば特に不安はないと思う >>973
Windows 7 64ビットでやらせたいと思ってる
結構調べてみたけどPythonでのやり方が見つからず困ってる
本当はWSHですべきなんだろうが
Pythonでも気軽に実装できない物かと思って・・・ selenium webdriver chrome pythonで検索
ログインとかはよくわからんけどブラウザ操作なら定番だと思う >>976
ありがとうございます。正に求めている情報でした! >>971
ブラウザを立ち上げたくないならselenium + VirtualDisplayがいい。
selenium VirtualDisplay pythonで検索 >>882
ニップルは乳首だから
乳首に貼るやつがニップルだったらややこしすぎる >>979
よー分からんけどChrome59で追加されたヘッドレスモードでよくない?
phantomjsの後継だよ 既にたってたわとりあえずこれ解消して
くだすれPython(超初心者用) その35 [無断転載禁止]?2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1496411341/ >>989って潔癖ってよく言われてたんだね
この流れでその言葉が思い付きもしない このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 45日 21時間 50分 30秒 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。