くだすれPython(超初心者用) その44【Ruby禁止】
レス数が1000を超えています。これ以上書き込みはできません。
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
☆「Ruby では」「Rubyでは」をNGワード登録推奨
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。
★Pythonのソースコードはそのまま5ちゃんにコピペするとインデントが崩れるので
↓等のてきとうなソースコード用うpろだに貼ってきてください。
ttp://ideone.com/ デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/ ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/ まずまずシンプル。
ttp://dpaste.com/ とてもシンプル。消えるまでの日数は十分長ーく指定のこと。
ttps://jupyter.org/try (旧try.jupyter.org)ちょっとめんどうそう
◆エラーを解決したい場合は、表示されてるエラー全文(勝手に省略禁止)と
実行環境(Pythonのバージョン・OS名・IDEの種類とバージョン)をシッカリ書くこと。
◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/
〇前スレ〇
くだすれPython(超初心者用) その43【Ruby禁止】
http://mevius.5ch.net/test/read.cgi/tech/1555397061/ 暗黙のキャストとか何思い込みで適当ブッこいてんだろうね。
突っ込まれてごめんなさいするならまだしもいきなり他言語はどうのこうのと知能障害を起こす。
なーにが「charの集まりであることが協調される」だw
list(str)したら実際にリストに変換されとるわ。そしてstrのままならリストではない。
強調するしないの話じゃねーわバーカw invalid syntax
ばっか出て実行できねつれえ >>7
「’」とかの数が間違ってることがおおおおおおおおおおおおおおおおおおおおおおおおい JupyterLabでC言語で言うところのインクルードをすることはできませんか?
hoge.pyというファイルを作って、
hage.ipyndから呼び出して使いまわしたいのです 勉強会やるんだけど実行環境用意しといて!で事前準備させるとそれぞれ環境差異でのややこしい自体にならないかとか不安なんだけどどうするのが安定なんだろう あーこんなんあったのかちょっと触ってみる
見た感じ結構良さげかもグーグルアカウントとpc用意してねで済むし
ありがとう 多人数が同時に同じようなことをすると
google が嫌がってアクセス制限
ということにならないのかな? googleはいざというとき信用出来ない
やってみた程度なら良いが 勉強会のハンズオンなんてやってみた程度だしいいんじゃねえか どなたか助けてください。
標準入力から
5
12
を得て、5...12を出力する問題です。
ボクがやったのは変数=int(input())
print(変数+1)...というやり方で出力しました。
出力結果と求められていることは一致していると思いますが過程が悪いのか減点され正解になりません。
whileも考えましたが、変数=input()のため、演算子で〈=13として、開始を変数=1のようにしてみても、標準入力込みの終わりの書き方がわかりません。標準入力で得た整数を+1しながらループ処理をする方法がありましたら教えてください。 >>18
>変数=input()のため
もう1つ来る入力の「12」をどうするつもりなんだwww
>標準入力で得た整数を+1しながらループ処理をする方法
そこまでわかってるなら
forループでも
whileでも
好きなほう使えよ おまえの勝手な解釈を基に造ってもどうせまた減点されるんだから
端折らずに問題文全部載せろ こちらが問題になります。
標準入力で2つ(2行)の整数が与えられます。
1つ目の数値から2つ目の数値までを、1ずつ増加させながら、1行ずつ順番に出力するプログラムを作成してください。
たとえば、3と5という数値が与えられた場合、次のように出力します。
```
3
4
5
```
※1行目の数値は、2行目の数値よりも必ず小さい値が与えられるものとします。
よろしくおねがいします。
私も再度取り組んてみます。 inputがだめで
stdinから嫁ってことじゃね
知らんけど テキストとか説明が一切なくていきなり問題だけだされてるんかな
スパルタやな いよいよ夏休みか
将来は小学生の問題にも対応せんといかんな >>21
で、
>>19についてもまいはどう解決するんだ #付きでループ処理してねという助言はありました
与えられた数字は
5
12
です。
使える技術はfor while if int str
です。 なつやすみプログラミングきょうしつでも通っといて…
って小学生が2chなんて来ねえよ
そいつも小学生みたいな知能のおっさんだろ
救えなさすぎる >>27
それは26に言ってやれ
>#付きでループ処理
たぶんprint処理についての助言だと思うぞ
もう1つヒント
>演算子で〈=13として
たぶんここは減点対象だな
13っていう値を、入力その2(12)から自動で導き出すようにすべき
>使える技術はfor while if int str
おk
それだけできて
あとinput()も理解してればこの問題は解ける。
んで
できたorできかけのコードをうpして助言を求める場合は
>>1で紹介してるソースコード用うpろだのどれかを使え。
直コピペで提示されると
【複数の連続半角スペースは1ツにまとめられてしまう5chの仕様】により
インデントが崩れて見づらいのだ。 import sys
from_to = []
for n in sys.stdin:
from_to.append(int(n))
for i in range( from_to[0], (1+ from_to[1]) ):
print(i) >>26が>>30を提出したら
チートしたのがばればれw 出来ました!!
みなさんアドバイスありがとうございました。
ソースコード用うpろだの使い方がどうしてもわからないので、直接書きます。 skypeでメッセージをpythonから送る方法が知りたいんですがskypeはapiがないんでしょうか? どこを調べてそんな考えに至ったのかしりたい
そんなわけないだろ つskype4py
残念ながら、3系には対応していない WebAPIのラッパーライブラリは
バージョンアップについていけなくて放棄されることが多いよなー
使い捨てでなければ生API叩いた方がいいかもしんない >>21
a = int(input())
b = int(input())
for i in range(a,b + 1):
print(i)
算数で答えと式が違うからxとかみたいな、しょうもない理由な気がする。。。
取り敢えずoにしといて、テスト返却後に模範解答はこれで、これより無駄の多いコードの人は無駄を省く努力をしましょう。
とかすれば良いのに。 じゃあそのテストは2ch以下の産廃だな
やらない方がいいか、やってる方の頭がアレなのかは知らんが、
そもそも発端のソースコードが出てきてないのが気になる 元の回答者のコード見ないであれこれ言っても意味ないよね。
質問者のレベルから想像して、おかしなコードかいてても自分では気づいていないだろうし。 自分のパソコンではプログラムが正常に作動するけど、herokuに上げて実行するとエラーが出ます
スカイプで時間を呟かせるプログラムですが、デプロイっていうんですかね?アップロード的な作業は正常に出来てるっぽいです
アドバイスを頂きたいのですが、無知すぎて何を晒して聞けばいいのかすら分からないので、そこからご指示頂けますでしょうか? エラーのときに出た文章そのままをググろう
世界では前例が多い ほんまめっちゃググりましだが、全然分からずここに来た次第でござる エラーメッセージ貼ってみて
長すぎるならideoneとかpastebin使って貼ってみて
できれば省略はしないで 質問です。
print(..., = end””)とすると次の
print(...)と
改行しないで出力出来ると習ったのですが
whileで出力した返り値を, = end””
としても改行されてしまいました。
whileでは改行されてしまうのでしょうか?
ループ手段を使わずに自力で全て書いて出力したところ減点されてしまいました。
どなたか助けてください。 >>37
変数=intで入力するのがよかったみたいです >>44
printの書き方はprint('hoge', end='')だぞ
ちゃんと授業聞いてるか? >>44
そこまで売る覚えできてたら
python print end
とかでググったほうが早く回答得られたと思うよ >>45
>37氏はちゃんと変数=intのかたちで書いてくれてるじゃん
>>47
こいつの検索能力などの低さをなめてはいけないとおもふ 質問です。
(a+1 b+1)をループ処理しながら同じ文章にするためにはどうしたらいいのでしょうか??
別々で計算は出来るのですが、改行なしの同じ文章することが出来ません。 >>46
hogeはまだ会得していませんが、endは再確認出来ました。 意図するところが全く分からないので期待する出力を示せ
話はそれからだ >>49
もう一度>>46をよめ
授業は真面目に受けろ 初心者スレなのは分かるけどびっくりするほど授業のレベル低いな >>52
西暦a年は昭和b年です
という出力がしたいです。
aとbは標準入力から得ます。
10年分の出力がしたいです。 以下の指摘についてレスを書く前に
まず>>37を理解し、マスターしろ
>>55
はしょるな
全文のせろ >>58を改造して提出したら
チートしたのがばればれw >>57
>>37さんを真似て書いてみましたがエラーで出力されません。 問題です。
標準入力から、1行目に西暦年、2行目に年数が与えられます。この西暦年から始まる、年数分の「西暦年と昭和年の対応表」を出力するプログラムを作成してください。
対応表は、「西暦XXXX年は昭和YY年です」と表示します。昭和年は、西暦1926年から西暦1988年までの期間で、「西暦年 - 1925」で求めることができます。
なお。与えられる西暦年は、昭和年に対応しています。年数も、昭和年を超えることはありません。
1975
10
よろしくお願いします。 まず自分で作ったうまく動かない無様なコードを晒してみんなの笑いものになってからだ。 一体何のためにプログラミングを学んでいるのか理解に苦しむな
y = int(input())
n = int(input())
print([ for i in n]) 少しずつやれること増やしていくんだよ
ここにはそのために役立つコードいつくか集まっているのだから
さっさと実行して身に着けてしまいな 上から目線でエラそうなこと言ってるけど実は全員初心者だから気にするな 適当に人気のある入門書買って勉強すればある程度はいけると思うけど >>61
>>64がヒントあげてくれているので
それと37のヒントを
参考にしてつくったコード(たぶんエラーがでて、望んだようには出力されないだろうがおそれるな)を
ttp://codepad.org/ にでもうpって
ここにそのcodepadアドレスを貼れ
>>66
C言語の超入門の授業(半期のみ、週1コマ)を真面目に受けて、以降は独学 >>61追記
>>58氏がおまいのレベルからすると明らかにズルしてるのがバレバレバレレベルの回答を貼ってくれてるので
それもよめ Ruby で作った
nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
1975
10
EOT
#=> [1975, 10]
nums[ 1 ].times do |idx| # 10回ループ
puts "西暦#{ nums[ 0 ] + idx }年は昭和#{ nums[ 0 ] + idx - 1925 }年です"
end
出力
西暦1975年は昭和50年です
西暦1976年は昭和51年です
〜
西暦1984年は昭和59年です 100GB近くあるテキストファイルを50万行ずつに分割する処理の途中で
誤って処理を止めてしまったのですが、途中(仮に500)からイテレータを始める方法を検討いただきたいです。
ファイルの読み込みはpandasのread_tableでchunksizeを50万で指定しています。
skiprowsを50×10万行で指定したらmemory errorを起こしました。
読み込みだけで一回10秒程度かかるため、dataframeを作成せずにイテレータをインクリメントしたいです。 仮にn行目まで処理したかわかってるならdf[n:]でいいんじゃない
エラー吐くなら知らん
何なら最初からやり直したらいいと思う 一行ずつ読んでいって
num_of_line += 1
if num_of_line > 500: do_something
のようなパーツ挟む UWSC→AutoIT→Pythonで簡単に移行できたからUWSCから覚えてみては!
PythonもKivyのGUIから入ったからprintのendオプションとか昨日まで知らなかったわ どうしても Windows でキーマクロしたい時の最終手段がUWSCというイメージ
https://i.imgur.com/9syf7Ak.jpg
キー入力付近で書くことで抽象化があまりできず
ネストも深まりやすい感じが伺える
python で済むならpythonで終わらせて
キーマクロ言語は触らないほうが良いと思います
(vim のキーマクロを書くことがあるが、
同様の理由で異常に読みにくい) >>55
要するに、10回西暦と年号の入力と出力を繰り返したいのか。
しかも西暦から年号の変換をプログラムでしないで手計算とかintにする必要も無い。
forの変数も問題からすると使わない。
(問題自体が学習者を混乱させるクソ問題)
ヒントは以下2つ
ヒント1
for i in range(10):
ヒント2
a = input()
print(“西暦” + a + “年“)
intじゃなきゃダメとか意味不明な事言って来たら、intにするなら西暦だけ入力にして年号は計算で出せやと文句垂れつつヒント2を以下に変更。
a = int(input())
print (“西暦”, a, “年“)
あくまでヒントだから、元にして自分で問題解いてね。 >>81
長文書く前に後のレス(>>61以降)にも目を通しておこうな。 >>61
あ、勘違い。
最初の西暦と、そこから何年分を出力するかの年数を入力して、年号は計算して出すのか。
んじゃあ
a = int(input()) #西暦
b = int(input()) #年数
for i in range(b):
print(“西暦”, a + i, “年”)
みたいな感じでおk。 授業でforの使い方をどの程度教えているかにも寄るからね。
for i in range(a,b):の形まで教えているなら
>>83 のforは
for i in range(a,a + b):
になるので年号計算の式を短く出来るけど、
その形を教えてないとxとか言われそうだしねぇ。。。 https://i.imgur.com/gJaLQYY.jpg
赤い数字が要素で黒文字は接点の番号です。
それぞれの要素に含まれる接点を自動で求めるコードを作っているのですが、なかなかできません。
結果が配列で出てくるようにしたいのですが、どうすればできるのでしょうか。
要素番号,接点番号1,接点番号2,接点番号3
1,1,4,5
2,1,2,5
3,2,5,6
のように作りたいです。
For文を要素の個数だけ回して、そこからができません。
お願いします。 >>> [(lambda n, x: (n, (x, x+3-6*((n-1)%2), x+4-8*((n-1)%2))))( n, ((n - 1) // 2) + 4 * ((n - 1) % 2) + (n > 4) + 1) for n in range(1,9)]
[(1, (1, 4, 5)), (2, (5, 2, 1)), (3, (2, 5, 6)), (4, (6, 3, 2)), (5, (4, 7, 8)), (6, (8, 5, 4)), (7, (5, 8, 9)), (8, (9, 6, 5))] 座標を使えば上手くできる気もするのですが、上手くコードにできません。 ttp://ideone.com/ub4KPl
たかがこの程度の問題でここまでするのもどうかと思うが ありがとうございました。
教えて頂いた式の意味をしっかりと理解します。 >>86
こういうお話を一般化するとドロネー分割というのがあるから調べてみると幸せになれるかも知れない http://ideone.com/OkiPYj
python よりも 問題の9割は数学的な難易度だ たびたび申し訳ございません。
2つのcsvファイルを組み合わせ、新たに配列を作るのはどうすればよいのでしょうか。
座標csv
番号, x, y
1, 0, 0
2, 0, 0.5
3, 0, 1
4, 0.5, 0
要素csv
要素番号, 接点1、節点2、節点3
1, 1, 4, 5
2, 1, 2, 5
3, 2, 5, 6
4, 2, 3, 6
の2つのリストから
要素番号、接点1の座標、接点2の座標、接点3の座標
1, (0,0) (0.5,0) (0.5,0.5)
2, (0,0) (0,0.5) (0.5,0.5)
3, (0,1) (0.5,0.5) (0.5,1)
のようなリストを作成したいです。座標csvには接点の座標が入っており、
要素csvにはその要素に含まれる接点が含まれています。
そこで、要素csvの、要素番号に該当する座標を、座標csvから持ってきてリストを作りたいということです。
配列の扱いがイマイチ理解できません。
配列は1行しか扱えないのでしょうか?
まとめてcsvを読み込んでも、最後の行しか表示されません。
教えてください。 >>95
>まとめてcsvを読み込んでも、最後の行しか表示されません
そのソースコードうp
うp先は>>1から選ぶよろし https://ideone.com/UlbA6W
とりあえず読み込めるようにはなりました。
ここからができません。
具体的に何をすればよいのかがわかりません。 >>95
余計な要素である番号と要素番号消しちゃえ 結果をどう持ちたいのか分らんけどこれでどう?
import pandas as pd
import pprint
# element_path="要素.csv"
# point_path="座標.csv"
# element_pd = pd.read_csv(element_path, index_col=0, header=0)
# point_pd = pd.read_csv(point_path, index_col=0, header=0)
element_pd = pd.DataFrame({'x':[0,0,0,0.5],
'y':[0,0.5,1,0]
}, index=[1,2,3,4])
point_pd = pd.DataFrame({'point_1':[1,1,2,2],
'point_2':[4,2,4,3],
'point_3':[4,4,4,4]
}, index=[1,2,3,4])
element_dict = element_pd.to_dict(orient='index')
pprint.pprint(element_dict)
point_pd = point_pd.applymap(lambda d: '(' + str(element_dict[d]['x']) + ',' + str(element_dict[d]['y']) + ')')
point_list = point_pd.values.tolist()
pprint.pprint(point_list) Pythonでdefの前にnumba.jitを書くと速くなるとありますが、これってVSCodeでも速くなるのでしょうか?
手元のVSCodeでjitの有りと無しを何度か比較してみましたが、
全く変わりませんでした。
https://qiita.com/termoshtt/items/d6cf43e777946b3c1d93 JIT って、実行時に、ネイティブ機械語にコンパイルするやつか?
こういうのは、10〜100万回以上ループしないと、起動されないだろ
ループ回数が少ないのに、コンパイルしたら、
コンパイル時間が掛かるから、かえって遅くなるから ループを万単位でやるような処理にしか効果が無いのですね。
Numpy配列を処理するのに数分〜数時間かかるので、短縮出来たらって思っていたのですが、
ループが数十回程度では意味が無いと。 PythonistaとSiriで遊んでるけど正直やることない Pandasって癖強くない?
一次元配列作るにはpd.Series 二次元配列作るにはpd.DataFrame
要素を参照するときはdf.loc locつけないとdtypeとかまでくっついてくる
でもnumpyにはない機能があって便利 クセが強いんじゃあ 癖はあるけどそこまで強いとは思わない
(もっと酷いのがあるからね)
行指向と列指向の違いなだけ クセが強いのはむしろ matplotlib の方だと思う Ruby では、
JRuby(Java 実装系)のJIT は、百万回からコンパイルされる。
一千万回(実行時間で、1秒)では、なんと、MRI(C 実装系)よりも速くなる! 早さより美しさがpython
2->3 で遅くなった pandas で df.loc[x] のようにloc内に変数を入れるとエラーが出るのはなぜですか?
inputで数字を入れたいのですが、うまくいきません。 >>113
インデックス指定ならlocじゃなくてiloc matplotlibはメインフレーム時代の描画ライブラリを思いだしてしまう 組み合わせの問題で、10個の要素を2個ずつに分ける組み合わせは
itertools,combinations(range(10), 2)
で出力できますが、10個の要素を1,2,2,5個に分ける組み合わせ
というように均等ではない個数に分ける場合、どうやればいいでしょうか?
ここでし知りたいのは組み合わせ数ではなく実際の組み合わせのパターンです
10個の要素を1,2,2,5個に分ける組み合わせ数だけでしたら
C[10,1]*C[9,2]*C[7,2]*C[5,5] で求まるのはわかりますが、itertools,combinations
のようにその実際の組み合わせパターンを出力させたいのです
よろしくお願いします 10->5+5
5+5->5+(3+2)
5+3+2->5+2+2+1
で良いんじゃね >>117
再帰なのであまりにも多い要素の組み合わせは出せないけど、これでどうでしょ
from itertools import combinations
def my_combinations(iterable, rs, tmp=None):
r, *rs2 = rs
for t in combinations(iterable, r):
tmp2 = [] if tmp is None else list(tmp[:])
tmp2.append(t)
tmp2 = tuple(tmp2)
if rs2:
lis2 = list(iterable)[:]
for i in t:
lis2.remove(i)
for r in my_combinations(lis2, rs2, tmp2):
yield r
else:
yield tmp2
if __name__ == '__main__':
for t in my_combinations(range(10), (1, 2, 2, 5)):
print(t) Pythonを勉強するならWindowsとMacのどちらが良いですか? Linux仮想マシンでやるのがいいけど
苦手なら持ってるマシンで適当にやればいい うbyなら絶対MacだがPythonならどっちでも良い 何でpythonクラスには、privateが無いのよ! ここは開発者のお気持ちを予想するスレッドじゃないのでTwitterで直接聞いてこい そんな思い処理やってないはずなのに処理が重い
って時はどうやって測れば良いの?
処理時間てよりどれくらいメモリ使ってるかとかが知りたい
あとタスクマネージャで見たpython.exeのメモリ使用量が大きすぎて気になるけどこれ信用していいのかな… ターミナルで実行した時はメッセージを出すための処理をしたいけど、crontabで動かすときはメッセージは不要だからその処理は飛ばしたいです
どう書くんでしょうか? どうもありがとうございます
なんだか難しそうですね
ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました if sys.stdout.isatty(): print('hoge') >ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました
そうだよ
最初にif一回だけ書けばあとは切り替わるのがlogger
コードの至る所にif埋め込む積もりだったのか? >>133、>>134
そうです。いたるところにif書き込まないといけないのかなぁと思っていました。
じっくり調べてみます。
関数A
関数B(Aをターミナルに出力)
関数C(requestsを使ってapiにAをpost)
関数D(時間がかかる処理)
があるとします
関数B〜Dの3つをThreading.Threadを使うと
関数Dが動き始まるまで時間が逆に1秒くらい遅くなってしまいました
concurrent.futuresだと速度改善出来るかもしれないっぽいんですが、シングルコアのRaspberry Pi Zeroでも早くなりますか?
シングルコアだからmax_workersは1にしないといけないと思うので、concurrent.futures使う意味ないですか? pythonでGUI操作で、たとえばネットワーク接続設定で、IPアドレスを入力する欄
があると思うが、これを手入力でなくて、pythonで代わりに入力することは可能?
ソースコード的にはどうなるのかな。 Python (Python 3.7)のインタプリタで真偽値に色を付けることって可能ですか?
>>> l1 = [1, 2, 3, 4, 5]
>>> 3 in l1
True
↑このTrueを例えば緑色にしたいです。 >>136
Windowsだと仮定してpywinautoってのがあるみたいだな
linuxなら設定ファイルいじった方が早かろう >>136
windows ならコマンドプロンプトから netsh 使え
それでうまく行ったら python からそれを実行汁 windowsでPython動かす時、windowsにpythonインストールするのと、WSLのubuntuにpythonインストールするのどっちがいいんだろ
rubyみたいにlinuxの環境にしておいたほうが無難かね やりたいことによる。
windowsのguiアプリ作りたいとかじゃなけりゃ後者でいいんじゃ >>136
Sikuli
http://masuo.doorblog.jp/archives/51801518.html
ちょっと変わり種 👀
Rock54: Caution(BBR-MD5:f2c519fe5384e767e1c9e99abdcfc293) winにwin版pythonインスコでいい。
pythonはシェアが大きいとわかってるwin版を凄く重視してる。
シェアが大きいとわかってるOSを軽んじる言語は衰退してくから。 WindowsユーザーをコケにしてPython にシェア取られて衰退したRubyの悪口はやめろ! WindowsでPythonはじめたけど便利なライブラリ多くて楽だわ
ライブラリ以外の7割くらいctypesで書いちゃってるが 普段遣いのアプレット用にウィンドウズ版
WSLで作業するとき用にLinux版
というか、WSLでubuntu入れれば勝手に入ってた >>140
漏れは、WSL, Ubuntu 16.04 と、1つ前のUbuntu 長期版だが、
Python は最初から入っている
which python
/usr/bin/python
which python3
/usr/bin/python3
file /usr/bin/python
/usr/bin/python: symbolic link to python2.7
file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.5 *.pywファイルでno consoleモードを実現できるので、
wsl使ってても、windows版pythonは外せない。
api呼び出せば、wshの代替ができる。
>>148
wsl(ubuntu)ではpython 2.7は入れてない(デフォルトでは入らない)ので、
python3をpythonで呼び出せるようにaliasを設定してる。 >>142
136だが、ウインドウアプリを手動操作することをpythonにやらせたい。手動といっても同じことの繰り返しだから、このルーチンをpython にやらせて楽したい。 >>150
>>138
あるいはVectorとかでマウス&キーボード操作アプリを探せ >>151
僕がやろうとしていることはpython では不向きですか?率直なコメントを >>152
できるが
ズブズブの初心者がそこまでできるようになるくらいなら
KMmacroの使い方覚える方がずっと短時間で済むぞ 別にマシンスペックが足りないとか、そういう心配はない
向き不向きで言えば、Python自体が初心者にも優しい言語だし ちげーなー
わざわざこのスレに質問しにきてるってことは
潜在的にpythonをやりたいんだよ >>152
向いてますよ
PythonはGUI操作もうまくできます
WindowsにおけるGUI操作基盤であるUIAutomationやWinapiをベースにしたラッパーパッケージが幾つかあります
AppiumでWinappdriverを活用する方法もあります
画像認識ベースのOSS Sikulixも有名ですね
ただ知っておいて欲しいことはGUI操作がうまくできるからといってそれが最も効率的なやり方とは限らないということです
多くの場合において同じ結果を得るためにGUIを使わない方法があります
Pythonから利用するならGUIを使わない方法の方がより効率的です >>149
Debian 10(buster)2019/7/6 では、
python は2.7、python3 は、3.7 だけど
ちなみに、Ruby は2.5、Node.js は10.15、PHP は7.3、
Rust も入っていて、1.34
そうか、Ubuntu だけは、python2系から脱却したのか >>159
誤解されたかもしれんが、
aliasがデフォで設定されているわけじゃないので、念の為。 漏れは、WSL, Ubuntu 16.04 だけど、
そろそろUbuntu 18.04 に変えようかなとも思っている
VSCode では、Remote WSL 機能をインストールしろと、さかんに勧めてくるw >>148
Pythonで一番ユーザーの多いOSはWinだろうからな
Linux・OSXで超使われても、Winで超使われないと真のメジャー言語になれないだろうからな プログラム未経験者です。
下記の内容で詰まってしまったので教えてください。
(現状)
1.pythonで簡易webサーバーを起動。
python -m http.server --cgi8080
2.文字列を表示するアプリを作成してブラウザで実行。
(質問箇所)
・ブラウザに表示されるが日本語や全角文字は文字化する
・文字列を半角数字や英語のみにして試してみたら文字化せず表示される。
日本語や全角文字を文字化せずに表示させるにはどうしたらよいでしょうか? >>163
まず
Pythonのバージョンと
使ってるパソコンのOSを述べよ >>164
python3.7.3
win10
です >>164
ブラウザでページ更新するとwindowspowershellには
CGI scripts exited OKと表示されます >>165-166 >>168
文字コードの宣言がないとブラウザが正しく日本語文字(2バイト文字)解釈できないんだろう
Python3系ならデフォルトはUTF-8なので
ブラウザに文字列を出したいのであれば
表示したい文字列より前、先頭に
htmlの文字コード宣言(UTF-8)を行う必要があると思われ
「html 文字コード UTF-8 宣言」あたりのキーワードでググれ >>169 そういうこったな。 Python には無関係。
<meta http-equiv="content-type" charset="utf-8"> >>170
おまいイイ!!(・∀・)ヤシ
>>171
IDコロコロ変わる環境のやつは
自分が何番の質問書いたやつなのか名乗らないと誰かわからないぞ
(今回はわかるが)
次から書けよ pylintの対処法
まず行が長いと怒られて、
行長減らすために処理を別行の変数に分割した、
そしたら変数が多いと怒られて、
変数減らすために場合分けで変数を使い分けるようにした、
そしたら文と枝分かれが多いと怒られた。
詰んだ。
無視するのは簡単だけどこの人に怒られないコードを書くにはどうすればいいのか。 本当にむかつく。
変数名簡略化せず何の変数かすぐ分かる命名をとか言っといて、
長い変数名で行が長くなったらこの仕打ち、
許せない 標準ライブラリでいいから人が書いたコード読んでみたら
それか、ここで晒してもいいんじゃない >>173見る限りそんなレベルじゃないでしょ
行の分割も知らないんだし
無駄に深いネストとか関数として書き出した方がいい部分とかもありそうだし
書き方知らずに規約に従おうとしてもストレス貯まるだけだと思う とりあえず、autopep8 を実行してみるのもいいかも
勝手に修正するのは自分の好みではないけど
pylintではなく、flake8を使ってる
この程度の指摘で十分だと思う 頼まれてもいない(と思われる)linterを導入して怒られて腹立てるって何もメリットないなw ipythonで以下のように入力するとき簡単に打つ方法はありますか?
例
('jack')
毎回括弧閉じや「''」を都度打っていますか? >>180
エディタはAnaconda promptになります。 #!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
hensu = 'Living'
api = "http://localhost:3001/roonAPI/listZones"
r = requests.get(api)
data = json.loads(r.text)
print(data)
こんな感じのJSONからdisplay_nameが変数のhensuに該当するzonesの一塊のみ取得する方法教えて欲しいです
http://ideone.com/dINVkm >>184
自己解決しました
多分forループで回してその中でifで探して見つかったらbreakかな? Python初心者です。
proxy.txtにプロキシリスト(形式は0.0.0.0:000のようになっています)があり、そのファイルからreadlinesで読み込ませて串を噛ませながらスクレイピングするコードを書いています。
readlinesで1行づつリストに格納しているのでproxy.txtを作成する時には\nを入れて串ごとに改行するようにしていました。
しかし、実際にやってみるとi="0.0.0.0:000\n"のようになっておりパースエラーと表示されます。
皆さんは串のファイルを作るときはどのような形式にしていますか?
また、今回のような状況でどのようにすれば改善されるのでしょうか。 Ruby なら、chomp で改行を削除できる
p text = <<"EOT" #=> "1\n2\n"
1
2
EOT
p ary = text.lines #=> ["1\n", "2\n"]
p ary_2 = text.lines( chomp: true ) #=> ["1", "2"] >>173
lintを10割受けてたらバカになるから6割程度で受けるが吉 gitのhookでlintでエラーがあったらコミットせないみたいな事をやってる所は少数派なのか >>185
この続きです
スクリプトを動かすとネットワークプレーヤーで再生中の曲情報をターミナルに表示します
https://i.imgur.com/NTfm72c.jpg
https://i.imgur.com/dF7P85L.jpg
https://i.imgur.com/v1VriQF.jpg
まれに曲を変えるタイミングでスクリプトが落ちてしまいます
https://i.imgur.com/nkloyjo.jpg
37行目で落ちるので、38行目からのようにしてみたけどやっぱり落ちちゃいました
落ちないようにする方法はありますか? >>193
自己解決しました
37行目でintに返還してたのをやめて、ifの中の39行目を追加したらうまくいきました
https://i.imgur.com/h7qOORo.jpg >>192
少数派っつーかごく一部の意識高い奴しかやってねえよ
Reactのリポジトリすらやってない >>195
その「意識高い」ってのは
マジで意識が高いのかそれとも「意識高い系」なのか……。 python3でマルチスレッド処理をしたいです
def a(b):で作成した関数aをwhile無限ループ内で何度も繰り返したいです。
しかし、TypeError: a takes 1 positional argument but 18 were given(18のとこは15-20くらいで色々ある)
となってしまいます。
何がおかしいんでしょうか?
どうやったら治るか教えてください >>200
その間違っているコードを示さないことには何が間違いか指摘しようがないぞ >>201
threading.Thread(target=a,args=(b)).start() argsにタプルを指定した気になってるようだけどタプルじゃないって奴だな >>203
つまりどう直したらいいんでしょうか・・・
すみません https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-and-sequences
> 問題は 0 個または 1 個の項目からなるタプルの構築です。(中略) 一つの要素を持つタプルは、値の後ろにコンマを続ける (単一の値を丸括弧で囲むだけでは不十分です) ことで構築できます threading.Thread(target=a,args=(b,)).start()
threading.Thread(target=a,args=((b,))).start() 横レスだけどなるほどなっとくした >>207 & >>205 一要素のタプルとかいう意味不明な物を許してるからこういう問題が存在するんじゃないの thread使ってるけど気にしたことないなぁって確認したらargs使ってなかったわ
引き渡すの全部Globalに入れちゃってるや a=10
b=a/2
print(b)
ってしたら、5.0ってなるねん
5ってしたいねん
どうやったらいいん? >>212
print(b)
この部分を、
print(int(b))
とかじゃ整数にできんかね? >>214
じゃあ
a=int(10)
で最初に指定してあげるとかなら? >>217
いいよ
うんちぶりぶり!!
プログラミングなんてトライアンドエラー繰り返しだと思うしガンガレ >>221
友達おらへんやろ?
なったろか?
さみしないか? b=a//2
または
print(f'{b:.0f}') >>222
トライは動詞、エラーは名詞だから
トライアンドエラーは間違い
精進しろよ?w >>212
python3からは勝手にfloatに変換されるので、intで閉じさせるならa//2とする カタカナで書いてる時点で和製英語にきまってるだろ
英語の文法とか何の関係もねーよ スマイル・シンデレラは間違い
スマイリング・シンデレラと呼ばなければならない
で、だからなに? って話だなw >>229
それ
りんごは英語でアップル
くらいの知能レベルの文 例えば「エンバグ」は和製英語だが(その証拠に英英辞典には載っていない)
プログラマで使ったことないやつなんか10%もいないだろ VSCodeのPythonの型推論がクソ進化してる
もう型アノテーションいらないんじゃないかこれ https://www.p2pquake.net/dev/json-api/
JSONっぽいけど、始まりが[で終わりが]になってる
reqests.getで取得したとして
この中のearthquakeの中のhypocenterの中のnameを取り出すにはどう書いたらいいですか? こないだテレビ見てたらカーボーイハットの男が叫んでた。 >>233
自分の常識が世間一般の常識と思い込むのイクナイ >>233
それ業界英語だからや
普通に英単語でもあるぞ enbug >>235
アクセス過多で業務妨害罪でタイーホ!
URLてきに、apiでとれるようになってるんだろうから
そこ用のapiの勉強しんしゃー ていうか英語の接頭辞のニュアンスくらいマなら知っとるやろ >>240
CollinsにもWebsterにもMacMillanにもODEにも載ってないのに「英単語」と言い張るのは無理がある
もちろんこれらの辞書はすべてdebugはコンピューター業界での用法も当然に収録している
これでも不満ならありとあらゆる英単語を載せているOEDを引けば答えがわかる
ちなみにenbug.orgにも「日本語由来」と(英語で)書いてある 正確には「日本語圏でしか使われていない単語」か
要するに和製英語を一部の人間が英語に持ち込んでるだけで英単語ではない >>235
r = requtsts.get(url)
d = r.text
d = json.loads(d)
これで最新の10件が取れますが[]で括られてます
リストってことになってしまうから例えば
d = d[0]
とやれば1件目が取れます
10件欲しいならforループ使えばいいのは分かるんですが、例えばissueの中のtypeを取り出したい時
for dd in d:
sType = dd['issue']['type']
print(sType)
これだと
KeyError: 'issue'
とエラーが出るのはなぜですか? コードガールこれくしょんの問題8-4をやっているんですが、以下の回答のどこがダメなのか分からず先に進めません…;
かなり初歩的な質問で申し訳ないのですがどなたか教えていただけると助かります。
from random import randint
#1から10のランダムな整数を出力して下さい。
a=randint(1,10)
print(a) print(randint(1,10))
これをループして >>251
randrange使うんじゃないの?知らんけどw 揚げ足とるとそれだとランダムな整数が代入された変数を出力してるもんなぁ糞だけど >>250
issueが無いデータがあるからでしょ
if 'issue' in dd:
とかでキーが存在するか確認しろ >>251
ちょっとやってみたけど
『文字列「"sky"」を出力してください』で
print("sky")で蹴られるとか明らかになにかおかしいだろこれ 251です。他のステージもプレイしてみましたが、以前は正解になった回答↓でも不正解になったので公式側に不具合が起きているのかもしれません;
時間を置いて再度試してみます。コメントありがとうございました。
#文字列「egg」を出力してください。
print("egg")
#10から2を引き算して出力してください。
print(10-2) >>255
どうもありがとうございます
存在していないkeyでした
http://ideone.com/0ErCLL
これを実行すると
村上市 (2)
関川村 (1)
鶴岡市 (1)
な感じでプリントされますが、
村上市 (2), 関川村 (1), 鶴岡市 (1)
といったように、一行でプリントするにはどんな方法がありますか?
>>258
更新されているようです
Rubyでのサンプルページも作られていました
https://github.com/p2pquake/epsp-utils/tree/master/json_api_reader >>259
for p in points:
# print(p)
# sys.exit()
s = p['scale']
s = str(s)
s = scaleDic[s]
a = p['addr']
print(a, end=" ")
こうやるとaのvalueが横一列で表示されたので、試しに
print(a, end=" ", s end=" ")
こうやってみたらエラーでダメでした >>261
どうもありがとうございます
formatの使い方ですが、
print('{1} {0}'.format(points[0]['scale'], points[0]['addr']))
print(f'{points[0]["addr"]} {points[0]["scale"]}')
pointsの0番目を指定しているのでどちらも同じく
村上市 20
と表示されます
pointsの中にはいくつか入っているので0番目だけじゃなく全て表示したいのでforループを使いました
だけれどそれだと縦にプリントされてしまいます
.formatの指定の仕方で横にプリントが出来るということですか? l = ['{}({})'.format(p['addr'], scaleDic[str(p['scale'])]) for p in points]
print(', '.join(l)) print(a+"("+s+")", end=",")じゃだめなんか知らんけど 改行無しを多くつかうなら
def princ(x):print(x,end="")
で、end=""を少なくすると良いかも これでお願いします
http://ideone.com/GEHy2w
template = '{0} ({1})'
for p in points: p['scale'] = scaleDic[str(p['scale'])]
output = [template.format(p['addr'], p['scale']) for p in points]
print(*output, sep=', ') 君のは無駄すぎる
print(', '.join(f"{p['addr']} ({scaleDic[p['scale']]})" for p in dd.get('points', []))) >>268
うびぃも後出しじゃんけんでperlをdisってるからな
他人の事は言えんやろ >>260 print(f'{a}({s})',end=', ')
一番最後にも , がつくのが少しうざいけど。
end= と言うのは print文の最後を改行の代わりに指定文字を出力して終わると言う意味だから、複数指定するのは間違い。 >>259 >>266 scaleDic のキーは、str ではなくて、数字じゃ無いとダメだろ。
これで良い筈。
http://ideone.com/sld6FX >>263
どうもありがとうございます!
l = [f'{p["addr"]} (震度{scaleDic[str(p["scale"])]})' for p in points]
ll =', '.join(l)
print(ll)
f'に置き換えても動きました!
>>264
>>265
どうもありがとうございます!
これらも確認してみます! prefs = {'山梨': 2, '東京': 42, '北海道': 2, '千葉': 12, '神奈川': 31, '茨城': 1, '埼玉': 5, '静岡': 3, '栃木': 1, '沖縄': 1}
これを
valueの多い順に、
東京 (42), 神奈川 (31), 千葉 (12)...
と並べる方法もありますか?
prefsSorted = sorted(prefs.items(), key=lambda x: x[1], reverse=True)
この関数だと、
[('東京', 42), ('神奈川', 31), ('千葉', 12), ('埼玉', 5), ('静岡', 3), ('山梨', 2), ('北海道', 2), ('茨城', 1), ('栃木', 1), ('沖縄', 1)]
value順に並べられるけど、リストでも辞書でもなさそうな形式に変わってしまいました。
不要な文字をstripやreplace等で消そうと試しましたが、タプルだから無理とエラーが出ました。
教えていただいたように
pp = '{} {}'.format(pSk, pSv) for pSk, pSv in prefs.items
ppp = ', '.join(pp)
print(ppp)
これには応用出来ませんでした >>266
>>267
>>271
>>272
ありがとうございます
レス頂いた内容ひとつひとつきちんと試してみます pp = ['{}({})'.format(i[0],i[1]) for i in prefsSorted]
print(', '.join(pp)) 連投すみません
>>264
>>265
>>271
これ(>>260) に対するendの使い方が分かりました
>>265
短いけれど内容難しいです >>266
formatの対象を別変数に入れたり、printでsepを使う時にアスタリスクが使える事が参考になりました
>>267
これ (>>263) をさらにコンパクトにしたってことなんですね
>>272
なるほど
scaleDicのkeyをstrじゃなくintにすればよかったんですね >>277
どうもありがとうございます!
formatでいけるんですね
じっくり調べてみます 書き直しました
http://ideone.com/cVlEOe
pの中のscaleが空っぽの場合エラーになってしまうので、25〜26行目ようにifを使いました
一応これで動いてるっぽいんですが、やり方あってますか? 教えていただいたおかげで、Rubyでのサンプル(https://github.com/p2pquake/epsp-utils/tree/master/json_api_reader)の実行結果のようにPythonでも表示できるようにしてみました。
引数有り無しで何分前までの情報を表示するか選べるようにしました。
ただ、時間指定するか件数指定するかで迷っています。
サンプルは100行ほどで治まっているけれど、自分のは1.5倍もあるのできっと無駄だらけ(特にmain関数内のインデント)なんだろうと思いました。
http://ideone.com/jf4yY4
https://i.imgur.com/694EBuR.jpg >>281
p['scale']
の代わりに
p.get('scale', 0)
としてscaleDict[0]のところに'不定'など入れるべき >>281 24行目
scale = dic.get(k, “不明”) >>283
>>284
どうもありがとうございます
辞書を.getで使う事は知っていたけれど,で区切って代入したいものを書けば見つからない場合にそれが代入されるんですね
25〜26行目も不用になりました
勉強になりました >見つからない場合に
じゃなくて代入するべきkeyが無い場合
ですね Ruby には、式展開がある
文字列内の#{ } 内に、変数・リテラルなどの式を書くと、
式を評価してから、文字列に変換する
文字列に変換する際、Object#to_s が呼ばれる
a = 1
p "答え : #{ a + 2 }"
#=> "答え : 3"
こうやって簡単に、可読性が高いプログラミングができるから、Rubyは初心者向け。
Python では、こんなに簡単に書けないから、ものすごい時間を浪費するw >>288
Rubyくん
Python3.6からf-stringが導入されたからできるよ
精進したまえ a = 1
print(f'答え: {a + 2}')
答え : 3 >>291
自分はこのやり方しか知らない
3.6以前や2の時代はどう書いてたんですか? xを2*10の行列にしたいんだけど、なんでこれだと20次元のベクトルになっちゃうの?
正解はどうすればよかんべ・・・・
import numpy as np
x = np.array([[]])
for i in range( 10 ):
x = np.append( x, [i, i*i] )
print(x) >>292
print'答え:'+str(a+2)
とか。 >>293
np.appendの行を
x = np.stack((x, [i, i*i]))
にする
あるいは
x = np.arange(1, 10)
x = np.stack((x, x*x)).T >>293
サイズが予め分かっているならnp.emptyかnp.zerosで先にそのサイズで作成する
x = np.empty(shape=(10,2))
としてから
x[i] = [i, i*i]
サイズが予め決まっていない場合は、先にリストで処理して最後にnp.arrayにする
x = []
for i in range( 10 ):
x = x.append([i, i*i])
で入れたあと
x = np.array(x) 自分が使ってる参考書の尼レビューに「小学生向け」とか書かれるとあまりいい気がしないね
別に子ども用の記載ないのに(´・ω・`) >>297
逆に考えるんだ
最近の小学生は大人顔負けで凄いぞ >>298
愚痴こぼしてすまん。
初心者のくせに変なプライドが出てしまったようだ
小学生に追いつけるようにがんばる(´・ω・`) たすけてください><
j = msgpack.unpackb(b'{"a": 1, "b": 0}', use_list=True, raw=False)
msgpack.exceptions.ExtraData: unpack(b) received extra data.
j = msgpack.loads(b'{"a": 1, "b": 0}', use_list=True, raw=False)
msgpack.exceptions.ExtraData: unpack(b) received extra data.
j = msgpack.fromjson(b'{"a": 1, "b": 0}', use_list=True, raw=False)
AttributeError: module 'msgpack' has no attribute 'fromjson' クラスstudentがあったとして
そのstudentの集合からなるクラスstudentsを作って
各科目ごとの全studentの点数を出すメソッドをstudentsに作りたいんだけど可能です? >>301
もちろん可能だけども、学校の課題でなければpandasでデータフレーム使うかな >>300
質問の意図が分かりにくいのでキチンと説明しないと回答得られないよ
やりたい事は辞書型の{"a":1, "b":0}をシリアライズして、戻すということでいいのかな
辞書型→シリアライズされたデータ
j = msgpack.packb({"a":1, "b":0})
シリアライズされたデータ→辞書型
d = msgpack.unpackb(j)
もしやりたい事が辞書型からjson文字列を得る事なら、import jsonした上で
辞書型→json文字列
j = json.dumps({"a":1, "b":0})
json文字列→辞書型
d = json.loads('{"a":1, "b":0}') >>304
ありがとうございます!
そんな感じにappend出来るのですね。 uwscのCHKIMGXのように裏画面であいまい画像検索できるようなライブラリがあれば教えていただけませんか? すいません正式な用語がわからなくて…
デスクトップ上で、他のソフトウェアがかぶさっていて前面に表示されていない状態です >>300
What you are looking for is something like FromJson (string)?
string JSON to object/MessagePack-Binary is not supported.
You can convert JSON to object once, and serialize it as MessagePack and save it again. あいまい画像検索ってなんだよまず
調べてもuwsc関連しかヒットしねぇぞ 多分テンプレートマッチングの亜種だと仮定するとopencvで出来るだろどうせ 俺の少ない知識ではWindows10の隠れた画面のキャプチャは出来なかったと思うので、一旦画面を前に持ってくる必要がある
パッケージはwin32guiでSetWindowPosん使ってHWND_TOPMOSTメッセージを投げ込めば良い
隠れた部分がDirectXやUWPなら多分隠れたままでもキャプチャできるんだろうが、そうなると今度はPythonからどこまで操作できるかという別の問題にぶつかる 隠れててもwindowハンドルからdc取得すりゃできるよ
デスクトップのハンドルだとウィンドウ全部合成後の拾ってくるから無理だけど >>313
昔はそれでできた
今はできなかったと思う
試しにFindWindowでhandle取得してCreateDCFromHandleでデバイスコンテキスト取得してみたがウインドウサイズそのままに真っ黒になった
Windows Insider版だから自分の環境がおかしい可能性はある 今もできるよ
俺作ったやつは後ろの普通に取れてる
アプリによっては無理なのあるけど >>306
裏画面に存在するのは被検索対象なのかテンプレートなのか
被検索対象とテンプレートのソースは何なのか(ブラウザ等の外部アプリの画面なのか、画像ファイルなのか等)
最低限これくらい書いたらどう
uwscが一般に知られてる前提で書きすぎ >>315
あぁ、分かった
色々試して出来るもの、出来ないものがあった
出来ないのは電卓とかUWPっぽい
UWPはスクリーンショット取れる別の関数がC#にはあったがPythonはなさげ
質問者のアプリがUWPでないことを祈ろう おっしゃる通りでしたすいません。
あいまい画像検索は、対象とする画面内に用意した画像と似たものが存在するかチェックするもので、検索した感じテンプレートマッチングと呼ばれるもののようです。
裏画面に存在するのは被検索対象で、テンプレートは自分で用意した画像です。
被検索対象はNoxというAndroidエミュレータで、テンプレート画像に近い画像が何度出てきたか記録して統計を取りたいです。
とりあえずopencvを調べてみますね。 OpenCVでChkImgみたいなパターンマッチングは出来てるよ
電卓とかBlueStacksのInactiveCaptureはEnumChildWindows使えばいけるけどNoxならFindWindowとか適当でいい result = cv2.matchTemplate(img, temp, cv2.TM_CCOEFF_NORMED)
loc = np.where(result >= threshold - 0.5)
あいまい検索はマッチングのしきい値を下げちゃえばいい Djangoなんですが
{ % block % }と{ % include %}って使い分けることはありますか? >>320-321
タイトルの判らないAVの一部から女優さんの名前を見つけられますか? htmlソース内でpythonスクリプト走らせてopencvのnamedwindowをWebページに埋め込むにはどうすれば良いですく? htmlは詳しくないけどwindow埋め込むくらい簡単そうなもんだけどな
意外と融通効かないんだなぁ 融通効かせられるようにするとすぐ脆弱性になって悪いことする奴が出てくるからな >>330
ウェブサーバを用意してhtmlとpythonスクリプトを分けた上でサーバにアップロードして、分けたpythonプログラムをcgiのようにサーバサイドの処理で画像を作る方法なら簡単だよ
サーバレスでファイル一つで全部やりたい場合、HTML内にpythonを直接埋め込んでも動かないので、JavaScript経由で包み込んだbrythonを使うことになり、これがOpenCVを扱えない
text/pythonをnativeでサポートするブラウザが出てくるとは思えないので、普通の人はサーバを用意して分けるか、JavaScriptを使う
OpenCV.jsも癖が強いので使う人はあまりいない >>JavaScript経由で包み込んだbrythonを使うことになり
おいおい、クライアントサイドjavascriptでそんなこと出来るようになったのか? >>332
へぇ〜
サーバは用意するとして、
そしたらnamedwindowも作れるの?
何がしたいかって、opencvのマウスコールバックを使ってチョメチョメしたい
brythonが無理そうなのは329読んで何となく理解した、実態がx86のバイナリでどうこうとか >>334
namedwindowでイベントをともわないのであれば>>332でも出来る部分はあるが、ブラウザで開いてマウスオーバーのイベントを受けられるのは今のところJavaScriptしかないので、JavaScriptで書く必要がある
というか、何がしたいか分からん
Python+OpenCVで作ったマウスイベントありのアプリをなるべく簡単にWebアプリにしたいとそういうこと?もしそうなら皆が書いているようにそんな方法はない
俺なら全部html5+JavaScriptで書く
適材適所というヤツだ 嘘をウソと見抜けない人は2ちゃん5ちゃんは向いてない
帰れ >>335
イメージはflashゲームみたいなのをopencvの windowとマウスコールバックで作ってwindowごとブラウザに埋め込みたい、なんだけど
flashゲームも埋め込まれてるしあれもマウスのイベント取得出来るよね?
知らないけどflashゲームも実態はjsなのかな? JavaScript(JS)のゲームは、Haxe, Phaser とか
https://www.emanueleferonato.com/
このイタリア人は、Cocos2d-x(JS版)の本を書いていたけど、最近は、Phaserばっかり! >>337
基本を勉強した方が良いが体系的に会得する方法はあるんだろうか
ブラウザというのはhttpやftpなどの通信プロトコルを使ってhtmlやjpegなどのファイルをダウンロードしたり、アップロードしたりするもの
ダウンロードしてきたhtmlに何かのスクリプトがあればブラウザに動作させる事ができるが、ブラウザごとに仕様が異なる
比較的頑張って標準化されたのがJavaScriptで、ブラウザに何かさせるのにJavaScriptを使えと言っているのはこれが理由
追加の機能はブラウザごとにプラグインとして提供され、FlashやJavaは各種ブラウザ用にプラグインがあるから動作する
現在PythonのGUI系イベントを扱えるプラグインは存在しないので出来ない 初めてです。よろしくお願いします
アルファベットのみの行を読み込まないor削除する正規表現ってありますか?
例えば
これはペンです
これはpenです
This is a pen
というツイートをTwitterScraperで持ってきて、This is a penの行だけ読み込まないor削除したいです
試したコード:
for tweet in query_tweets:
sentence = tweet.text.replace("¥", " ")
removeAlpha = re.sub(r'^[A-Za-z ]*\n', "", sentence 正規表現でできるかも知れないけど
"\n".join(x for x in tweet if x.replace(" ","").isalpha())
で用が足りてると思う "\n".join(x for x in tweet.split("\n") if not x.replace(" ","").isalpha())
だった >>337
もうクライアント側でリアルタイムでやるのはjavascriptしかない
IE以外はプラグイン排除でflashも来年で終了だし、pythonがブラウザで動くようになるのは期待するだけ無駄 datasetを使ったデータベース操作について質問です
各レコードにstarts_date_time、starts_date_timeなどが書かれてあります。
しかし一部のレコードにはstarts_date_time書かれていないNULLになっているレコードがあります。
start_at(UNIX時間が書いてある)は必ず書かれてあるので、もし、starts_date_timeがNULLのレコードがあれば、そのレコードのstarts_atを元にstarts_date_timeに記録したい文字を作成し、レコードをアップデートしたいです。
http://ideone.com/uHg9EB
こんなスクリプトを書いてみたんですが、実際に動かすと、全てのレコードのstarts_date_timeが、1番目のレコードのstarts_atから変換したものに置き換わってしまいました。
どこが間違っていますか? 間違い
>各レコードにstarts_date_time、starts_date_timeなどが書かれてあります。
正しくは
各レコードにstarts_at、starts_date_timeなどが書かれてあります。
です。 質問です
configparserでキーの数値を読み、修正なりした後にsetで書き戻すと
=の前後に空白が付くのですが、空白無しで直接書き戻すことはできますか? write(fileobject, space_around_delimiters=True)
space_around_delimiters が真なら、キーと値の間のデリミタはスペースで囲まれます。
なぜ公式ドキュメントを読まないのか >>349
ありがとうございます
完全に素通りしてました…以後気を付けます >>346-347
>全てのレコードのstarts_date_timeが、
1番目のレコードのstarts_atから変換したものに置き換わってしまいました
そもそも、starts_date_time に代入などしてるか?
レコードから、その属性を取り出しただけじゃないの? >>346
typoがある
stats_at
を
starts_at
にすれば動く if a == '':
a is None
これ1行に出来ます? >>353
一行どころか0行にできるよ。それ実行してみた? >>354
>>355
出来ました
a = ''
if a == '': a is None
print(a)
a is None と a = Noneで結果が変わるんだけどisと=って違う意味ですか? さすがにそこまで分かってるならGoogle先生に投げろよ甘えすぎ >>356 あのさ、 a is None と言うのは判定文だという事解ってる? True か Falseが返ってくるんだよ。
a=None は代入文
a の中身がNoneかどうかを判定する時に使う。
a=None
print(a is None) #>> True
a=''
print(a is None) #>> False
もし aが 空の時に Noneを入れたければ
a = ''
if a == '': a = None
print(a) #>> None 仮想通貨を取引するbotを作ってるのですが、
たとえば、1分間隔でプログラムを実行して、
条件がそろえば、買いシグナルと売りシグナルを出すのですが、
買いシグナルが出ていても、
1分後にはプログラム動いて、
条件がそろっていないと、
買いシグナルが消えてしまいます、
売りシグナルが出るまでは、
直近のシグナルが、買いのままだと分かるようにするにはどうしたらいいでしょうか?
買いシグナルが一度出たら、
売りシグナルが出るまでは、
プログラムを1分おきに実行しても、現在は買いシグナル中だと分かるようにしたいです。 お前の日記帳…いやファイルに
終了直前のプログラムの状態を書き出しておいて
次に起動した時にファイルから状態を読み込んで継続する >>361
ありがとうございます、
高度過ぎて意味が分からないけど、
ファイルの状態を書き出して読み込むをヒントに、
工夫してみます。 >>360
俺ならシグナルの履歴は残す
https://ideone.com/4aZXp8
これは毎分CSVを更新するプログラムだが
シグナル変化した時だけCSVに書けばいい
CSVはサイズがどんどんデカくなるので
そこは調整してくれ >>363
>>364
ありがとうございます、
threadがなんなのかも、
CSV書き出しもやったことないのですが、
この辺りを勉強してみます。 知らんけどビットコインて分間隔で値段更新なの?
もし違うなら甘えるなよ、コンマ秒間隔で監視して妥協を許すな 2ch 1000get のための監視使ったらあっさりバケツくらった
頻度は負担にならないていどに >>366
websocketとかいうの使って、
更新時間ももっと短くすれば早くなるかもしれないのですが、
apiで頻繁にリクエストすると、
業者にapiを制限されちゃいます、
それに、
高頻度で取引するやつは、
今の通信環境と、Pythonのスピードでは、
太刀打ちできなさそう、
デイトレで一日数百回までの、
そんなに、スピード重視の高頻度取引でない戦略を考えてます。 >>367
にちゃんでよかったな
くにやけんのさいとならこっかけんりょくによってたいほされているぞ 当方、46歳無職ですが、pythonを習得すれば、在宅プログラマーに仕事にありつけますか? ギャグじゃなくて真剣なんです
もう人生終わってますが、何方かご教示ください >>371
今のところpythonプログラマーの需要は少ないとか? >>371
python案件が増えて来ているのは確かだが、案件の絶対数としてはJavaScriptが多そうだな
在宅希望ならクラウドワークスあたりで探してみたら?案件価格見るとふざけた金額が多いので俺はやらんけど
まともな金額の在宅は、会社勤めて信頼を勝ち取った後コネで貰うものだから
こういう話はプログラマー板があるからそっちで相談するといい 障碍者年金で暮らしているので、月に10万でも稼げたらなんとかやっていけるんです
仰るとおり、プログラマー板で相談してきます >>374
エアプかよ
案件数でいったらダントツJavaな Javaって遅くないの?Pythonと同じくらい? 腐ってもコンパイル言語だしpythonと同じな訳ないだろお前は今まで何をやってきたんだ >>479 JIT だよ。Python にもJITで動く PyPy がある。 Javaって言語の性能云々より未だにそれを中心に扱ってる会社の地雷率が高いから嫌い
1.8以降なら地雷率低いけど 方法論や環境を改善するより属人性を排除して頭数を揃えろ
こういう考え方の企業はJavaを採用する傾向が強い気がする もしかすると逆じゃねえの
Javaはそういう傾向を持つ大企業に合わせて適合して進化してきたんじゃね Javaはオワコンだぞ。難しくてもいいんならc+を勧める。 とりあえずPythonしか出来ないレベルでは10年早いから
何か一つはエキスパートレベルで、
その他のことも人並みにはでき、
その時点で知らんことも短期間で修得でき、
自力での問題解決ができる
じゃないと つまりこんな所で質問してる時点でメンタリティ的に問題ありってこった スクリプトが複雑になってきたのでコマンドラインパーサーのclickを使ってみたらめちゃくちゃ遅くなってしまったんですが、そういうもんなんですか?
オプションを指定しないで
$ ./script.py
で動かすとヘルプが表示されるけれど、ラズパイZero Wでスクリプトを動かすとヘルプが10秒以上かかってしまいます。。。 使ったときと使ってない時を比べて使ったとき遅いならそういうものなんだろ
他に何かあるのかよ いまさらだが
Py2からPy3への移行が死ぬほどめんどいぉ・・・ (´;ω;`) >>393
2to3ってそこまで賢くない?
futureとかも消してるの? >>394
2to3で機械的にできない、過去の自分の糞ソース作成スキルぇ・・・ (´;ω;`) ラズパイならストレージ=MicroSDが遅いんだろ >>396
ヘルプだけじゃなくてスクリプトが動き始めるまで遅いです 以下のPythonプログラムを保存して
Macのターミナルで実行すると
~~~~~~~~~~~~~~実行するプログラム(udptest.py)~~~~~~~~~~~~~~~~~~~~~
from socket import socket, AF_INET, SOCK_DGRAM
HOST = ''
PORT = 5000
s = socket(AF_INET, SOCK_DGRAM)
s.bind((HOST, PORT))
while True:
msg, address = s.recvfrom(8192)
print(f"message: {msg}\nfrom: {address}")
s.close()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
print文の行の print(f"message: {msg}\nfrom: {address}")でエラーがでます。
print(f"message: {msg}\nfrom: {address}")
^
SyntaxError: Invalid syntaxとなって、最後のダブルクオートのところでエラーが出るみたいなのですが
何故ですか?Linuxで実行するとエラーにならないんですが、Macのターミナルだとエラーになります >>399
Linuxの方はPythonのバージョン3.6で
Macのターミナルはバージョン2.7です じゃあ明らかにバージョンの問題
f”hoge[hoge]”は3.6からだったと思う >>402
ありがとうございます
バージョンあげてみます python3とpython2 は互換性がないから
macのほうにpython3 install して
1行目には /usr/bin/env python3 >>402>>404
無事実行できました、ありがとうございます リストからランダムな順番で要素を重複なしにすべて取り出すのはどうしたらいいんでしょうか
seq = ["a","b","c"] というのから
sel_1="b"
sel_2="a"
sel_3="c"
というように各変数に入れたい ハッシュにいれていって
これまでに見たことがあるかチェックがよくあるながれだが
python にはバッテリーインクルーデッドなライブラリにそれするのがあるぞ というか辞書型に変換するやつがあったからそれがこんかいの
python でポピュラーな解だったような? >>406
import random
seq_1, seq_2, seq_3 = random.sample(seq, len(seq)) 誰かもっと賢いやり方知ってそうだが。。。
先の手順でできてくるintを入れておくようの、空リストをつくる(仮にlist_hogeと命名)
↓
randintで疑似ランダムな整数をつくる(むろん範囲はリストでエラーが起きないよう指定する)
↓
でてきたintがlist_hogeにないか調べる
調べた結果が、がいしゅつじゃないなら、list_hogeのケツにくっつける
がいしゅつなら、くっつけない
(try/exceptがいいと思う)
↓
list_hogeの長さがlen(seq)になったらループ終了
↓
各変数をつくって1つずつ格納してあーたらこーたらしないで、
そののちやりたい処理をみんな
for temp in list_hoge: にいれて、中で
sel = seq[list_hoge[temp]] って呼び出す方がいいとおもう python習得してからの第二言語て何やりゃいいんだろう
業務ではスクリプトレベルが出来ればいいからpythonで十分
rubyやろかと思ってたけどなんか最近伸びてないらしいし アセンブラとか逆アセンブラとかどうよ
バグ取りに活躍できるとおもうんだが >>412 用途次第だけど趣味とか個人規模の業務ならpythonで完結してるから必要ないと思う
具体的にpythonでは出来ないタスクが現れた時にでいいでしょう >>412
pythonしか出来ないのけ?
もしそうなら似たようなものやっても仕方ないからふつうにC系の奴でいいんじゃないか。 ギョームギョームゆうてるけど言語の選択権なんてまずないからなw えwお前んとこ個人の業務支援スクリプトですら言語決められてるの?w流石に同情するわw 正直一人でやるならbash、awk、sedでいいよねって気がする
python必要か? >>418
ギョーム支援スクリプトしか任せてもらえないんだなw もう1つ聞きたいのですが
↓のQiitaの記事通りにコードを書いて
https://qiita.com/akakou/items/e9fbcfc0c69cc957152e
MacとWindowsが自宅の同じWi-Fiにつながった環境で
受信側にMacのターミナルを使用し
送信側にLinuxのターミナル(Windows上での仮想環境)を使用して実行したところ
Mac側のターミナルでデータが受信できなかったのですが何故ですか? >>423
仮想サーバのLinuxのポートにアクセスできていないと思う
仮想化に使った環境でポートフォワードとかあればそれを設定する
何使ってるの?VMware?VirtualBox?WSL?Docker?
後、送信側と受信側という言い方はやめた方が吉
サーバ側とクライアント側なら明確で誰も迷わない そのコードはlinuxでターミナル2枚開いて自分から自分へ送受信するコードや
別IPのmacに送信したいんやったら127.0.0.1の部分をmacのアドレスに変えなアカンで WiFi親機がPC同士の相互通信を許可してないと、できなくないか? >>420
キレすぎやろドンマイ
落ち着いて質問文見直せ? >>424
VirtualBoxを使っています
ポートフォワードというのがあるんですね、ちょっと調べてみます
今後はサーバとクライアントに呼ぶようにしてみます
>>425
ありがとうございます。Macのアドレスに変えてみます。
>>426
そうなんですか?それは設定が難しそうですねああ >>428です。
>>425さん、macのアドレスって嘘ですよね?
XX:XX:XX:XX:XX:XX形式のMacのアドレスを打とうとしたのですがエラーになりました
嘘はやめてください もう少しうまく釣れや
MACアドレスとmac osとか古典的過ぎる 同じWi-Fiにつながっているなら、同じLAN 内と言うことかな?
それで検索すれば? >>432
ありがとうございます。検索してみます。
VirtualBoxのポートフォワードの設定は出来ました。
MacのIPアドレスはどう調べるのかよく分からないのですが
これ以上はPythonというよりはネットワークの話になってスレ違いになりそうなので他で聞くことにします。。
みなさんありがとうございました。 ∧∧
ヽ(・ω・)/ ズコー
\(.\ ノ
、ハ,,、  ̄ >>433
ターミナルでifconfig打ったら出るんじゃないの GUIで見るにはシステム環境設定のネットワーク欄だな 5chってSQL文投稿できないんだな
インジェクション対策してるのな なんとかexe
のexeの前に「.」打つと送信出来なくなる pythonを習得できたとしたら具体的にどんな仕事があるんですか? 投稿できない半角英数字は、丸ごと全角に変換すれば?
「アマゾン」も、半角英数字では投稿できない。
5ch は、宣伝も禁止してるし pipインストールって分かりずらい、
gitもインストールしてないとだめなのかな、
コマンドプロンプトそんな使わない初心者には厳しい。 >>447
gitはいらなかったのか、
なんか、
sudoとか、
python -mとかで、
pipインストールするらしいけど、
どれ使えばいいか分からんわ。 >>448 Windowsだろ? Anacondaでも使っとけ、すべてインストールされる。 djangoのshellでDBを見たいんですが
>>> from xxx.models import Post
>>> Post.objects.all()
<bound method BaseManager.all of <django.db.models.manager.Manager object at 0x000002C4>>
となってしまいます
助けてくださいお願いします Using this example model, Person.objects will generate an AttributeError exception, but Person.people.all() will provide a list of all Person objects.
https://docs.djangoproject.com/en/2.2/topics/db/managers/ スクリプトをラズパイのaptでインストールしたpython3で動かしたい時、python3 hoge.pyとやらないとpython3で動いてくれないです
python hoge.pyや./hoge.pyで動かすとpython2になってしまってエラーになってしまいます
pipを使う時もわざわざpip3と指定しないとpython3用にならないです
わざわざ3を付けないといけないんでしょうか?
./hoge.pyやpipでpython3で動かす方法知りたいです 1行目は一番移植性が低い部分だが
#!/usr/bin/env python3
は比較的まし >>453
どうもありがとうございます
1行目をpython3に変えたら./hoge.pyで動きました
あと、lxmlを使う方法なんですが、
pyenvでインストールしたpythonのpipでインストールする場合はコンパイルから始まるからラズパイZero Wだと2時間くらいかかって結局エラーでコンパイル出来ませんでした。
なのでaptでlxmlをインストールしましたが、pyenvのpythonからそのlxmlを使う方法が分からないから結局pyenvはアンインストールしてaptのpythonとlxmlで動かしてみたところ、>>452の疑問にぶち当たりました。
pyenvのpythonでaptのlxmlを使う方法ありますか? >>450
なんかおかしいね
Post.object.all
でall()のカッコを忘れたときと同じ表示になってる
出ているエラーが本当なら、all()をall()()とすれば良いと思うけど、もしかしたらxxx/models.pyにミスがあるかな >>454
混ぜるな危険だからコンパイルのエラーを書いた方が根本的な解決だと思うけど、対処療法としては環境変数 PYTHONPATH を設定する
設定方法はaptでインストールしたpython3を立ち上げて
import lxml
lxml.__file__
でlxmlモジュールのパスが分かるから、lxml/__init.py__を除いたパスを先のPYTHONPATHに設定すれば参照はできる
pyenvを台無しにする行為なので、どうしてもというとき以外はやらない方針が良いと思う >>456
どうもありがとうございます
pipとaptを混ぜて使うのはイレギュラーなんですね
コンパイルに2時間以上かかるので気軽に試せませんが次試してエラーが出た時はまた相談させて下さい
>>457
どうもありがとうございます
こんな仕組みあったんですね openpyxlで作ったモジュールをexcelの関数内にマクロとして登録するにはどうすればいいですか? >>452
alias python python3 pythonで様々なpdf資料から情報を取り出したいと思ってます.
pdf資料は主に英字論文で,文字,図,式などが混在しているものを扱います.
既存のライブラリだとpdfの種類や図や式などの煩雑性から正確に抽出してくれないのではないかと思っており,いっそディープラーニングで抽出してくれるようなものを作ろうかと思ってます.この程度でディープラーニングを使うのはやりすぎでしょうか?
またおすすめのウェブサイトや文献があれば教えていただけると助かります. >>460
どうもありがとうございます
>>457か>>453が確実かと思いました
この二つだとcronにスクリプトを登録する時もスクリプトのファイル名だけで実行できました pipをインストールする時なのですが、
python36のフォルダと違うところにインストールされたのか、
ModuleNotFoundError: No module named
プログラム動かすと、こういうエラーでたのですが、
pipのフォルダを、
C:\python36\lib\site-packages
ここにフォルダごと直接コピーしてもいいのでしょうか? >>463
返信ありがとうございます.
残念ながらGoodleDriveを使うやり方でも文字化けする部分が多い資料です. >>466
すみません
windows7です、
pipをコマンドプロンプトでインストールしないで、
pipフォルダを、
直接、pythonがインストールされてるフォルダの、
site-packagesにコピーして使えるでしょうか? >>467
依存関係やアップデートに対応できないからやめとけ
venvで環境作って、そこでpip使うのがいいと思う
pyenvじゃなくてvenvだからな >>452
漏れは、Windows 10, WSL, Ubuntu 16.04 だけど、
python 2/3系の書き方は決まっているから、
システムを知らない人が、自分勝手に変えたらダメ!
こういうのは、システムの基本!
皆、LinuC のような、Linux の資格で勉強する
which python
#=> /usr/bin/python
file /usr/bin/python
#=> /usr/bin/python: symbolic link to python2.7
which python3
#=> /usr/bin/python3
file /usr/bin/python3
#=> /usr/bin/python3: symbolic link to python3.5
手を動かして理解するshebang
https://qiita.com/takey/items/ae2124531fb57a197b22
/usr/bin/env
を使う、shebangの書き方も決まっている! pyenv は、Node.js のnodenv, Ruby のrbenv などの、anyenv 系だろ
新しめのPython の標準は、venv に決まっただろ Windows以外だと、2/3を判別して切り替えるpyラッパーってないんだっけ? #!/usr/bin/env
みたいなキモいの誰が広めたんだ pyenvでpythonをインストールして、pipenvでバージョン固定とライブラリの隔離を行うのが最近のベストプラクティスなのかね >>475
そだね
でも機械学習とwindowsの場合はanaconda(miniconda)のが良い気がしてる
ケースバイケースで使い分けてるけど仲が悪いのが悲しい >>477
Python開発コミュニティとAnacondaパッケージを管理している人たちの仲が悪い
自分が作った便利な仕組みよりも使いやすそうな仕組み作られて大きな顔されたら嫌だってことだろう
昔はトラブルも多かった
今となっては環境管理、パッケージ管理がpyenv, virtual-env, venv, pipenvと訳分からん状態
Anacondaで環境構築もパッケージインストールもcondaで管理できて、本家よりもパッケージの依存性厳密で、さらにはpython以外のライブラリも入ってCentOSだもUbuntuでも同じ環境ができてしまう
パッケージの数は少ないのでpipに頼る事もあるが、嫌う理由はもはや宗教的な理由だと思ってる バイナリのビルドが難しい原因がなにかあるならAnacondaがいいね。(Windowsとか)
そうじゃなければ(macとかで)pipenvで困ってないしAnacondaのことを考えてないパッケージでハマりたくないから
pipenvだな。
なるべくバニラに近い環境で使ったほうが、汎用性は上がるだろうしね。rpmとports、どっちを好むかみたいな話にちょっと近いかもね。 Anaconda推しの人がいるが、あれ、偏ってるんだよねぇ いずれ開発環境、デプロイ先にしろ必ず環境の知識は必要になるんだけどね
最初は分からなくて言われるがままに入れるなら pyenvとかanacondaなんか使うよりも、 Dockerとかのがいい
開発環境なんてどうでもいいから、とにかく科学技術計算で使いたいという人除いて 環境に翻弄される者達よ、そのイライラ悪感情、まことに美味である。 なんかpyenvみたいなツールから入った人って、それ経由でOS のこと理解しようもするんだよね shebang 自体はキモくない
#!/usr/bin/python
#!/usr/local/bin/python
で充分なのに
なんで
#!/usr/bin/env python
とか書かないかんの? /usr/bin/env とか
/bin/env とか
複数考えられるので
env をシンボリックで対応とか書いてあるけど
それって結局やってること同じやん env は /usr/bin/env 決めうちでしょ Python始めたい初心者にDocker教えることはない
まだGoogle Colaboratoryのがマシ 毎回同じ環境用意できるし、むしろ初心者向きでしょ
決まったコマンド打ち込むだけ
なんかニコ生の授業でもたしかVagrantつかってたし 誤爆ですかっ!!
こんな無関係なスレに誤爆ですかっ!! >>492
それならanacondaが一番理想的だろ >>468
C:Users\user\PycharmProjects\untitled\venv\Scripts\python.exe
pycharmで、プロジェクトを、
venv?というので作った場合、
上のアドレスの場所に、
仮想環境になってるんですか?
この環境で、pip使うにはどうすればいいでしょうか?
venvの仮想環境にも、pipインストールするの?
pythonのインストールされてるここには、
c:\users\user\appdata\local\programs\python\python37lib\site-packages
pipをインストールできたみたいだけど、
PyCharmでプログラム動かそうとすると、
ModuleNotFoundError: No module named
このようなエラーが出て、
pipが見つけられないみたいなエラーが出ます。 仮想環境なんか使うには1年早いんじゃないですか?
PATHやPYTHONPATHの概念とかないでしょ まあでも勧めたのは468だから、彼が責任を持って答えるだろう dockerで開発する人意外と少ないのか
最近はvscodeと組み合わせて全部コンテナの中でやっちゃう
pythonサポートもM$公式だから安心 >>501
何でもいいです
じゃあwin+python+tensorflow(+keras)で。多分ドキュメントが多くて素人でも触りやすい組み合わせがコレ 「python venv pip」で検索!
初心者向け・Pythonの仮想環境venvとPipenvによるパッケージ管理についての解説
https://paiza.hatenablog.com/entry/2018/07/05/初心者向け・Pythonの仮想環境venvとPipenvによるパッケージ
これを読むと、pipenv は、Ruby のBundler とか、Node.js のnpm, yarn みたいなものか?
「hatenablog」は、5ch の宣伝禁止ワードなので、全角に変換した。
これを半角で投稿すると、そのまま吸い込まれて、
いきなりアクセス禁止にされることもあるから、要注意!
同様に、twitter の長いアドレスにも、いきなり吸い込まれるものがあるらしい >>506
Dockerは機械学習をやる場合に筋が悪い
Nvidia Dockerを使うことになるが、これよりはAnacondaがまし 一般的なWeb系企業の実務でpython使ってるところってどのぐらいあるの? んな統計取ってる奴がいると思うか?
んな判断できるほど何十社もWeb企業渡り歩いてる奴がいると思うか?
少しは、頭を、働かせろよ
足りないのは知ってるけどよ!!!!、!、、! わいは、業務は、javaやが、開発は、pythonや、、!!! Python の仕事の募集は、Ruby の1/10
Python が減って、Julia が伸びる。
Juliaは、Rubyっぽく、do〜end が使えるし、Pythonも呼び出せるから 退屈なことはPythonにやらせようって本が数年前に売れてたらしいけど今からでも読む価値ある? pythonって業務ではどんな用途に使われているんですか? >>526
マジレスするとマウンティング
最近はPythonを使っているというだけでみんなが勝手に凄いことをやっていると勘違いしてくれる >>526
マジレスするとマウンティング
最近はPythonを使っているというだけでみんなが勝手に凄いことをやっていると勘違いしてくれる 上司からpython使えるようになっといてくれって言われて三年たったが未だpython案件なし 雑食系エンジニア・KENTA の新動画がアップされた!
「AIや機械学習に興味があるのでPythonから勉強」は誤りです。【YAGNIの法則】
https://www.youtube.com/watch?v=dRSsdsw0-r8
初心者は、Ruby on Rails から始めろってさ!w AI・機械学習みたいな、初心者に分不相応なことを目標にしても、仕方がないw
数年経っても出来てないw
それよりも、Ruby on Rails で、サーバー側業務を覚えた方がマシw
その後、KENTA の履歴みたいに、
Ruby → Go → Elixir
と辿っていけばよい
数年後には、Python がJulia に、変わっているかも知れないし >>520
そんな勘違いするのってプログラミング経験ない人だけでしょ とりあえずJavaとPHPとJSが使えてりゃ何となく生きていけるだろ >>527
うちは小さなweb屋だけど9割その3つだな
rubyやperlの仕事はやったことあるけどpythonはないなあ そりゃーweb屋にpythonのAI依頼が来るわけねーじゃん
看板も掲げてないのに「python来ません」ってバイアスかかりまくりの主観じゃん
ちょっとばかし自分が置いてる状況を考えろ
それに「依頼が来る」じゃなく「提案しに行く」なら自発的にpythonのAI案件を営業するだろ
python案件が無いんじゃなくてやってないだけなのに無い無い言ってるのは流石に脳みそが萎縮・老化してる
「わたしはやりたくないからやってない」くらい言い切る方がまだマシだ 看板やメニューに書いてない商品が買われるワケねーだろ
「メニューに書いてない商品の注文が来ません」って、サイコパスかなんかか?
脳みそが本当にオカシイのか?
それとも黙っていても相手に思考が伝わると思ってるコミュ障かなんか?
「わたしはpythonもAIも出来ますが看板やメニューのどこにもそれは書いてありません、それを知るためには、わたしの脳内をあなたがエスパーしてください」
ってのが『pythonはないなあ』っていうセリフの裏側にあるなら、重症だ >>532
君プログラマーじゃないでしょ?
プログラミング経験もないでしょ?
pythonは汎用的な言語でAI特化言語じゃないよ
メジャーなWEBフレームワークだけでも三つや四つあるし
pythonで動いてるWEBサービスもあるんだよ
釣りをするにしても最低限の知識は必要だと思うよ AIプログラミングって最低でも高校数学マスターしてなきゃ厳しいんでしょ
それだけで10年くらいかかりそう
俺には絶対無理 AIって情弱企業に自社をアピールするために営業とかコンサルが何となく使ってるワードだぞ
機械学習とかが実際の利益に結びついてるとこなんてかなり少数だしお前ら営業に感謝しろよ >>540
このスレに書き込みしてるほとんどの奴には絶対無理だから落ち込むなw 出たよAI即数学必要マン
お前は高校どころか小学校からやり直した方がよい AIに数学なんて必要ないからな
おれはAIに業務支援プログラムを書かせてるからな サラリーマンプログラマーに使用言語の選択権なんてあるわけないだろ
無職ひきこもり脳内プログラマーが羨ましいよ
あ、業務支援プログラムならどんな言語使おうと自由だから好きにしてねw >>547
業務支援プログラム書かせるためのAIを書く言語が決められてるのか
それサラリーマン云々じゃなくてキミの会社が終わってるぞドンマイ >>550
スイマセン、ネタで書いたつもりだったけどマジに解釈しちゃったんですね
さすがプロ業務支援プログラマーさん
私のような一般人の考えなど及びもつきませんなあ >>553
一部の精神障害者には造語症って特徴があってな……自分が独自で作った単語を一般的なものと思い込んでしまうらしい
>>552みたいな人には優しく接しような >>552
レベルが低すぎる
無能集団の会社ではどうか知らないけど
業務補助スクリプト書けるなんてのはな、office触れるのと大差ないレベルで当たり前なんだよ
そうか551の言うように糞言語触らされてpythonコンプ抱いてるなら同情してやるが >>553
>>418の「業務支援スクリプト」へのオマージュやで >>540
高校数学だけでは無理。高校で線形代数教えなくなったから。 >>548
若宮正子さんって認知症じゃないでしょう? 土日の勉強やめて外でて遊ぶようにしたんだがすげえ充実するな
ただ相変わらず孤独で上手い遊び方がわからんが
人生だいぶ無駄にしたなー
真面目とか生きる意味ねえわ ここでそんなこと言うとめちゃくちゃリアルだからやめて すいません
誤爆しただけなんです
Pythonに何か思うところがあったわけじゃありません pythonやらAIやらに妙な思い入れのある奴が暴れてるもんなあ >>560
その通り
真面目なのと有能なのは全く異なる事
無能だと言語の選択権もなくなるみたいだから気を付けろよ 普通に「業務支援プログラム」(?)としてPython使いまくってるよ。
C#で簡単な業務アプリを作ったり、Unityでゲームを作ったり、
C++で各種外部機器を時間で制御する制御システムを作るようななんでも屋なんだけど、
例えば、
・大量の写真データをEXIFで整理する(Jupyterで試行錯誤しながらすると便利)
・各種メディアデータの簡単な処理(あるフォントで使える文字一覧を作るとか、連番画像ファイルの一括リネームとか)
・ログ解析(業務アプリ・ゲーム・制御システムどれでも使う、これもJupyterで試行錯誤が便利)
・REST APIの動作確認(今どきHTTP経由でAPI叩くとかも当たり前なのでどれでも使う、これもJupyterが便利)
・ゲームのシーンでオブジェクトを均等配置するのに座標を計算(これもJupyter)
・3DCGソフトからUnityに都合よくデータを受け渡しする(大抵の3DCGソフトはPythonに対応してる)
・Djangoで簡単な管理画面の作成
どれも言語指定で大規模にPythonを使うって案件じゃないけど、ちょっと込み入った計算をしたかったり、
アルゴリズムやAPIの動作確認をしたかったりというときに使ってる。
コンパイル不要で試行錯誤がしやすくて、様々なデータフォーマットやデバイスに対応するライブラリがかなり色々揃ってるし、
WebアプリだったりJupyter上で実行だったりpythonコマンドのインタプリタでちょっと計算するのだったり、
実行方法が幅広くてとりあえずちょっとした処理はPythonに任せとけば生産性が高いのがいいんだよ。
Pythonしか書けない人が仕事をとれるかはわからないけど、他の言語のエンジニアでPythonが書けたら、まさに
「面倒なことはPythonに任せる」で同じ仕事も速くできるようになるケースがそこそこあると思う。
ただ、GUIのアプリを作るのには向いてないと思うけどね。 >>565
その類のスクリプトすら言語の選択権がない会社が存在するらしい >>565
>>Pythonしか書けない人が仕事をとれるかはわからないけど
だから業務支援スクリプトしか任せてもらえないらしい >>566
クソみたいな人海戦術SIerだと開発マシンに独自ツールインストール禁止とかいうのは普通にありそうだから、
そういう会社があっても不思議じゃないかな。
メモリ4GB、HDDしかついてないマシンで開発、ソースコードの変更時は元のソースをコメントアウトで残すとかそういうルールがあったり、
Webの閲覧フィルタが厳しすぎてろくにサンプルコードも検索出来なかったりと、非常に効率の悪い開発環境を強いているようなところ。
ただWeb系とかなんでも屋でそんなところはないだろうけど。SIerのPGはどうもSIerのPGの仕事のやり方が当たり前で、それ以外はお遊びだと思ってる節があるような気がする。
プログラミングが好きで仕事してるわけじゃなくて、嫌々やってるだけだから視野も狭くて、いかに自分がプログラマーとしての人権を剥奪されているのかに気づいていないような感じ。
だからSIerの関係者に「プログラマです」って自己紹介して、「PGかー早くSEになるか独立したほうがいいよ」なんて言われると結構イラッとするね。スレチになってきた。 >>567
任されないと動けないという発想が終わっている
スクリプトなんて内容によればofficeと大差ないのだから
少し考えれば質問者がプログラマでない可能性すらあることを考慮できるはず >>569
質問者って誰だよ?
なにわけわからんこと言ってんだw >>568
そんな世界があるのか、驚愕だ
それは言語の選択権ないと噛み付きたくなるのも無理ない同情する
なぜpythonスレにいるのかは解せないが >>532
この意見には同意。PythonでAIが出来るんだったら(AIじゃなくてもいいんだけど)、
Pythonの使用が難しい条件があるわけでもなく、Pythonを使うことで
仕事の質なりスピードがアップするなら、勝手に使えばいいだけの話だと思うんだよな。
自分が採用言語を決められないようなビッグプロジェクトなら、そういうときはプロジェクトに合わせるまで。
職業プログラマーなら、色んな言語を使うことに抵抗を持ってたら正直、仕事にならないと思う。
プログラマーじゃなくてRailsを触る必要がないなら、Pythonを覚えるかRubyを覚えるか、みたいな選択に悩むことはあるのかもね。
Jupyterがあって便利だし、世界的にはPython一強だから断然Pythonをおすすめするけど。
大体この手の軽量言語はどれか一つがまともにわかってたら他の言語もすぐ書けるようになるよ。 >>570
スレ遡れ、無能よ
素性の知れない質問者に対して言語の選択権ないとか的外れな噛み付きしちゃった馬鹿がいるんだよ >>571
大企業の業務系の大きなシステムを作るにあたって、開発会社がISOなんちゃらを取得している必要がある、とか、
内容が絶対に漏れないように開発室は2重のカードキーによる施錠が必要がある、とか、そういうルールで
縛って安全性を確保している世界があるっぽいんだよ。
そんな縛りがある中、さらにシステムの規模が大きいから、少数精鋭で作るのは難しくて、
能力がいまいちな人たちを大量にあてがってひたすら時間をかけるって方法で作ってるようで、
そういう場所だとひたすらルールで縛っていかないと思ったとおりのものはできない、というのは
なんとなくわかる。そしてそんな環境ではプログラミングが好きな人は残らないから、
ルールも謎なものになっちゃいがち。カーゴ・カルト・プログラミングとか言うらしいよ。 >>575
知らんのなら黙ってろや、無能よ
PythonはAIと業務支援のための言語だからな >>575
そうか
ちなみにキミは言語の選択権ある側の人間かい? そうか
pythonスレでは言語の選択権ないのが無能の証だな >>582
そうか
ちなみにキミは言語の選択権ある側の人間かい? 好きにしていいなら回答を要求するが
聞かれると都合でも悪いのだろうか >>586
カーゴカルト状態であっても、今やっているこのカーゴカルトは本来どういう意味があるのだろう、
よりスマートな書き方はできないのか、などと余裕のある限り改善していこうという意志があるのなら
その人は色んな場所でカーゴカルト状態を脱却しつづけるだろう。
程度の差こそあれ何だってカーゴカルトなんだからカーゴカルトを良しとする、というのはエンジニアとしては健全じゃないと思うよ。 pythonしか使えない奴に言語の選択権なんてあるわけないよなw >>591
俺は業務でjsとか書いてて業務支援スクリプトで自分でpythonを選択して使っている
キミは?ねぇキミは?普段言語は何使ってる?言語の選択権はあるのかい? さてそろそろ業務開始時間だな
今日の業務の使用言語は嫌いなjavaだ
業務支援スクリプトでpythonが使えるのがせめてもの慰めだ
これ業務プログラマーのつらいとこね >>593
なーんだ、東京じゃないカッペだったのか
もしくはこの状況で仕事してるブラック企業勤務の低学歴無能か 意味のない短文レスの応酬でつまんない流れだな。
そんな低レベルなやりとりしてて楽しいか?
他にpythonを具体的にどう使ってるかもっとサンプルが知りたいわ。 そろそろ昼休憩とするか
昼食は業務スーパーで購入した87円パスタを200g茹でよう
ソースは同じく業務スーパーで購入したハチ食品のレトルトカルボナーラだ
社員食堂のキッチンの一角が俺の昼の憩いの場だ
ホシザキの業務用冷蔵庫のモーター音が心地よい
おっと、もう湯が湧いたようだ
さすが業務用コンロは火力が違う
業務プログラマーには周知の事実だが頭脳労働に炭水化物は欠かせない
業務支援スクリプトの作成にはエネルギーを大量に消費するからな 言語の選択権ない奴はレスを見れば分かる、必死さが伝わってくる すまない
言い忘れていたよ
君に言語の選択権はあるのかい? 知らねえけどアホに生まれると大変なのはお前を見ててよく分かったよ >>601
キミよりよっぽど年収いい仕事して言語の選択権まで持っててほんとにすまんな
今日も選択権ない言語での業務ご苦労ご苦労 >>515
簿記や監査
今時のISOやコンプライアンスに必須言語 やれやれ本日の業務も終了だ
数十行ほどの業務支援スクリプトを3本ばかし書き上げたかな
同僚たちも俺の生産性の高さに目を丸くしていたな
上司が今進めている業務の俺の担当パートを新人君に任せると言ってきた
俺には業務支援スクリプトの作成に専念してもらいたいらしい
勿論二つ返事でOK、新人にはどんどんチャンスを与えるべきだ
いやjavaが苦手なわけじゃないよ、生産性の悪いjavaなんて俺には似つかわしくない
業務支援スクリプト作成って作業はプロジェクトのフォロー、縁の下の力持ち的役割ってとこかな?
決して表立って評価されることはない地味なタスク、これ業務プログラマーの辛いとこね
俺ってお人よしだよなあ ここPythonの質問スレだぞ?
TPOも考えられないキチガイ以外の何者でもない うちの会社は経費削減のために事務員のエクセルファイルの編集もPythonでやらされてる
営業もパワポ禁止でIPythonだわ 何がマジレスじゃ
周りは普通につまんねぇンだわ
短文レス投げ合うだけならギリ無視するが長文は流石に目障り >>612
スルーするなりNG登録すればいいじゃん
バカじゃね? >>611
ワンライナーとか使い捨てスクリプトでcsvの加工してあげたら事務の女の子に驚かれるw
俺からしたらエクセルを自由自在に操れる女子社員のほうがスゲーなんだけど >>605
おもしろかったよ
業務支援プログラマー日記として毎日連載してほしいw >>611
まさにpythonで業務支援スクリプト書いてんだなw
事務員や営業職もpython必須なのかい? >>468
が答えてくれないので、
venv使うの止めました、
プロジェクトを、Cドライブのすぐ下に作って、
使えるようになった。 >>617
ツッコミどころの多い発言だなぁw
venvのアドバイスしたヤツが報われん 毎時0分、5分、10分、15分、20分、25分、30分、35分、40分、45分、50分、55分にcrontabでスクリプトを動かしています
一度スクリプトを起動させてスクリプトの中で時間を調べて上の時間になるまで待機、時間になると処理、終わると次の時間までの待機時間を調べて待機〜ってやるのと、crontabでやるのとどっちが無駄のないやり方ですか? crontabが要件を満たすならcrontabに決まってんじゃん 「python venv pyenv」で検索!
pyenv は、anyenv 系。
node.js のnodenv, ruby のrbenv など
一方、venv は、Pythonの標準
pyenvが必要かどうかフローチャート
https://qiita.com/shibukawa/items/0daab479a2fd2cb8a0e7
PythonにRailsはない。Pythonはnode.jsでもない。
あった方が仕事が捗る人はいますが、必ずしもそうではないですし、慣れない人ほど落とし穴にハマる点が、
「とりあえずpyenv」「pyenvを必要のない人に進める記事」は滅ぶべき! >>621
ちょっと記事が古いから参考にするのはどうかな
Anacondaは現在そこまで酷く無いしむしろRedhat系サーバでは各種ライブラリが古いので独自に入れるのは仕方がない
toxよりもCI系ツールでDocker連携でのコンパイルが主流に変わってるし
Rubyくんはまず自分の知識を最新版にアップデートした方が良いよ >>503の状態から
>>617
> プロジェクトを、Cドライブのすぐ下に作って、
解決するようなことってなんだろう >>623
出来の良くないプログラムの場合、パスが長すぎると駄目なことがある おおっと
Py2系とか昔のC++の悪口はそこまでだ .pyのスクリプトを実行すると起動する黒いウィンドウを処理が終わったら閉じたいのですが
何の関数を使えばいいんでしょうか?
ググったら出てくるexitとquitはだめでした >>626
Windowsのコマンドプロンプトのことかな?
拡張子を.pyから.pywにしたらコンソールウィンドウでなくなるよ どうやって実行(起動)するかによって違うから、なんとも言えないな .pyファイルのアイコンをダブルクリックして実行したんなら
実行完了後にコマンドプロンプトウィンドウも閉じるはずだけど .pywファイルをpythonw.exeで実行すると、
ほんとになんにも表示されないから、
ctypes.windll.user32でWindows APIを呼び出して使ったりする。
まぁ、どのくらいの人が使ってるのかはわからないけど、
自分の場合、これでWSHの代替ができたな。 pythonのウインドウを出さないようにしたときに出るwebdriverのウインドウかもしれない みなさまありがとうございます
.pyファイルをダブルクリックで実行していて
スクリプトはwebdriverを使ったスクレイピングを行うものです
ブラウザはclose()で閉じるんですけど… なるほどctypesでhandleとって非表示にしちゃえばいいのか! >>632
それだとwebdriverのプロセス残ってないか?
driver.quit()的なやつで消えると思うんだけど多分やってるんだよな… >>634
タスクマネージャーで確認したら確かに残ってました
ググったら他に終了メソッドがあるみたいなのでそっちを使ってみます
ありがとうございました 自作Djangoアプリ(ローカルで自分用のDBをブラウザで閲覧する)を使うため、タブレット購入を検討してます。
6万程度以下の価格帯でWindows/Android/iOSどれかで、Djangoが特にキビキビ動く/動かないとかってありますか?
自分、iOSもAndroidもド素人で全く検討もつきません。いまLinuxデスクトップでは快適に動いてます。
候補はSurface Go、Huawei MediaPad M5 Pro、iPad Air 10.5です。 >>637
そのDBのサイズと
快適に動いてるとやらの環境を詳しく書かないことにはどうにもはや。
あと画面サイズで値段が大きく異なるので
希望するインチ数も書くように。 djangoとかいうゴミ使うなよ、bottleで十分 知るか
アプリによるだろそんなの
…DB閲覧がdjango-adminなら1万のAndroidタブだって重くはない そもそもそのレベルで各種タブレットOS内でdjangoを立ち上げることができるのか甚だ怪しい 正直Sequel Pro使えばよくね?
まぁ勉強のためにDjango使ってるんだろうけど さっそく有難うございました。
>>638
Pentium G5400/RAM 4GBなのでタブレット(>10inch希望)よりは強力でしょうか。
DB(sqlite)は21Tables, 最大レコード数3万未満、ファイルサイズ11MBです。
DBの規模毎に最適なOSが変わるってことでしょうか?
>>639,642
ありがとうございます、初めて知りました。ちょっと見てみます
>>640
同じpythonでもOS毎に得意/不得意な処理があるってことでしょうか?
>>641
そう、そのとおり。なんで、あえてAndroid/iOSに突撃する理由が(もし)あれば
知りたいと思いまして。 >>637 その程度のことならFlask だろ。
flaskとbottleを比較する
http://nopnop2002.webcrow.jp/flask_python/flask-bottle.html
キータッチは若干bottle の方が少なくなりそうだが、見易さ厳格さではflask かな。 >>643 いやいや、それよりも何よりも、Android タブレットでPython がまともに動くのか?
そりゃ制限付きで動くのは当たり前だが、いろいろやりたいのならそれはなさそうに思うけど?
iOS 然り。
なんでタブレットを使いたいのかな? Linux デスクトップがあるなら、そこにWeb server や、DB を入れてリモートでタブレットからアクセスじゃあかんの?
それなら多少の制限があってもAndroid やiOS からでも問題なく使えるでしょ。
外から使うときはVPN かな。 またまた有難うございました。
>>644
この機種初めて知りました。3万切ってて中々よいですね。
>>645-647
flaskも初めて知りました。こちらも見てみます。
ご指摘の通り、いまWebサーバ上で動いてるので、リモートからブラウザアクセスできます(できてます)。
でもさらに1)出先でいつでもどこでも、2)安定して見れるといいなーと思い、(トンネル内新幹線とか、飛行機の中とか)
タブレット内でローカルに閉じたいわけです。でもまあ最近はそこかしこでwifi飛んでてだいぶ便利になりましたねえ >>648
ローカルで閉じるならわざわざブラウザ経由にする必要なくね?
自分用DBの専用アプリだけあればよくね?
無理にDjango動かすよりも、よさげなアプリを探す方が簡単だと思うよ。タブレットにDBを載せるって発想が無かったから、どんなのがあるか見当もつかないけど GUIでDB見るアプリなんてたくさんあるのに自分で作る意味がよくわからん 漏れは、Ruby, Selenium WebDriver を使って、
自分のPC 内の画像フォルダ内の画像も、ブラウザを使って見てる
Ruby, ERB などで、自作プログラムで、HTML を作って、ブラウザを起動する
漏れは、CPU-i3 のノートPC だけど、
タブレットのOS で、Ruby, Python, Node.js などが動くのかね?
安物のOSのAPI は、PCのOSのAPIよりも、限定されているのじゃないか?
同じAPIがあるのかな?
果たして、Surface のWindows と、PCのWindowsは、同じなんだろうか? >>648 多分、DB がメインでそのGUI としてWeb を使おうと考えたのかな?
フロントエンドとしては、Web を使わずにExcel の表を使う方法もあるよ。
自分だけ用のプログラムなら、OS は何でも良いけど使いたいライブラリが使えないとか色々出てきたりするからできるだけ汎用のLinux なり、Windows が良いと思う。
自分用でちょこちょこ見るくらいなら、先ずスマホでやってみるのが良いのでは。 旅行先にタブレットも荷物になるし。
自分はiOS のPythonista を使ってる。 これではDjango は使えないが、flask なら使える。
2018-10-22
Pythonistaのflaskの遊び方!
https://www.kiwoblog.com/entry/2018/10/22/050509 Androidタブレット(HUAWEI)にBluetoothマウス・キーボード付けてRDPでDB見てるわ 柔軟性はpytorchの方が上
普通の分類か回帰ならkerasの方が記述量が少ない Windows, Mac, Linux の3大OS 以外では、
SQLite, MySQL(MariaDB), PostgreSQL の、3大DB の実行ファイルがあるかどうか、わからない
Surface のWindows も、本物のWindows かどうか、わからない。
縮小版・廉価版じゃないの?
スマホ・タブレットなどに、サーバーを立てたりできるのかな? 本物のwindowsって何やw
ニセモノもあるのかw >>661
Ruby君の住む世界にはきっと真のwindowsがあるんだろう。普通の人には理解できないなw >>660
仕様から想像もできず、Surface使ったことないなら黙ってろよ
CPUがx86_64じゃないSurfaceとかいつの時代の話だよ。 (  ̄ノ∇ ̄) ̄ー ̄)ヒソヒソ 煤i ゚□゚)ェッ?! >>660 iOS のPythonista ではSqlitが使える。django は使えないがflask なら使える、 android のpydroid もsqlite は使える。 >>668 pythonista で、Mysql コネクションは使えるみたい。Mysqlサーバーを建てられるかどうかはわからないが。 net book はニセモノ
あのお金はどこへ行ってしまったのでしょう シェルスクリプトとVBAしかプログラムやったことないんですがPython難しいですか?
Python3エンジニア認定試験の受験に向けて勉強しようかと思ってます VBAでもWindowsAPIとか使ってるんならやる事は同じだ >>661
一応rubyくんを擁護するとSurface GoのOSはデフォルトだとWindows 10 Home(Sモード)でストアアプリしかインストールできないので注意が必要
無償で交換できるみたいだけど、何も知らずに買うとハマるね
タブレットにサーバって、適当なの買ってUbuntu入れる方が用途にはあってるかもね >>673 >>672
pythonはまるで量子力学みたいだな全部わかる人はいないだろうな。
北神雄太でも全部知らんやろな。 プログラミング経験無し、htmlとcssが多少分かる程度のアホです
paizaというところでpython3の入門講座を始めてみて7割ぐらい進みました。
本質的なことが全然わかっていないような気がするんですが、超初心者はそんなものなのでしょうか。
あるいはこの学習サービスの説明が不十分なのでしょうか。 pythonより前に日本語と質問の仕方を勉強するべき はい
不十分ですのであなたのせいでは無いです
安心してください 登録しないと見てないけどタイトル見た感じPython入門編7までは超初心者向けなんで理解して欲しい >>680-682
ありがとうございます。
Talk Python Trainingというサービスと併用して学習してみたいと思います。 プログラミングの本質なんて大学の情報系学科でみっちりCSを学んで分かるかどうかだろうし、初心者ならそんなものじゃない?
その講座を一通り終わらせたら自力で試行錯誤して何か作ってみる事をお勧めする 大事なのは自分で0から作れるかどうかだしな
有料サービスがどんな教え方をしているかわからんが、何かしらを自分で作ってみるのが一番の勉強かと
テキストをコピペして動いても、何で動いているのか理解出来ないままだろうし Amazon も、半角で書けない
5ch では、はてなブログとか、twitter の長いURL なども、
吸い込まれて、いきなりアクセス禁止にされるから、超危険!
何かのサイトを宣伝しようとすると、アクセス禁止にされる!
たぶん、URL エンコードで、%61 が、a に変換されるのだろう。
全角文字なども、同様に変換される python3認定エンジニアを簡単に合格する方法教えてください >>693
民間資格は商売なんだから金さえ出せばだいたい受かるよ
参考書やセミナーに課金しろ >>693
まず参考書買ってきて念入りに細部まで丸暗記
次にちょこっとプログラミングを勉強する hex(ord('a')).replace('0x', '%') >>687
表紙がロリコンっぽい
レジに持ってくの恥ずかしい ド素人のアホなんですが、度々質問すみません。
https://www.jetbrains.com/pycharm/
pycharmってソフトは皆様としてはどのような評価でしょうか。
超初心者はこういうのを使わないほうが良いでしょうか?
あるいは、初心者だからこそ使ったほうが良いのでしょうか? 最近はVSCodeも人気
pycharmは無料版はショボいから金払うの前提だね VSCodeでもなんでも少なくともエディターは使ったほうがいい
しばらく秀丸でやってたけど全然違うw 言われなくても使っていると信じたい
こういう最近の初心者にも中にはメモ帳で書いて勉強してるとかいう勢が一定数いるのだろうか。 コマンドプロンプトに入力して動かないって人が一定数いることを考えれば >>689
数値文字参照(最初のa → a)でテスト
Unicodeが○のこの板なら表示をそのままで多分使える
https://www.a;mazon.co.jp/ 専ブラ(janestyle)なら完全におk
ブラウザだとリンクが切れるが表示はおk
まぁ、めんどくさいことには変わりないな >>701
いいエディタだと思うよ
最近はVScodeにシェア取られてるけど、それまでは独壇場と言っていいくらいの良いエディタ
sshでリモート開発の機能が無料版にはないので有料版を使うことになるけど、学生ならただで有料版が使えるから選択肢としてはあり
リモート開発が前提ならVScodeがいいかな >>702-710
とりあえず無料版のpycharmを使うことにしました。
ありがとうございます。 djangoのcontext_processorsで要素数を集計して表示するんですが
0の要素は表示しないという書き方があればご教授ください へ(_ _)へ クエリの最後にfilterかけたらできました
リンクは読んでませんがありがとうございました へ(〜3〜)へ opencvを使ったテンプレートマッチングで
グレースケールするのではなくフルカラーでやる方法ってありませんか? >>717
なるほど、ありがとうございます
>>718
色以外は全く同じ複数の画像がテンプレートなので… 走査するのに時間がかかるんだから
グレーでマッチングして
検出したものがどの色のテンプレになるか判定したほうがいいのでは rgbからグレーに変換する処理を工夫したほうがよいのでは? >>719
グレーで天ぷらしてから候補の色相でマッチング なおその後は年2万
VSCodeに食われて焦ってるんだろうけど、
JetBrainsはどっちかというと値下げ対抗ではなく値段上げて既存の固定客の単価を上げる方向へ行きそうだね >>725
情報ありがとうございます。
実は、humbleで20ドルのやつ買ったんですよ。 >>727
Dan Baderのpython tricksは良書だからよく読んどけよ >>726
PyCharmは1年目10,100円、2年目8,000円、3年目6,000円+税だよ ホリエモンもおすすめ!人気のプログラミングキャンプの様子を特別公開
https://www.youtube.com/watch?v=Ob1SYQnc1d0
岩手県八幡平市(はちまんたいし)
参加費無料のスパルタキャンプが、10/8 12:00 まで、15名募集中!
(ただし、今年の競争率は、25倍ぐらい)
11/2 〜 11/24 の毎週土・日の8日間、8:30 〜 18:30
Python で、機械学習・LINE BOT・Django >>734
少なくとも、ゲーム作ること だけ は、多少はうまくはなるんじゃね?
糞ゲーかどうかは、アイデア次第。 >>734
処理の構造が再帰で書くのが楽な部分があるから
再帰に向いた言語で書くといいかも ゲームプログラミングがローカルアプリで役立つことはあまりない感じですか?
たとえばelerctronとかです >>737
まったくないということはないだろうけど、
ゲームプログラミングは見栄えと感覚とタイミングを詰める要素が大きくて、
一般アプリの方はコードの見通しの良さだったり仕様の簡潔さが求められるから、あまりない
ゲームは、試行錯誤の繰り返しである程度コアな部分がごちゃごちゃになっても、ゲーム的な良さのほうが重要だから、
アドホックな作り方になっていくと思う
一般的なアプリのほうは、トップダウンで仕様を決めて作っていけるので、そういう作り方で
作った方がメンテナンス性の高いアプリができる
ゲーム的な作り方で一般アプリを作ることはできるが、多分フラグだらけとかになって開発・デバッグに時間がかかるし、
しばらく時間が経って機能追加したいころには複雑なコードのどこをいじっていいか全て忘れてる、みたいになっちゃうと思うよ
ただ、泥臭く作るって行為については鍛え上げられるだろうし、
条件分岐やループには慣れるだろうから、ある程度ゲームプログラミングに満足した段階で、
一般アプリ用の勉強をしなおせば、こんな楽な書き方・考え方あったんだ、というような理解が進むし、
なによりゲームをやってみたいのを我慢してモチベーションがない状態で一般アプリの作り方を0から学ぶよりは
全然短時間で苦痛なく勉強できるから、ゲームが作りたいならゲームプログラミングやってみればいいんじゃないかな。 https://i.imgur.com/IUPQ1Td.png
https://pastebin.com/V0gkJuwd
↑を実行すると
1件目のデータを取得中です
https://https://example.com/test/?p=1
regexp_20190922212309.txtに出力しました
2件目のデータを取得中です
https://https://example.com/test/?p=2
Traceback (most recent call last):
File "C:\Python\test.py", line 31, in <module>
html = html.fromstring(str(raw_html))
AttributeError: 'HtmlElement' object has no attribute 'fromstring'
↑1件目は問題なく動くのに2件目でAttributeErrorが出るのですがどうしてですか? やっぱhello,worldといえばエロ画像ダウンローダだよな 標準入力受けとって標準出力するようなコードで書けるならそっちのほうが滅茶苦茶効率良い
パイプで繋いでフィルタとして作用するコードは
新しく書いた1つのコードが基存の N個 のコードと組み合わせて使えるので
爆発的に組みあわせが増えて使える幅が広い
そういうコードの挙動は引数で調整し、人間がプログラム作動中に何もしないのが普通
一方ゲームはリアルタイムでいろいろ入力して、それがゲームに反映されてこそ面白いことが多く
全然フィルタじゃない
そういう意味でほとんど役に立たない
ローカルで使うのに無駄に GUI 書く必要もないし速い >>739-740
>html = html.fromstring(str(raw_html))
import html
で、html は、モジュールかクラスか、何かなんでしょ?
でも、同じ変数名に代入してるから、モジュール・クラスじゃなくなってるとか? >>743
ありがとうございます
まさにそれでした!
html_2 = html.fromstring(str(raw_html))
にしたら動作しました pythonでmatplotlibで折れ線グラフを書くときに始点がx軸からになってしまいます
この始点をはじめの点からにすることってできませんか? >>745
X軸から垂直にたちあがってくるってことけ?
それとも、2軸(3軸?)の交点がスタートになっちゃうってことけ?
終端はどこまでものばしたいの?終点で終わりたいの? 画像といっても
手書きの「理想」「現実」を描いた
紙をスマホでとったやつとか
5ちゃんのお絵描き機能でいいぞ >>745 scikit-imageがyaml.load(f)に引っ掛かるようになってしまった
アナコンダ丸ごと入れ直しかなあ 超低レベルの質問で申し訳ないんですが、文字を打ったあとに入力位置(カーソル位置)を左右させる際、
効率の良い操作方法ってありますか?
多重()の中に文字を入れた後、右端までカーソルを動かすのが面倒くさいというか、
うまい人達はもっと効率の良い方法を使っているんじゃないかと思った次第です。
https://imgur.com/a/8T9ZdGd 超低レベルの質問で申し訳ないんですが、文字を打ったあとに入力位置(カーソル位置)を左右させる際、
効率の良い操作方法ってありますか?
多重()の中に文字を入れた後、右端までカーソルを動かすのが面倒くさいというか、
うまい人達はもっと効率の良い方法を使っているんじゃないかと思った次第です。
https://imgur.com/a/8T9ZdGd >>753
わかるそれがあればいいよね
>>755
一回escかctrl-[押してモード変えるのめんどくない? カーソル移動じゃないけどVSCodeのCtrl+Enterで移動する理由が1つ減る
他のエディタはわからんけど >>755
ありがとうございます。
調べてみます。
>>757
カーソル移動が面倒くさいんで、フットペダル買って左右移動に割り当てようかとと考えたりしてました。
>>759
endキーで右端移動するんですね。
ありがとうございます。 vim emacs のエディタで基本アローキーは必要ない
snipet とかあるとさらに加速する >>760
ホームポジションから移動しないで打てる適当なキー同士の組み合わせにカーソルキーを割り当てるのがいいよ
日本語キーボードなら変換+好きなキー(IJKL,HJKL)とか
普通のカーソルキーの位置は遠すぎる vscodeの難点は単純なキーバインドがほとんど登録済みなところだよなあ
2キー以下の組み合わせだと空いてるの全然ない3キー以上は面倒だから出来るだけ使いたくないし >>752
AutoHotkeyが便利
無変換ボタンは使わないので 無変換ボタン+スペース でEnterにしたり
無変換ボタン+J で ← に割り当てたりしてる
()や{}や[]は「対応する前の開き括弧まで移動」「対応する後ろの閉じ括弧まで移動」使え windowsで開発しており今まで公式からダウンロードしたインストーラでpythonを入れてコマンドプロンプトで動かしてました
調べるとこの入れ方は良くないと書かれているのを見たので仮想環境にいれようと思うのですが環境が様々でありどれを入れれば良いのか分かりません
windows10で機械学習をメインにやっているのですがオススメの環境はありますか? 機械学習やってるのにanacondaを使ってないのかよ 穴込んだとか入れなくていいよトラブルの元
何するか知らないけどデフォのpythonを入れといて後から必要なモンだけpipで入れりゃいい >>766
とりあえずそれでやればいいんじゃね
機械学習やりたいのに環境構築で時間取っても仕方ない conda系後から知ったせいか分かりにくくて切ったな
必要なの自分で入れてパス把握してる方がいい気がする windows10のコマンドプロンプトで、Anaconda3を入れて開発してるんですが
tkinterを読み込もうとしても
python3 -m tkinter
'python3' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。
となって、動いてくれません。
tkinterを導入するにはどうしたら良いですか? >>776
Anaconda自体のパスは通っててpython --versionとやると3,7.3と出るんですが
tkinterのパスを別に通さないといけないということですか? じゃあ
python -m thinter
やれば動くんじゃね
python3にパスが通ってないだけでpythonには通ってるっぽいし >引用 402
あーでもこれあれだな
長文はキモイな、やっぱ
OOは整理整頓術ってのはその通りだけど、長々と書かずにそれだけ書き込めばよい
あとは、プログラムにはデータ構造と制御構造の二つがあるんだけど
この別々のものを一纏めにするのがOOの悲劇の始まり、ってのを教えといてあげればよい
この辺ベテランでも割とモゴモゴする
>引用 416
OOは継承と多態性のしくみに夢を抱きすぎた
継承は当初差分プログラミングによる省力化がやたらと喧伝されたが、
多くの人がやったら効果など無く混沌が広がるだけだったので
結局>>402な見解に戦線が縮小して現代に至る
データ構造と制御構造(振る舞い)を(オブジェクトの名前).(メソッドの名前)という
単純な表記で呼び出せるように一緒くたにあえてまとめたために、
テンプレートによるメタプログラミングの道が開けた
結果さらなる破壊と混乱がもたらされた GUI経由で動作するプログラムを作っているのですが
前回起動した時の設定(テキストボックスやチェックボックスの値)を保存するようなプログラムを作ろうと思ったら
テキストファイルなどのような設定を保存する専用のプログラム本体とは別のファイルを作らないとだめですか?
プログラムを配布するに当たって、余計なファイルを含まず.exeファイルだけ配布するほうが使ってもらいやすいかなと思うんですが >>781
OSくらい書けよ
Windows系ならレジストリに書き込むこともできるが
アンインストールがまんどくさく&若干デンジャラスになる
>余計なファイルを含まず.exeファイルだけ配布
自鯖や、ファイル置き場にしてOKなレンタル鯖ならそれでもいいだろうが、
Vectorとかの配布所を使うならば、
(たとえ、詳細なヘルプや使い方が、自分のWebページに公開されていてるとしても)
ヘルプは同梱しないと怒られるところが殆どだ。
詳しくは利用したい配布所の利用規約嫁。 >>782
OSはWindowsとMac両方に向けて作ることを想定しています。
では、やはりちゃんと設定ファイルも含めてフォルダにまとめてzipで配布するのが現実的なんですね ここpythonスレだよね?
setup.pyを使わないのは、作ったプログラムをexe化して配布するつもりなのかな みなさんPythonで何してるの
Python学びたい!だけで
目標目的がないです それでいいと思う
仕事のためとか人生のためとか考えてる時点で続かない >>788
なにか自動化できそうな繰り返し作業を日々してるとかないの?
基本的には仕事でつまらない繰り返し作業を省力化するためにPythonでちょっとコードを書いて
実行して使ってる。
あと、インタラクティブシェルを電卓に使ってる。幅12px 高さ28pxの比を維持したまま
1.3倍したいときに、[x * 1.3 for x in [12, 28]]とかして。 ♪Bear up Python,Never say die! みんなすごそうな事してますな
エロ画像収集から始めよかな >>788
言語の選択権を謳歌してる
世の中には自分で使う言語を選択できない残念な人もいるらしいからpython使えるだけでラッキーなのだぞ (上バッカみててもくびがいたくなって不幸になれます) お願いします。
https://uploader.xzy.pw/upload/20190928135502_69376d6c6d.png
以下のコードに何を付け足せば、図の真ん中の結果が得られるようになりますでしょうか。
現状以下のコードを実行して得られるのは、右端の状態です。
ほしい結果は、真ん中(青塗)のとおり、0からグラフの線までが塗りつぶされた状態です。
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('test.csv')
plt.fill(df)
plt.plot(df)
plt.savefig("file.png")
plt.fill()という関数を使うと塗りつぶせるということがわかりました。
しかし、()内の引数?をいろいろ変えてやってみたのですが、期待する結果を得られません。
どのように指定すればよいかお教えください。よろしくお願いいたします。
CSVファイルの中身。
data
1
2
3
4
5
6
7
8
9
50 すみません質問を変えます。取り下げます。
CSVに複数列があり、それぞれをxyに指定してあげるとうまくいきました。
cat test.csv
num,Data
10/01,10
10/2,13
10/3,15
10/4,3
10/5,4
10/6,12
10/7,10
10/8,11
10/9,9
10/10,1
df = pd.read_csv('test.csv')
print(df)
x = (df['num'])
y = (df['Data'])
plt.fill_between(x,y)
plt.plot(x,y)
plt.savefig("file.png")
擦れ汚しすみませんでした。 >>801
>質問を変えます。取り下げます。
かえるんだか自己解決取り下げなんだかどっちなんだかw
>擦れ
うまくいったのはさいごまでよめばわかったが
もちょいもちつけw list = [0.01 , aaa, -1 , 5 , 1.2 , たすけて]
こんな感じで、floatとintと文字列が入り混じったリストがあった場合に
floatとintだけ抽出したい(数値かどうか判別したい)のですが
どうしたら良いですか?
ググると、intを判別する方法しかすぐ出てこなかったので・・・ そういえば
floatp, intp のような型検定無いね
perl なら正規表現が、とくにcpanモジュールで検定できるようになっている >>803
>list = [0.01 , aaa, -1 , 5 , 1.2 , たすけて]
のうちどれが文字列なの?
あと、組み込み関数名を変数に使わないで
リストの構成要素がfloatとintと文字列だとわかってるなら
type('string') is str
で文字列は除外できる ループぐるぐる型判定したいなら
pick = [ i for i in LIST if type(i) in (int,float)]で >>805-807
ありがとうございます
こう書いたほうが良かったですね、すみません。
mixList=[0.01 , "aaa", -1 , 5 , 1.2 , "たすけて"]
listは組み込み関数名だったんですね
気をつけます >>803 そんな文法は許されていない。 と言うのは野暮なのかな。 x,y,zが1〜100にこの順番で入ってるという条件で
if (1 <= x < y < z <= 100):
この条件式は意図の通り作用しますか? >>810 スマホにPython を入れておけばいつでもどこでもテスト出来るよ。 class test():
test="test"
と書くのと
class test():
def __init__(self)
sef.test="test"
って書くのって何か違うんですか? >>81
修正です。すみません。
class test():
test="test"
と書くのと
class test():
def __init__(self)
self.test="test"
って書くのって何か違うんですか? オブジェクト指向という儀式に則ってるかどうか・かたちを満たしているかどうか
形式的な儀礼を正しく行ってるかどうか
本当に上っ面の表層の書式を満たしているかどうか
なので宗教的意味合いが違う 仏教の各宗派における
般若心経の位置づけ
的な
サムシング? >>818 >>816
下は明示的にインスタンス変数として扱ってる
上はクラス変数(static変数?)の書き方
結局はどちらもself.testで参照出来るが >>817-821
みなさんありがとうございます
>>822
これは分かりやすいですね、ありがとうございます >>814 iOS なら、pythonista 、 Carnets 、 Juno 他いくつか有る。
Android なら、Pydroid3 かな。 公式サイトもたまには読もう
https://docs.python.org/ja/3/tutorial/classes.html#class-and-instance-variables
一般的に、インスタンス変数はそれぞれのインスタンスについて固有のデータのためのもので、クラス変数はそのクラスのすべてのインスタンスによって共有される属性やメソッドのためのものです >>825
サンクスです
あんどろなのでPydroid3つかってみます へぇ、インスタンス変数内でグローバル使って共有してたけど全部クラス変数でよさそう >>816
上はclass定義された時点でtestが生成されるけど、下は__init__関数実行時に生成される クラス変数は最初から最後まで変更予定ない定数だと使い易いけど
途中で変化するなら変化後にインスタンス化したオブジェクトと前のオブジェクトで
状態違うから気を付けて使え(使うなとは言ってない) 質問失礼します。
python初心者でスクレイピングをrequestsとBeautifulSoupで勉強中なんですが
find_allで同じサイトページの同タグでも取得できるものと取得できないものがあります。
何が原因なんでしょうか? 例えば、Ruby のNokogiri でも、静的なHTML を想定しているから、
Ajax で非同期にデータを取得するページでは、
要素が作られるまでは、その要素を取得できない
例えば、5ch では、空のHTMLを送って来てから、
Ajaxでコンテンツを取得するから、その後じゃないと、内容を取得できない
10秒ぐらいスリープするとか、
Selenium WebDriver でブラウザを、人間のように操作してから、
要素が作られてから、その要素を取得する >>833
そんなことがあるんですね。とても分かりやすいご説明で助かりました。
ありがとうございます。 IPアドレスはネットワーク部とホスト部から成り立っているようです
192.168.1.5
というIPアドレスがあった場合、192.168.1までがネットワーク部で
最後の5がホスト部なようです。
この例だと、ネットワーク部は、".(ドット)"で区切った上3つですが
環境によっては、ネットワーク部が上1つだったり、上2つだったりするようです。
IPアドレスの文字列から、ホスト部だけ適切に抽出して255など別の文字列に置き換えてくれるライブラリなどないですか? IPアドレスだけ貰ってもネットワーク部とホスト部の区別はつかないからそんなライブラリ存在しないよ
サブネットマスクなりCIDERのビット数なりは別に必要 >>836
IPアドレスを2進数に直した時の上位ビットが11なのか01なのか111なのか〜みたいな感じで
上位のビットでネットワーク部が決まってるって聞いたんですが違うんですか? ネットワークは上位何ビット使うか指定する。
通常上位3バイトをネットワーク部とするなら、
192.168.1.0/24 の様な指定になる。 下位1バイトのみ可変となる。
192.168.1.0〜192.168.1.255 たとえば/24(サブネットマスクが24)の場合サブネットマスクは2進数で
11111111.11111111.11111111.00000000
IPが192.168.1.0の場合IPは2進数で
11000000.10101000.00000001.00000000
2進のサブネットマスクが0の箇所に対応する2進のIPがホスト部(この例だと最後の.よりうしろ)
逆にそれ以外の1の箇所に対応するのがネット部
まあつまりサブネットマスクが分からないとネット部とホスト部は切り離せませんよと
分かってるならサブネットを反転させてIPと論理積取ればおわり >>837
ネットワークアドレスは、ルールとしてクラスA、クラスB、クラスCを割り当てていて、IPアドレスが分かれば、どのクラスなのかは検討がつく
クラスごとにネットワーク部のビット数はきまっているので、IPアドレスが分かればネットワーク部のビット数が決まると勘違いするかも知れない
運用上、普通は割り当てられたクラスを分割して使うので、例えばクラスB(すなわち16ビット)を割り当てられた会社だったとしても、そこから社内ネットワークでクラスC(24ビット)を切り売りしたり、さらにはもっと細かく(例えば26ビット)設定したりする
そうするとIPアドレスからクラスは分かるが、実際にパソコン等の機器が使っているネットワーク部は異なることになるため、ネットマスクが別途必要になる >>835
君はサブネットマスクの概念を理解していない
スレチなのでそっちを調べてからまたおいで docstring は、どっちがオススメ?
Google タイプとnumpy タイプ。
Google タイプの方が簡潔になりそうだけど。
Pythonのdocstring(ドキュメンテーション文字列)の書き方
https://note.nkmk.me/python-docstring/ s = "ab-cd-ef-gh"
pick = re.search(r"(ab-)(.*)(-)",s)
pick[2]が"cd-ef"になるのはどうしてですか? どうして"cd"ではないの? あー「(-)1個あればいいんだからひとつもらうで」 ってことか。なるほろ >>840
今ってクラスB持ってる会社ってあるんかね
うちは持ってたけど何年も前に返納されたw プログラミングなんてやりたくねーよー
なんの役に立つんだかさっぱりわかんねーよー >>853 プログラムってゲームと同じだろ。 考えるな楽しむんだ。
好きなことをやれ。 嫌いなことをやる必要はない。
プログラムは無限の窓が開いている。 直感を信じろ、自分を信じろ、好きを貫け、人を褒めろ、人の粗探ししてる暇があったら自分で何かやれ >>853 学生さん? ゲームでも作ってみたら?
ロボットでも良いけど。
小学生用の教材も沢山出始めてる l =[1,2,3,4,5,6,7,8,9]
のようなリストから
l2=[2,6,7,9]
みたいに、飛び飛びの要素だけスライスした新しいリストが作りたいんですが、どういうやり方がスマートでしょうか
本番のリストは要素数250で抜き出したい要素数は15個です p=[2,6,7,9]
l2=[j for i,j in enumerate(l1) if i in p]
というのを考えたのですが、なんかバカっぽい気がします >>862
そのコードだとl2=[3,7,8]にならない?
t2に書かれたindexでlを抜き出してくるだからね
それでいいなら、[l[i] for i in p]じゃないのかな。
そうじゃなくて、共通要素を抜き出したいんだったら大体そのコードみたいな感じになる あ、失礼
l2 = [i for i in l1 if i in p]ですね
なんかスライスにピックアップリストぶち込むみたいなやり方があるのかなーと思って質問しました
そうかー、こういう感じでいいのか… あるリストから、別のリストにある要素だけ取り出したいということならsetを使う
list(set(l) & set(l2))
質問がとにかく分かりにくい 実際にはurlみたいな文字列が250個入ったリストから、特定の15個だけ取り出すという作業をします
で要素の位置はわかってるんだけど、文字列はわからない という状況です
だからやっぱenumerate使うやつで合ってました
下手に数字で例えたからわけわからんことになってしまった。申し訳ない >>862
numpy
import numpy as np
l = np .array(l)
p = np.array(p)
l2 = l[p] >>867
それはenumerateいらないよ。
[l[i] for i in p]で十分なはず。 文字列が250個入ったリストの作り方を教えてください 250回appendするだけだろ
何を教えるんだよ >>872
for st in range(1,251):
print('URL_'+str(st))
# URL_1
# URL_2
# URL_250 ["str" for _ in range(250)] シートに手とか足とかつくツイスターゲームってあるけど
あれの3D版みたいなのでロボットアームで強制的に動かされるのを
pythonでコントロールしてみたい >>861
>>> import pandas
>>> s = pandas.Series([1,2,3,4,5,6,7,8,9])
>>> s[[2,6,7,9]]
2 3.0
6 7.0
7 8.0
9 NaN >>868
>>> np.array([1,2,3,4,5,6,7,8,9])[np.array([2,6,7,9])]
IndexError: index 9 is out of bounds for axis 0 with size 9
>>> np.array([1,2,3,4,5,6,7,8,9])[np.array([2,6,7,0])]
array([3, 7, 8, 1])
numpy で out of bounds 回避する方法知りたいな >>880
配列のインデックスは0から始まる
1つずれている こんにちは
PCで作業するときに使用するアプリケーションを
まとめて起動するスクリプトを目的別に作りたいのですが
単純に起動だけすれば良いときはsubprocess.Popen('notepad')であってますか?
subprocess.run('notepad')でも起動するのですがシェルでコードを実行すると
プロセスの終了待ちみたいになってしまったので… subprocess.Popen(['notepad'])
OSとか環境によっては
shell=とか
他のオプションも必要 プログラミング言語の最初には大抵print("Hello Work")なんてのが書いてますが、
PythonでAIのことを(ちょこっと)学ぼうとしたときの
Hello Worldに相当する作るものってありますか? >>883
ありがとうございます
配列で渡すこともできるんですね
いやあ昨日質問した後アイコンを変えた方が見分けやすいと思って
exe化を試みたら見事にハマってしまいやっとさっき成功しました… >>884
Word2Vecを使って
どこだかの出してる新聞を解析した結果だったと思うファイルを教師にして
英文(聖書とかが無難じゃね?)を解析
2バイト文字は・・・がんばれ。 >>884
ニューラルネットで論理演算
CNNでMNIST
ランダムフォレストでタイタニック生存率
MCMCで最尤推定 >>884
画像系ならmnist一択
それ以外は専門外だから知らぬ 入門書はまずiris取り上げることが多い気がする
簡単すぎてつまらんデータだけど、hello worldレベルっていうならそうだろうなって感じ irisをSVMとかで適当に分類してAI呼ばわりするのはもの凄ぇ違和感あるんですケド
MLの入門ってなら分かりますケドネ 俺、入りたての頃、研究室の教授に
AIって難しそうなんですが、MLとどうちがうんですかー?って質問したら、
AI=MLって理解でいいぞ!逆も真で、ML=AIだ!って答えが返ってきたぞ。。。
>>891は
AIはMLより一段以上うえの何かだと思ってるんだろうけど
その差はどこらへんがどのくらい?
具象化よろしく。 >>893
イデーとマテリアみたいな関係ってことか >>892
うーむ、似て非なるものでアルと考えるネ
MLが学術的な理論であるとするとAIは遊戯的な道楽ネ >>895
つまり895的には、
ML→樹木
AI→果実(ただしウマいとは限らぬ)
みたいな感じなのか? 自分はAIを実現するための技術の一つがMLだと思ってる
>>894
これは笑うところだよ >>897
(´ε`;)ウーン… 純粋情報工学系じゃないからか、
わらいのセンスがいまいちよーわからんわー ちょっと前までコンピュータ将棋の開発者はAIかと問われても違うと答えてたけど、今ではそれもAIの一種として捉えられてるからな
方法はともかく学習要素があればAIになるんじゃないの
学習要素ないのにAI謳ってるのもありそうだけど >>896
いぐさくとりぃ
例示上手ねキミ才能あるヨ >>899
この間唯のゲーム理論をAIだとドヤ顔で紹介してて草生え散らかしたネ
ヒトが知能と解釈し得るか否かをAIの境界線上としているのだろうカ >>900
%E6%88%91%E5%BE%88%E8%8D%A3%E5%B9%B8%E5%BE%97%E5%88%B0%E6%82%A8%E7%9A%84%E7%A7%B0%E8%B5%9E
・・・文字化けするかな?
↓ならどうかな
\u6211\u5f88\u8363\u5e78\u5f97\u5230\u60a8\u7684\u79f0\u8d5e >>899
でぃーぷらーにんぐは人工知能的に第三世代の代表格らしいな
MLの各種手法は第二世代
>>902
統一見解はまだないの?
なんか
うすもんやりとしたものは かたまりつつあるんでないの?
寒天ゼリーくらいの強度かもしらんが。 test変数に、exec等を使って文字列を追加しようと思った場合どうしたら良いですか?
test変数に宣言自体はexecの外で行いたいです
以下のようにすると、空白の文字列がprintされます。
test = ""
exec('test += "test"')
print(test) >>898
AIブームへの皮肉だよ
程度の低いものまでAIだともてはやされているので、研究者はAIって言葉を積極的に使おうとしなくなっている
pythonでまともに実装されてるものはまともな機械学習だろうけど、パワポで甘い言葉で囁いてくるようなのは紛いもんのAIなんじゃないかなって言うネタです 学習機能がないものはAI と呼ぶべきではないだろう。
学習と、実行が分かれていても全体ではAI だから何の問題もない。
そういう意味では、電気釜が学習データーを利用して飯を炊いててもAIを使ってると言っても良いかもしれないが。 この板だけがエンティティ不可なのか
いつのまにか5ch全体でできなくなったのか・・・ >>903
Wo hen rongxing dedao nin de chengzan! >>900 >>908
解説ありがとう
>>909
>学習と、実行が分かれていても全体ではAI → 電気釜もAI搭載
なるほど!
そういえば、そうだな > AI家電は学習結果なデータだけ使ってる どうみてもアスペな家電です
ほんとうにありがとうございました 複数のリストをそれぞれsetに変換したいときって、どうするのが一番シンプルですか?
lists=[lis1,lis2...]にmap(set(),lists)みたいなのができないかなと思ったのですがうまく行きません(set化されない) mapの第一引数で関数自体を要求されてるのに関数を実行した結果を渡しちゃだめよ おぉ?
funcの引数部分は書かないのか
これmapのfuncに引数はとれないということですか? 関数の戻り値ではなく関数そのものを渡すから
(関数もオブジェクト) mapのfuncに引数をとりたければ「引数を埋めた関数を呼ぶ関数」を渡すことになる
f(x,y)があり、map(f(•,2), list)がほしければ、
from functools import partial
map(partial(f,y=2),list) インポしなきゃいけないの?ラムダでなんとかならない? map(lambda x:f(x,2),list) partialよりlambdaでカリー化のがわかりやすい気がする。 df.loc[bool_mask,[col_1,col_2...]]=[[1,2,3..],[2,4,6..]]
複数選択複数代入がやりたいんですが、やっぱループするしかないでしょうか? おお…更新用リストの転地の問題でした
もうしわけない range()の帰り値はシーケンス型のrange型である
つまりrange()はrange型である >>930
python3ではそう
range型のジェネレータが返る
いちいちlistでメモリに展開するのが非効率だから ジェネレータっぽいオブジェクトがかえってくるんすね
サンクス python(a.py)から別のpython(b.py)を実行したんですが、どうもb.pyの処理が実行されていないようです
a.pyとb.pyは同一ディレクトリに置いています
a.py
----------
import subprocess #サブプロセス
python_file1 = 'b.py'
print("a")
result = subprocess.check_call(['python', python_file1])
print("c")
print(result)
b.py
----------
print("b")
a.py実行
-------
a
c
0
なぜb.pyの処理がされないのでしょうか? ありがとうございます
サブルーチン(サブスレッド?)上で実行されているという事ですね
a
b
c
0
というのが期待している動作なのですが
メインルーチン上でやりたい場合には何を使えばいいのでしょうか…? >>937
やってみた
うちの環境では期待通りの出力が得られたんだけど何だろね
windows10 python3.5.2
windows10上のVMWareで動いてるcentos7 python3.6.8
wsl python3.6.8
cygwin python3.6..8
すべてOKだった
a
b
c
0 >>939なにそれきもい
>>934
「パイプ」を使って吸ったり吐いたりするといいんでないかいの 同じく期待通りに動いたぞ Fedora 30
$python3 -V
Python 3.7.4 IDLEだと表示されないね
端末からIDLEを起動すると、b.py の出力が端末に出ているのが見える
https://i.imgur.com/g7xdagL.png
あと端末上で a.py を実行すると全部画面に出るけど、リダイレクトとかするとずれる
% ./a.py
a
b
c
0
%
% ./a.py | cat
b
a
c
0
% 普通に関数にして呼び出したらよくね?
てか例だとサブプロセスにする意味が分からないんだけど
その順に処理したいなら関数呼ぶべきだろjk >>943
同じこと思ったw
関数にするまでもなく a.py を
print("a")
import b
print("c")
と書けばいいんじゃなかろうか 特に深い意味はなく最近知ったsubprocessを試してみたかっただけだろう 皆様ありがとうございます
>>944様の通りにしたら普通にいけました
用途的にもどう考えてもsubprocessでやるべきではなかったです
ありがとうございました >>942
print('a', flush=True)
にしたらリダイレクトしても期待通りの順番になった 最近のGNUのcatはバファリングしないみたいだよ
-uオプション(バファリングを無効にする)は残ってるけど無視される
macとかは知らん VSCodeでpython書いてます
フォーマッタにautopep8を入れてます
関数宣言などの上に2行空白行を入れてくるのをやめさせたいのですが
何を設定すれば良いでしょうか
例として、
# say hello
def say_hello():
print("hello.")
これをフォーマットすると
# say hello
def say_hello():
print("hello.")
となってしまいます
宣言と、その上のコメント行との間には改行を挟みたくありません def say_hello():
'''say hello'''
print("hello.") >>951
関数に対するコメントはdefの下にdocstringで書く
まずはPEP8を一読して >>952-953
ありがとうございます
ドキュメントストリング(トリプルクォート)の件はちらっと調べたりはしてました
後出してすみませんが、blender用のpyファイルをVSCodeで書いており
既存の公式アドオンファイルなどの中身を見ると
だいたいが951の通り、宣言文の上に行コメントが入っている感じなので
それに合わせたいのです(ならautopep8使うなよってツッコミはご遠慮ください)
例えばimport文の記述位置の修正(ファイルの先頭に持っていかれる)を無視する為に
--ignore=E402 を指定しています
このように特定コードを指定することで改行の件も無視できないかなと思ったのですが
autopep8 宣言前 改行 などでググっても思うように情報が出てきません blenderのサンプルのことは忘れろω
あれは糞だωωω
(blenderが糞とは言ってない) >>954
俺ならautopepをやめるw
uncrustifyでpep8用持ってきて自分好みの設定をした方が早そう flake8でチェックして、必要に応じて自分で修正してるわ
勝手に変更されるのが嫌なので 保存時フォーマット+手動フォーマット派だな
理由はこういう時こまるから
道具に遊ばれてるのほどばかばかしいこともない PEP8に従えないならpythonを辞めた方がいい
君には宗教は向いてない
もっと別の言語を探すべきだ PEP8順守しないと
同じことするコードは
誰でも同じようなコードになり読みやすい(はず)
といううりにしているメリットが壊れる 「Pythonで書くと同じことするコードは誰でも同じようなコードになり読みやすい」
このカンバンは嘘だった!
特定のコーディングルールを守れば、という条件を付けるのであればどんな言語でも同じじゃんwww dストの位置でコードの読みやすさなんてノミのクソほどしか変わらんだろ甘えるな >>961 python のコーディング規約がPEP なんだからか守るべきだよ。 3.8 がリリースされたな。
:=というオペレータが導入され、<変数> := <式>の形で変数への代入を式に埋め込むことができます。この表記をnamed expression(名前付き式)と呼ぶようです。
例
length = len(s)
if length > 3:
print(length)
else:
print('too short')
これは
これはこのように書けます。
if (length := len(s)) > 3:
print(length)
else:
print('too short')
余談 := はセイウチ演算子 walrus operator
と言うらしいな。両目と牙の形に似てるからだと execとevalの違いが良くわからないんですが、どっちが優秀なんですか? ttps://sicp.comp.nus.edu.sg/chapters/img_javascript/sicp.png
このオサンが持ってる通り blender の python バージョン上がらんかな
ソースからビルドすれば好きなバージョンに出来るらしいが
まんどくせ >>955-958
とりあえずignore設定で対処してしまいました
今後他にも煩わしい点が出てきて面倒になったらautopepは辞めて他の手段を探します
uncrustifyはメモっておきます
ありがとうございました そこまでして間違ってる方のテンプレに合わせないと気が済まないとか病気だろ
なんとか障害ってやつ >>975 そこまでしてblender のコメント方式に合わせる必要性があるの?
Python の関数のコメントなら docstring を使うべきだろ。
help(関数名) でdocstring が出るし、Vscode でもサポートしてるし(autoDocstring)。
https://qiita.com/firedfly/items/00c34018581c6cec9b84 他の言語ではスクリプトの上の部分にforなど使って処理を書いていました。
そして、下の方にサブルーチンを大量に作ってそこから適宜読み出していました。
このようにすると、上部を修正するだけでスクリプトが簡単に編集できるためです
Pythonだとサブルーチンを上部に書くとエラーが出ますが毎回ホイールで下に移動して書き直すのは不便ではないでしょうか?
慣れれば普通ですか?
また、Pythonではインデントに空白を使う人が多いようですが、
エディタの設定で改善されるかもしれませんが、うっかりDelやBackSpaceで消すとイ
ンデントがずれたりして嫌なのですが慣れますか? 別にpythonに限らずネストの深さでインデント揃える癖ついてたから気にならなかったわ
可読性的にも癖つけた方がいんでない?むしろ今までどうしてたのか気になる python 3.8.0 で import win32clipboard を実行しても、以下のようなエラーが出る。
ImportError: DLL load failed while importing win32clipboard: 指定されたモジュールが見つかりません。
python 3.8系はしばらくインストールしないほうがいいカモ。 >>978 > Pythonだとサブルーチンを上部に書くとエラーが出ますが
def で宣言する関数の事を言ってるんだよね? エラーなんて出ないけど。 関数呼び出しを先に書くとと言う話?
インデントについてはIDE で面倒みてくれるだろ。何を使ってる?
下の方に関数呼び出しがあっても何ら不都合はないよ。 >>978
WindowsならCtrl+F
MacならCommand+Fで
検索ウインドウが出るから
いちいちホイールコロコロしなくても
行きたいサブルーチン名さえわかってれば
一気に移動できる
>インデントに空白
どーしても宗教的理由とかでお嫌なら
タブで統一してもいい。
ただし、
どーしても長い行を分割して書かざるを得ない場合の
後半行のインデントにも
空白ではなく、タブを使うことになる。 いちいちスクロールして使ってるな〜
今ちゃんと動いてるから触りたくないけど関数だけ別ファイルに分けれるんだよね? >>984
>関数だけ別ファイルに分けれるんだよね?
Yes 関数へのジャンプだってIDEが面倒見てくれるだろ
ジャンプどころかその場に表示だってできる IDEが嫌いだったり、宗教上の理由で使えないだったり
PCのスペックが糞でうごかなかったり
するひとだって
いるんですよー! IDEの導入ってそんなにハードル高いんか
そいつは知らなんだわ IDEを使わないってどっちかと言うと宗教だろ。 プログラミングの効率がかなり違って来る。
どうしても複雑なIDEを使いたくなければ Sublime などのエディターでもかなりやってくれるけど。
そもそも今までプログラミングはどうしてたんだよ。 テキストエディタのみ?
IDEを使わないと、コード補完とかやってくれないから入力効率がかなり悪くなる。 ミスも多くなる。 え?ノミみたいな視野の見識してるね
IDEじゃないと補完できないだって
傑作すぎてジョークと区別がつかないわ
1990年くらいから書き込んでるんだろうかね E.S.P.だが
上の方でサブルーチンがーとか言ってるVBerは
ソースの上からグローバルな場所にコード書き始めてるんだろ
hoge.py
--------
コード
コード
関数
関数
--------
どうみても馬鹿だが
どうしてもこんな書き方を望むなら
main関数とか作って
hoge.py
--------
def main():
コード
コード
関数
関数
main()
--------
って書いとけばいい >>990 IDE以外のなにができるって? 例えば?
IDE例えば Jupytor Notebook の例
1)
import numpy as np
np.su で subtruct とsum が選択できる?
np.sum() でこんなの出る? できなくても構わないが
Signature:
np.sum(
['a', 'axis=None', 'dtype=None', 'out=None', 'keepdims=<no value>', 'initial=<no value>'],
2)
pr でprint選択できる?
print() でこんなの出る? できなくても構わないが
Docstring:
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments: エディタでもIDEでも関数を別ファイルに書いて
二つのウインドウで表示しながらプログラミングすれば
いいんじゃないの? 太古の昔からみんなそうやっているけど。
もちろん三つ以上のウインドウを開けてもかまわない。 C:\Windows\System32にdllをコピーして暫定対応できるようです。
以下issueの既知の不具合かも。
https://github.com/mhammond/pywin32/issues/1406 >>992
IDEじゃないJupyter Notebookでもそのぐらい出来るぞ、と思ってスクリーンショットを撮ってたところだったんだが、
Jupyter NotebookはIDEでこういうことが出来るという主張かな。
でも、Jupyter NotebookはあんまりIDEって言わなくないか? >>988
HDDの空き容量の時点でね もうね
>>989
>今までプログラミングはどうしてたんだよ。 テキストエディタのみ?
Yes!(゚Д゚) 関数探すの面倒でメモ帳に保存してそっちで編集してコピペでVSCodeに貼ってたけどちゃんとした使い方調べた方がいいな vim, emacs だとhotelのwindowsでも走るようにUSBメモリーに開発環境入っちゃう
なんてこともできたりはする >>995 Notebook は、完全なIDE では無いがIDEの最低限は持ってる。(コード補完)
Notebook とnbextentions が使えれば、iPhone でも同じことができるし。
長々としたものは閉じたり、開いたりできるし。
Jupytor からはVS Code も起動できるし、まあ手頃でいいんじゃない?
大規模なプログラム開発には無理だが、練習用としては使いやすいのでは?
そもそもの話の発端は、インデントが面倒とか、スクロールが面倒とかと言う話だったから、この程度で十分では。
>>996 テキストエディタだけでどんな言語をやってたの? >>996
HDDの容量は?
VScode本体で230Mぐらいだよ。(mac用)
Pycharmだと610Mほどあるけど。 このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 83日 20時間 24分 44秒 5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/
▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php レス数が1000を超えています。これ以上書き込みはできません。