[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 11/02 02:25 / Filesize : 266 KB / Number-of Response : 1024
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

くだすれPython(超初心者用) その44【Ruby禁止】



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






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<266KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef