1 名前:デフォルトの名無しさん [2019/07/24(水) 21:02:48.30 ID:d1IM+Tl+.net] 当スレに★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公式サイト◇ www.python.org/ ◇まとめwiki◇ ttp://python.rdy.jp/ 〇前スレ〇 くだすれPython(超初心者用) その43【Ruby禁止】 mevius.5ch.net/test/read.cgi/tech/1555397061/
237 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 21:47:06.20 ID:tsQp+M7t.net] 例えば「エンバグ」は和製英語だが(その証拠に英英辞典には載っていない) プログラマで使ったことないやつなんか10%もいないだろ
238 名前:デフォルトの名無しさん mailto:sage [2019/08/22(木) 22:19:28.34 ID:NtN1+LDS.net] VSCodeのPythonの型推論がクソ進化してる もう型アノテーションいらないんじゃないかこれ
239 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 01:41:15.41 ID:HCAwSO4F.net] https://www.p2pquake.net/dev/json-api/ JSONっぽいけど、始まりが[で終わりが]になってる reqests.getで取得したとして この中のearthquakeの中のhypocenterの中のnameを取り出すにはどう書いたらいいですか?
240 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 05:33:37.30 ID:s44pimIO.net] >>233 エンバグってなに?
241 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 06:42:20.26 ID:N9EC0fnt.net] エンバグなんて使ったことない
242 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 06:59:13.46 ID:oK3Cn5/Y.net] こないだテレビ見てたらカーボーイハットの男が叫んでた。
243 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 07:22:07.28 ID:eFyFop4/.net] >>233 自分の常識が世間一般の常識と思い込むのイクナイ
244 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 07:34:27.45 ID:W0iLWMiN.net] >>233 それ業界英語だからや 普通に英単語でもあるぞ enbug
245 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 07:36:51.29 ID:W0iLWMiN.net] >>235 アクセス過多で業務妨害罪でタイーホ! URLてきに、apiでとれるようになってるんだろうから そこ用のapiの勉強しんしゃー
246 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 08:16:50.69 ID:Mz9ZP4mp.net] enbug バグを仕込むこと(故意でなくても)
247 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 08:29:31.08 ID:1dI4xuIA.net] >>236 バグを直したら違うところがバグった
248 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 08:32:19.37 ID:Mz9ZP4mp.net] ていうか英語の接頭辞のニュアンスくらいマなら知っとるやろ
249 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 08:57:07.61 ID:W0iLWMiN.net] >>244 おまえの常識 周囲の非常識
250 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 08:58:29.25 ID:Mz9ZP4mp.net] エンクロージャって聞いて分からんマとかおりゅ?
251 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 09:22:50.85 ID:5TcsxCJp.net] >>240 CollinsにもWebsterにもMacMillanにもODEにも載ってないのに「英単語」と言い張るのは無理がある もちろんこれらの辞書はすべてdebugはコンピューター業界での用法も当然に収録している これでも不満ならありとあらゆる英単語を載せているOEDを引けば答えがわかる ちなみにenbug.orgにも「日本語由来」と(英語で)書いてある
252 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 09:24:16.55 ID:5TcsxCJp.net] 正確には「日本語圏でしか使われていない単語」か 要するに和製英語を一部の人間が英語に持ち込んでるだけで英単語ではない
253 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 11:28:23.12 ID:LjhFqZ/B.net] 英語の大先生は中央線に飛び込んで死んでね
254 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 11:29:14.67 ID:HCAwSO4F.net] >>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' とエラーが出るのはなぜですか?
255 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 12:24:51.70 ID:s+6jWuTi.net] コードガールこれくしょんの問題8-4をやっているんですが、以下の回答のどこがダメなのか分からず先に進めません…; かなり初歩的な質問で申し訳ないのですがどなたか教えていただけると助かります。 from random import randint #1から10のランダムな整数を出力して下さい。 a=randint(1,10) print(a)
256 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 12:50:55.60 ID:GCcQKmFF.net] print(randint(1,10)) これをループして
257 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 12:51:13.89 ID:MQdWPEng.net] >>251 randrange使うんじゃないの?知らんけどw
258 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 12:56:09.54 ID:MRE+SfwO.net] 揚げ足とるとそれだとランダムな整数が代入された変数を出力してるもんなぁ糞だけど
259 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 13:47:49.94 ID:jgkDRT2h.net] >>250 issueが無いデータがあるからでしょ if 'issue' in dd: とかでキーが存在するか確認しろ
260 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 14:16:36.43 ID:5TcsxCJp.net] >>251 ちょっとやってみたけど 『文字列「"sky"」を出力してください』で print("sky")で蹴られるとか明らかになにかおかしいだろこれ
261 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 15:03:24.96 ID:s+6jWuTi.net] 251です。他のステージもプレイしてみましたが、以前は正解になった回答↓でも不正解になったので公式側に不具合が起きているのかもしれません; 時間を置いて再度試してみます。コメントありがとうございました。 #文字列「egg」を出力してください。 print("egg") #10から2を引き算して出力してください。 print(10-2)
262 名前:デフォルトの名無しさん [2019/08/23(金) 17:53:49.62 ID:Zx6EO+xk.net] >>235 ここって今も更新されてるの?
263 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 22:34:52.86 ID:bCjBZ45B.net] >>255 どうもありがとうございます 存在していないkeyでした ideone.com/0ErCLL これを実行すると 村上市 (2) 関川村 (1) 鶴岡市 (1) な感じでプリントされますが、 村上市 (2), 関川村 (1), 鶴岡市 (1) といったように、一行でプリントするにはどんな方法がありますか? >>258 更新されているようです Rubyでのサンプルページも作られていました https://github.com/p2pquake/epsp-utils/tree/master/json_api_reader
264 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 22:40:04.86 ID:bCjBZ45B.net] >>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=" ") こうやってみたらエラーでダメでした
265 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 23:03:35.92 ID:VukiVfH6.net] format
266 名前:デフォルトの名無しさん mailto:sage [2019/08/23(金) 23:57:42.43 ID:bCjBZ45B.net] >>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の指定の仕方で横にプリントが出来るということですか?
267 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 01:12:22.32 ID:feuvYzbT.net] l = ['{}({})'.format(p['addr'], scaleDic[str(p['scale'])]) for p in points] print(', '.join(l))
268 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 09:12:37.87 ID:+nNIwdjo.net] print(a+"("+s+")", end=",")じゃだめなんか知らんけど
269 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 09:28:04.44 ID:fnGH5ITP.net] 改行無しを多くつかうなら def princ(x):print(x,end="") で、end=""を少なくすると良いかも
270 名前:デフォルトの名無しさん [2019/08/24(土) 09:51:52.05 ID:BpytXyBE.net] これでお願いします 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=', ')
271 名前:デフォルトの名無しさん [2019/08/24(土) 10:57:17.18 ID:6nD2xE5w.net] 君のは無駄すぎる print(', '.join(f"{p['addr']} ({scaleDic[p['scale']]})" for p in dd.get('points', [])))
272 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 11:06:04.31 ID:xvjQRABf.net] 後から湧いてきてエラそうなのが笑える
273 名前:デフォルトの名無しさん [2019/08/24(土) 11:12:04.69 ID:6nD2xE5w.net] あと scale 46 もあるな
274 名前:デフォルトの名無しさん [2019/08/24(土) 11:17:47.27 ID:6nD2xE5w.net] >>268 うびぃも後出しじゃんけんでperlをdisってるからな 他人の事は言えんやろ
275 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 11:49:43.27 ID:c46ZB698.net] >>260 print(f'{a}({s})',end=', ') 一番最後にも , がつくのが少しうざいけど。 end= と言うのは print文の最後を改行の代わりに指定文字を出力して終わると言う意味だから、複数指定するのは間違い。
276 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 12:16:48.26 ID:c46ZB698.net] >>259 >>266 scaleDic のキーは、str ではなくて、数字じゃ無いとダメだろ。 これで良い筈。 ideone.com/sld6FX
277 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 12:46:52.13 ID:feuvYzbT.net] 揚げ足取りばっかりだなw
278 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 12:54:31.62 ID:SB9VKIDg.net] >>263 どうもありがとうございます! l = [f'{p["addr"]} (震度{scaleDic[str(p["scale"])]})' for p in points] ll =', '.join(l) print(ll) f'に置き換えても動きました! >>264 >>265 どうもありがとうございます! これらも確認してみます!
279 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 12:54:42.98 ID:SB9VKIDg.net] 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) これには応用出来ませんでした
280 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 12:56:04.04 ID:SB9VKIDg.net] >>266 >>267 >>271 >>272 ありがとうございます レス頂いた内容
281 名前:ミとつひとつきちんと試してみます [] [ここ壊れてます]
282 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 13:15:05.15 ID:cyI4/KcP.net] pp = ['{}({})'.format(i[0],i[1]) for i in prefsSorted] print(', '.join(pp))
283 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 13:29:52.26 ID:SB9VKIDg.net] 連投すみません >>264 >>265 >>271 これ(>>260 ) に対するendの使い方が分かりました >>265 短いけれど内容難しいです
284 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 13:30:03.13 ID:SB9VKIDg.net] >>266 formatの対象を別変数に入れたり、printでsepを使う時にアスタリスクが使える事が参考になりました >>267 これ (>>263 ) をさらにコンパクトにしたってことなんですね >>272 なるほど scaleDicのkeyをstrじゃなくintにすればよかったんですね
285 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 13:43:44.40 ID:SB9VKIDg.net] >>277 どうもありがとうございます! formatでいけるんですね じっくり調べてみます
286 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 14:14:17.12 ID:SB9VKIDg.net] 書き直しました ideone.com/cVlEOe pの中のscaleが空っぽの場合エラーになってしまうので、25〜26行目ようにifを使いました 一応これで動いてるっぽいんですが、やり方あってますか?
287 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 14:54:59.05 ID:SB9VKIDg.net] 教えていただいたおかげで、Rubyでのサンプル(https://github.com/p2pquake/epsp-utils/tree/master/json_api_reader)の実行結果のようにPythonでも表示できるようにしてみました。 引数有り無しで何分前までの情報を表示するか選べるようにしました。 ただ、時間指定するか件数指定するかで迷っています。 サンプルは100行ほどで治まっているけれど、自分のは1.5倍もあるのできっと無駄だらけ(特にmain関数内のインデント)なんだろうと思いました。 ideone.com/jf4yY4 https://i.imgur.com/694EBuR.jpg
288 名前:デフォルトの名無しさん [2019/08/24(土) 15:01:22.44 ID:u2q8uNB0.net] >>281 p['scale'] の代わりに p.get('scale', 0) としてscaleDict[0]のところに'不定'など入れるべき
289 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 16:05:24.01 ID:c46ZB698.net] >>281 24行目 scale = dic.get(k, “不明”)
290 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 21:07:21.79 ID:SB9VKIDg.net] >>283 >>284 どうもありがとうございます 辞書を.getで使う事は知っていたけれど,で区切って代入したいものを書けば見つからない場合にそれが代入されるんですね 25〜26行目も不用になりました 勉強になりました
291 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 21:08:53.62 ID:SB9VKIDg.net] >見つからない場合に じゃなくて代入するべきkeyが無い場合 ですね
292 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 22:27:37.43 ID:ZFPgn961.net] >>9 かなり遅れましたがあざーす!!!!!!
293 名前:デフォルトの名無しさん mailto:sage [2019/08/24(土) 23:47:57.43 ID:dA7WdXyV.net] Ruby には、式展開がある 文字列内の#{ } 内に、変数・リテラルなどの式を書くと、 式を評価してから、文字列に変換する 文字列に変換する際、Object#to_s が呼ばれる a = 1 p "答え : #{ a + 2 }" #=> "答え : 3" こうやって簡単に、可読性が高いプログラミングができるから、Rubyは初心者向け。 Python では、こんなに簡単に書けないから、ものすごい時間を浪費するw
294 名前:デフォルトの名無しさん [2019/08/25(日) 00:22:10.20 ID:YrUvuEmX.net] これは恥ずかしい
295 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 00:24:20.23 ID:9mosJQ5t.net] >>288 Rubyくん Python3.6からf-stringが導入されたからできるよ 精進したまえ
296 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 00:45:52.85 ID:xUfkLqmE.net] a = 1 print(f'答え: {a + 2}') 答え : 3
297 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 00:50:05.77 ID:xUfkLqmE.net] >>291 自分はこのやり方しか知らない 3.6以前や2の時代はどう書いてたんですか?
298 名前:デフォルトの名無しさん [2019/08/25(日) 00:52:43.33 ID:AaCFD+Ee.net] 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)
299 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 00:55:00.62 ID:zdoVOlQu.net] >>292 print'答え:'+str(a+2) とか。
300 名前:デフォルトの名無しさん [2019/08/25(日) 01:59:09.84 ID:mg6wG7oZ.net] >>293 np.appendの行を x = np.stack((x, [i, i*i])) にする あるいは x = np.arange(1, 10) x = np.stack((x, x*x)).T
301 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 10:40:17.72 ID:9mosJQ5t.net] >>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)
302 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 12:25:51.97 ID:QmQLbs5R.net] 自分が使ってる参考書の尼レビューに「小学生向け」とか書かれるとあまりいい気がしないね 別に子ども用の記載ないのに(´・ω・`)
303 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 13:08:55.31 ID:x+sDslFz.net] >>297 逆に考えるんだ 最近の小学生は大人顔負けで凄いぞ
304 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 13:26:35.76 ID:QmQLbs5R.net] >>298 愚痴こぼしてすまん。 初心者のくせに変なプライドが出てしまったようだ 小学生に追いつけるようにがんばる(´・ω・`)
305 名前:デフォルトの名無しさん [2019/08/25(日) 13:35:45.25 ID:7aRWz3XD.net] たすけてください>< 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'
306 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 15:59:49.84 ID:p1Bsh7TM.net] クラスstudentがあったとして そのstudentの集合からなるクラスstudentsを作って 各科目ごとの全studentの点数を出すメソッドをstudentsに作りたいんだけど可能です?
307 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 17:50:32.59 ID:x+sDslFz.net] >>301 もちろん可能だけども、学校の課題でなければpandasでデータフレーム使うかな
308 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 18:09:34.72 ID:x+sDslFz.net] >>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}')
309 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 19:15:24.57 ID:x+sDslFz.net] >>301 一応書いてみた https://ideone.com/zxfqpc なおpandasを使うと https://ideone.com/uyrmdE
310 名前:デフォルトの名無しさん mailto:sage [2019/08/25(日) 21:14:15.88 ID:huYbmweG.net] >>304 ありがとうございます! そんな感じにappend出来るのですね。
311 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 13:09:21.76 ID:FeBLI/8u.net] uwscのCHKIMGXのように裏画面であいまい画像検索できるようなライブラリがあれば教えていただけませんか?
312 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 13:37:33.83 ID:D4IbCpMk.net] 裏画面ってなに?
313 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 13:41:07.73 ID:FeBLI/8u.net] すいません正式な用語がわからなくて… デスクトップ上で、他のソフトウェアがかぶさっていて前面に表示されていない状態です
314 名前:デフォルトの名無しさん [2019/08/26(月) 15:42:44.48 ID:T
] [ここ壊れてます]
315 名前:0vtMl8v.net mailto: >>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. [] [ここ壊れてます]
316 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 18:34:09.43 ID:ezzRX+ou.net] あいまい画像検索ってなんだよまず 調べてもuwsc関連しかヒットしねぇぞ
317 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 18:38:33.49 ID:ezzRX+ou.net] 多分テンプレートマッチングの亜種だと仮定するとopencvで出来るだろどうせ
318 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 20:24:16.00 ID:kxe7GuLs.net] 俺の少ない知識ではWindows10の隠れた画面のキャプチャは出来なかったと思うので、一旦画面を前に持ってくる必要がある パッケージはwin32guiでSetWindowPosん使ってHWND_TOPMOSTメッセージを投げ込めば良い 隠れた部分がDirectXやUWPなら多分隠れたままでもキャプチャできるんだろうが、そうなると今度はPythonからどこまで操作できるかという別の問題にぶつかる
319 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 20:33:02.20 ID:jRCgz8sh.net] 隠れててもwindowハンドルからdc取得すりゃできるよ デスクトップのハンドルだとウィンドウ全部合成後の拾ってくるから無理だけど
320 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 20:38:27.65 ID:kxe7GuLs.net] >>313 昔はそれでできた 今はできなかったと思う 試しにFindWindowでhandle取得してCreateDCFromHandleでデバイスコンテキスト取得してみたがウインドウサイズそのままに真っ黒になった Windows Insider版だから自分の環境がおかしい可能性はある
321 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 20:45:07.64 ID:jRCgz8sh.net] 今もできるよ 俺作ったやつは後ろの普通に取れてる アプリによっては無理なのあるけど
322 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:09:38.48 ID:4zDPkHol.net] >>306 裏画面に存在するのは被検索対象なのかテンプレートなのか 被検索対象とテンプレートのソースは何なのか(ブラウザ等の外部アプリの画面なのか、画像ファイルなのか等) 最低限これくらい書いたらどう uwscが一般に知られてる前提で書きすぎ
323 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 21:20:54.88 ID:kxe7GuLs.net] >>315 あぁ、分かった 色々試して出来るもの、出来ないものがあった 出来ないのは電卓とかUWPっぽい UWPはスクリーンショット取れる別の関数がC#にはあったがPythonはなさげ 質問者のアプリがUWPでないことを祈ろう
324 名前:306 mailto:sage [2019/08/26(月) 21:32:01.93 ID:FeBLI/8u.net] おっしゃる通りでしたすいません。 あいまい画像検索は、対象とする画面内に用意した画像と似たものが存在するかチェックするもので、検索した感じテンプレートマッチングと呼ばれるもののようです。 裏画面に存在するのは被検索対象で、テンプレートは自分で用意した画像です。 被検索対象はNoxというAndroidエミュレータで、テンプレート画像に近い画像が何度出てきたか記録して統計を取りたいです。 とりあえずopencvを調べてみますね。
325 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:44:15.71 ID:z3tBqxBg.net] OpenCVでChkImgみたいなパターンマッチングは出来てるよ 電卓とかBlueStacksのInactiveCaptureはEnumChildWindows使えばいけるけどNoxならFindWindowとか適当でいい
326 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:54:17.96 ID:z3tBqxBg.net] result = cv2.matchTemplate(img, temp, cv2.TM_CCOEFF_NORMED) loc = np.where(result >= threshol
327 名前:d - 0.5) あいまい検索はマッチングのしきい値を下げちゃえばいい [] [ここ壊れてます]
328 名前:デフォルトの名無しさん mailto:sage [2019/08/26(月) 23:57:37.30 ID:3MH0/bES.net] くだすれだし作ってみた https://ideone.com/2dPJQY
329 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 09:13:31.51 ID:dKxQp684.net] Djangoなんですが { % block % }と{ % include %}って使い分けることはありますか?
330 名前:デフォルトの名無しさん [2019/08/27(火) 09:55:16.84 ID:NZJyfwBK.net] >>314 コピー取ってから使えばいける
331 名前:デフォルトの名無しさん [2019/08/27(火) 09:57:13.92 ID:NZJyfwBK.net] >>320-321 タイトルの判らないAVの一部から女優さんの名前を見つけられますか?
332 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 10:19:42.84 ID:UnKHEyOz.net] >>324 タイトルをミロ
333 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 12:06:26.87 ID:nDtSA2WaA] >>324 ここにアップするのが一番早かったりして
334 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 12:45:02.61 ID:owUnbF5z.net] htmlソース内でpythonスクリプト走らせてopencvのnamedwindowをWebページに埋め込むにはどうすれば良いですく?
335 名前:デフォルトの名無しさん mailto:sage [2019/08/27(火) 13:08:56.64 ID:WKOTCfnh.net] 不可能だからどうもしなくていい
336 名前:デフォルトの名無しさん [2019/08/27(火) 14:55:45.86 ID:NZJyfwBK.net] brython用のOpenCVがあるのか
337 名前:デフォルトの名無しさん [2019/08/27(火) 15:02:21.94 ID:0y2hrVQp.net] https://stackoverflow.com/questions/42204667/how-to-work-with-opencv-python-library-using-brython