くだすれPython(超初心者用) その44【Ruby禁止】 at TECH
くだすれPython(超初心者用) その44【Ruby禁止】 - 暇つぶし2ch2:デフォルトの名無しさん
19/07/24 21:25:38.84 rb/ir+1u.net
>>1乙&ありり!

3:デフォルトの名無しさん
19/07/24 21:30:28.45 N9VTs7hU.net


4:デフォルトの名無しさん
19/07/25 02:26:33.46 4CnHzxri.net
暗黙のキャストとか何思い込みで適当ブッこいてんだろうね。
突っ込まれてごめんなさいするならまだしもいきなり他言語はどうのこうのと知能障害を起こす。
なーにが「charの集まりであることが協調される」だw
list(str)したら実際にリストに変換されとるわ。そしてstrのままならリストではない。
強調するしないの話じゃねーわバーカw

5:デフォルトの名無しさん
19/07/25 08:36:01.95 9C4Or2al.net
初心者だから

6:デフォルトの名無しさん
19/07/25 09:40:45.96 1rxwS29W.net
ンなことより時代はDAMMYだよ

7:デフォルトの名無しさん
19/07/25 13:42:57.84 EJqnclen.net
invalid syntax
ばっか出て実行できねつれえ

8:デフォルトの名無しさん
19/07/25 16:35:08.43 9NIcUt4V.net
O2

9:デフォルトの名無しさん
19/07/25 19:13:58.50 k8Oo4lQd.net
>>7
「’」とかの数が間違ってることがおおおおおおおおおおおおおおおおおおおおおおおおい

10:デフォルトの名無しさん
19/07/25 21:40:43.04 PkzVYw4s.net
JupyterLabでC言語で言うところのインクルードをすることはできませんか?
hoge.pyというファイルを作って、
hage.ipyndから呼び出して使いまわしたいのです

11:デフォルトの名無しさん
19/07/26 09:08:47.48 lM5xSn21.net
>>10
importじゃダメなの?

12:デフォルトの名無しさん
19/07/26 09:09:54.72 fk9Mwnft.net
勉強会やるんだけど実行環境用意しといて!で事前準備させるとそれぞれ環境差異でのややこしい自体にならないかとか不安なんだけどどうするのが安定なんだろう

13:デフォルトの名無しさん
19/07/26 09:32:04.13 qcslNsDN.net
google colaboratoryとか?

14:デフォルトの名無しさん
19/07/26 09:40:24.31 fk9Mwnft.net
あーこんなんあったのかちょっと触ってみる
見た感じ結構良さげかもグーグルアカウントとpc用意してねで済むし
ありがとう

15:デフォルトの名無しさん
19/07/26 11:58:54.14 jmU7o2wj.net
多人数が同時に同じようなことをすると
google が嫌がってアクセス制限
ということにならないのかな?

16:デフォルトの名無しさん
19/07/26 12:05:42.69 9mYOuHkF.net
googleはいざというとき信用出来ない
やってみた程度なら良いが

17:デフォルトの名無しさん
19/07/26 12:23:57.94 EPAvXSzo.net
勉強会のハンズオンなんてやってみた程度だしいいんじゃねえか

18:デフォルトの名無しさん
19/07/26 22:08:12.26 73cfecOJ.net
どなたか助けてください。
標準入力から
5
12
を得て、5...12を出力する問題です。
ボクがやったのは変数=int(input())
print(変数+1)...というやり方で出力しました。
出力結果と求められていることは一致していると思いますが過程が悪いのか減点され正解になりません。
whileも考えましたが、変数=input()のため、演算子で〈=13として、開始を変数=1のようにしてみても、標準入力込みの終わりの書き方がわかりません。標準入力で得た整数を+1しながらループ処理をする方法がありましたら教えてください。

19:デフォルトの名無しさん
19/07/26 22:51:39.16 jQksFpA5.net
>>18
>変数=input()のため
もう1つ来る入力の「12」をどうするつもりなんだwww
>標準入力で得た整数を+1しながらループ処理をする方法
そこまでわかってるなら
forループでも
whileでも
好きなほう使えよ

20:デフォルトの名無しさん
19/07/27 01:36:48.91 OXn2poY0.net
おまえの勝手な解釈を基に造ってもどうせまた減点されるんだから
端折らずに問題文全部載せろ

21:デフォルトの名無しさん
19/07/27 10:06:11.64 C3jAKBp+.net
こちらが問題になります。
標準入力で2つ(2行)の整数が与えられます。
1つ目の数値から2つ目の数値までを、1ずつ増加させながら、1行ずつ順番に出力するプログラムを作成してください。
たとえば、3と5という数値が与えられた場合、次のように出力します。
```
3
4
5
```
※1行目の数値は、2行目の数値よりも必ず小さい値が与えられるものとします。
よろしくおねがいします。
私も再度取り組んてみます。

22:デフォルトの名無しさん
19/07/27 10:17:25.98 KfeUqeFf.net
inputがだめで
stdinから嫁ってことじゃね
知らんけど

23:デフォルトの名無しさん
19/07/27 10:19:48.27 8koxHvvq.net
テキストとか説明が一切なくていきなり問題だけだされてるんかな
スパルタやな

24:デフォルトの名無しさん
19/07/27 11:02:47.47 W3Jxb5y4.net
いよいよ夏休みか
将来は小学生の問題にも対応せんといかんな

25:デフォルトの名無しさん
19/07/27 11:04:42.47 x2CgWL9F.net
>>21
で、
  >>19についてもまいはどう解決するんだ

26:デフォルトの名無しさん
19/07/27 11:36:06.31 EKl/2eXU.net
#付きでループ処理してねという助言はありました
与えられた数字は
5
12
です。
使える技術はfor while if int str
です。

27:デフォルトの名無しさん
19/07/27 11:42:39.90 x/Y2IYID.net
>>25
2回呼び出すだけだろ。アホか

28:デフォルトの名無しさん
19/07/27 11:47:43.45 sk/VbbeC.net
なつやすみプログラミングきょうしつでも通っといて…
って小学生が2chなんて来ねえよ
そいつも小学生みたいな知能のおっさんだろ
救えなさすぎる

29:デフォルトの名無しさん
19/07/27 11:52:34.42 x2CgWL9F.net
>>27
それは26に言ってやれ
>#付きでループ処理
たぶんprint処理についての助言だと思うぞ
もう1つヒント
>演算子で〈=13として
たぶんここは減点対象だな
13っていう値を、入力その2(12)から自動で導き出すようにすべき
>使える技術はfor while if int str
おk
それだけできて
あとinput()も理解してればこの問題は解ける。
んで
できたorできかけのコードをうpして助言を求める場合は
>>1で紹介してるソースコード用うpろだのどれかを使え。
直コピペで提示されると
【複数の連続半角スペースは1ツにまとめられてしまう5chの仕様】により
インデントが崩れて見づらいのだ。

30:デフォルトの名無しさん
19/07/27 12:04:29.63 1cAkezH+.net
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)

31:デフォルトの名無しさん
19/07/27 12:08:17.97 x2CgWL9F.net
>>26>>30を提出したら
チートしたのがばればれw

32:デフォルトの名無しさん
19/07/27 14:20:51.33 C3jAKBp+.net
出来ました!!
みなさんアドバイスありがとうございました。
ソースコード用うpろだの使い方がどうしてもわからないので、直接書きます。

33:デフォルトの名無しさん
19/07/27 16:16:07.52 73+g8JNz.net
skypeでメッセージをpythonから送る方法が知りたいんですがskypeはapiがないんでしょうか?

34:デフォルトの名無しさん
19/07/27 16:31:00.51 WtYjh7O4.net
どこを調べてそんな考えに至ったのかしりたい
そんなわけないだろ

35:デフォルトの名無しさん
19/07/27 17:39:07.95 x/Y2IYID.net
つskype4py
残念ながら、3系には対応していない

36:デフォルトの名無しさん
19/07/27 18:09:29.30 sk/VbbeC.net
WebAPIのラッパーライブラリは
バージョンアップについていけなくて放棄されることが多いよなー
使い捨てでなければ生API叩いた方がいいかもしんない

37:デフォルトの名無しさん
19/07/28 04:02:51.12 QWXlr9dJ.net
>>21
a = int(input())
b = int(input())
for i in range(a,b + 1):
print(i)
算数で答えと式が違うからxとかみたいな、しょうもない理由な気がする。。。
取り敢えずoにしといて、テスト返却後に模範解答はこれで、これより無駄の多いコードの人は無駄を省く努力をしましょう。
とかすれば良いのに。

38:デフォルトの名無しさん
19/07/28 06:19:11.27 mOcFR82C.net
じゃあそのテストは2ch以下の産廃だな
やらない方がいいか、やってる方の頭がアレなのかは知らんが、
そもそも発端のソースコードが出てきてないのが気になる

39:デフォルトの名無しさん
19/07/28 09:02:21.46 cFlW55NM.net
元の回答者のコード見ないであれこれ言っても意味ないよね。
質問者のレベルから想像して、おかしなコードかいてても自分では気づいていないだろうし。

40:デフォルトの名無しさん
19/07/28 19:36:12.16 fNbIh3eq.net
自分のパソコンではプログラムが正常に作動するけど、herokuに上げて実行するとエラーが出ます
スカイプで時間を呟かせるプログラムですが、デプロイっていうんですかね?アップロード的な作業は正常に出来てるっぽいです
アドバイスを頂きたいのですが、無知すぎて何を晒して聞けばいいのかすら分からないので、そこからご指示頂けますでしょうか?

41:デフォルトの名無しさん
19/07/28 19:44:54.59 /N9EqgUo.net
エラーのときに出た文章そのままをググろう
世界では前例が多い

42:デフォルトの名無しさん
19/07/28 19:54:05.66 fNbIh3eq.net
ほんまめっちゃググりましだが、全然分からずここに来た次第でござる

43:デフォルトの名無しさん
19/07/28 21:02:44.67 Q74Xo7G0.net
エラーメッセージ貼ってみて
長すぎるならideoneとかpastebin使って貼ってみて
できれば省略はしないで

44:デフォルトの名無しさん
19/07/29 17:21:44.54 YN9DtyGp.net
質問です。
print(..., = end””)とすると次の
print(...)と
改行しないで出力出来ると習ったのですが
whileで出力した返り値を, = end””
としても改行されてしまいました。
whileでは改行されてしまうのでしょうか?
ループ手段を使わずに自力で全て書いて出力したところ減点されてしまいました。
どなたか助けてください。

45:デフォルトの名無しさん
19/07/29 17:23:45.00 uV6fxwjn.net
>>37
変数=intで入力するのがよかったみたいです

46:デフォルトの名無しさん
19/07/29 17:30:07.55 /SRr+FF/.net
>>44
printの書き方はprint('hoge', end='')だぞ
ちゃんと授業聞いてるか?

47:デフォルトの名無しさん
19/07/29 17:36:54.49 VkmvAKd6.net
>>44
そこまで売る覚えできてたら
python print end
とかでググったほうが早く回答得られたと思うよ

48:デフォルトの名無しさん
19/07/29 17:50:15.51 MFjRjSYE.net
>>45
>37氏はちゃんと変数=intのかたちで書いてくれてるじゃん
>>47
こいつの検索能力などの低さをなめてはいけないとおもふ

49:デフォルトの名無しさん
19/07/29 17:54:34.63 uV6fxwjn.net
質問です。
(a+1 b+1)をループ処理しながら同じ文章にするためにはどうしたらいいのでしょうか??
別々で計算は出来るのですが、改行なしの同じ文章することが出来ません。

50:デフォルトの名無しさん
19/07/29 17:55:52.21 uV6fxwjn.net
>>46
hogeはまだ会得していませんが、endは再確認出来ました。

51:デフォルトの名無しさん
19/07/29 17:56:52.08 uV6fxwjn.net
>>48
>>47
もう少し調べてみます。

52:デフォルトの名無しさん
19/07/29 17:57:39.49 qPlWvr7i.net
意図するところが全く分からないので期待する出力を示せ
話はそれからだ

53:デフォルトの名無しさん
19/07/29 17:58:36.22 MFjRjSYE.net
>>49
もう一度>>46をよめ
授業は真面目に受けろ

54:デフォルトの名無しさん
19/07/29 18:06:29.03 c9RUmAdY.net
初心者スレなのは分かるけどびっくりするほど授業のレベル低いな

55:デフォルトの名無しさん
19/07/29 18:22:22.24 uV6fxwjn.net
>>52
西暦a年は昭和b年です
という出力がしたいです。
aとbは標準入力から得ます。
10年分の出力がしたいです。

56:デフォルトの名無しさん
19/07/29 18:26:31.55 MFjRjSYE.net
>>54
質問者の理解力が・・・

57:デフォルトの名無しさん
19/07/29 18:52:20.77 MFjRjSYE.net
以下の指摘についてレスを書く前に
まず>>37を理解し、マスターしろ
>>55
はしょるな
全文のせろ

58:デフォルトの名無しさん
19/07/29 19:00:25.05 VkmvAKd6.net
両方与えてくれるなんて親切だな
URLリンク(ideone.com)

59:デフォルトの名無しさん
19/07/29 19:13:21.46 MFjRjSYE.net
>>58を改造して提出したら
チートしたのがばればれw

60:デフォルトの名無しさん
19/07/29 19:22:03.54 YN9DtyGp.net
>>57
>>37さんを真似て書いてみましたがエラーで出力されません。

61:デフォルトの名無しさん
19/07/29 19:24:05.79 YN9DtyGp.net
問題です。
標準入力から、1行目に西暦年、2行目に年数が与えられます。この西暦年から始まる、年数分の「西暦年と昭和年の対応表」を出力するプログラムを作成してください。
対応表は、「西暦XXXX年は昭和YY年です」と表示します。昭和年は、西暦1926年から西暦1988年までの期間で、「西暦年 - 1925」で求めることができます。
なお。与えられる西暦年は、昭和年に対応しています。年数も、昭和年を超えることはありません。
1975
10
よろしくお願いします。

62:デフォルトの名無しさん
19/07/29 19:37:31.30 SYaK4Xam.net
いやです

63:デフォルトの名無しさん
19/07/29 19:39:24.73 UVc52Nf7.net
まず自分で作ったうまく動かない無様なコードを晒してみんなの笑いものになってからだ。

64:デフォルトの名無しさん
19/07/29 19:41:53.51 ZTT4wz19.net
一体何のためにプログラミングを学んでいるのか理解に苦しむな
y = int(input())
n = int(input())
print([ for i in n])

65:デフォルトの名無しさん
19/07/29 19:52:50.59 kz87hKYA.net
漢字が読める以外は小学生に劣ってると思う

66:デフォルトの名無しさん
19/07/29 20:05:27.88 YN9DtyGp.net
みなさんはどうやって上達していったのですか?

67:デフォルトの名無しさん
19/07/29 20:19:49.28 Y1SytvIs.net
言語仕様をよく読んだ

68:デフォルトの名無しさん
19/07/29 20:44:14.10 VkmvAKd6.net
少しずつやれること増やしていくんだよ
ここにはそのために役立つコードいつくか集まっているのだから
さっさと実行して身に着けてしまいな

69:デフォルトの名無しさん
19/07/29 20:52:20.17 xotx5r18.net
上から目線でエラそうなこと言ってるけど実は全員初心者だから気にするな

70:デフォルトの名無しさん
19/07/29 21:02:07.59 p0Z3/9yx.net
適当に人気のある入門書買って勉強すればある程度はいけると思うけど

71:デフォルトの名無しさん
19/07/29 21:04:09.38 MFjRjSYE.net
>>61
>>64がヒントあげてくれているので
それと37のヒントを
参考にしてつくったコード(たぶんエラーがでて、望んだようには出力されないだろうがおそれるな)を
URLリンク(codepad.org) にでもうpって
ここにそのcodepadアドレスを貼れ
>>66
C言語の超入門の授業(半期のみ、週1コマ)を真面目に受けて、以降は独学

72:デフォルトの名無しさん
19/07/29 21:11:44.33 MFjRjSYE.net
>>61追記
>>58氏がおまいのレベルからすると明らかにズルしてるのがバレバレバレレベルの回答を貼ってくれてるので
それもよめ

73:デフォルトの名無しさん
19/07/29 21:37:28.04 CSar0obt.net
URLリンク(i.imgur.com)

74:デフォルトの名無しさん
19/07/29 23:03:53.12 LpaqQy0x.net
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年です

75:デフォルトの名無しさん
19/07/29 23:05:50.23 S/NmWbT9.net
100GB近くあるテキストファイルを50万行ずつに分割する処理の途中で
誤って処理を止めてしまったのですが、途中(仮に500)からイテレータを始める方法を検討いただきたいです。
ファイルの読み込みはpandasのread_tableでchunksizeを50万で指定しています。
skiprowsを50×10万行で指定したらmemory errorを起こしました。
読み込みだけで一回10秒程度かかるため、dataframeを作成せずにイテレータをインクリメントしたいです。

76:デフォルトの名無しさん
19/07/30 01:09:29.96 kWhTMvh9.net
仮にn行目まで処理したかわかってるならdf[n:]でいいんじゃない
エラー吐くなら知らん
何なら最初からやり直したらいいと思う

77:デフォルトの名無しさん
19/07/30 04:13:05.77 RYwsY7rK.net
一行ずつ読んでいって
num_of_line += 1
if num_of_line > 500: do_something
のようなパーツ挟む

78:デフォルトの名無しさん
19/07/30 09:43:12.55 VGSDgyJc.net
UWSC→AutoIT→Pythonで簡単に移行できたからUWSCから覚えてみては!
PythonもKivyのGUIから入ったからprintのendオプションとか昨日まで知らなかったわ

79:デフォルトの名無しさん
19/07/30 10:18:32.63 RYwsY7rK.net
どうしても Windows でキーマクロしたい時の最終手段がUWSCというイメージ
URLリンク(i.imgur.com)

キー入力付近で書くことで抽象化があまりできず
ネストも深まりやすい感じが伺える
python で済むならpythonで終わらせて
キーマクロ言語は触らないほうが良いと思います
(vim のキーマクロを書くことがあるが、
同様の理由で異常に読みにくい)

80:デフォルトの名無しさん
19/07/30 14:44:50.19 h68cBa5O.net
URLリンク(ideone.com)

81:デフォルトの名無しさん
19/07/30 23:38:26.25 0mrV0sDP.net
>>55
要するに、10回西暦と年号の入力と出力を繰り返したいのか。
しかも西暦から年号の変換をプログラムでしないで手計算とかintにする必要も無い。
forの変数も問題からすると使わない。
(問題自体が学習者を混乱させるクソ問題)
ヒントは以下2つ
ヒント1
for i in range(10):
ヒント2
a = input()
print(“西暦” + a + “年“)
intじゃなきゃダメとか意味不明な事言って来たら、intにするなら西暦だけ入力にして年号は計算で出せやと文句垂れつつヒント2を以下に変更。
a = int(input())
print (“西暦”, a, “年“)
あくまでヒントだから、元にして自分で問題解いてね。

82:デフォルトの名無しさん
19/07/30 23:52:21.46 4WmgeffG.net
>>81
長文書く前に後のレス(>>61以降)にも目を通しておこうな。

83:デフォルトの名無しさん
19/07/30 23:53:01.50 0mrV0sDP.net
>>61
あ、勘違い。
最初の西暦と、そこから何年分を出力するかの年数を入力して、年号は計算して出すのか。
んじゃあ
a = int(input()) #西暦
b = int(input()) #年数
for i in range(b):
print(“西暦”, a + i, “年”)
みたいな感じでおk。

84:デフォルトの名無しさん
19/07/31 09:16:41.95 hRCYkJOA.net
初心者レベル2くらいかな

85:デフォルトの名無しさん
19/07/31 12:22:56.68 tr6QRH6+.net
授業でforの使い方をどの程度教えているかにも寄るからね。
for i in range(a,b):の形まで教えているなら

>>83 のforは
for i in range(a,a + b):
になるので年号計算の式を短く出来るけど、
その形を教えてないとxとか言われそうだしねぇ。。。

86:デフォルトの名無しさん
19/07/31 17:22:28.03 GkrfM7ax.net
URLリンク(i.imgur.com)
赤い数字が要素で黒文字は接点の番号です。
それぞれの要素に含まれる接点を自動で求めるコードを作っているのですが、なかなかできません。
結果が配列で出てくるようにしたいのですが、どうすればできるのでしょうか。
要素番号,接点番号1,接点番号2,接点番号3
1,1,4,5
2,1,2,5
3,2,5,6
のように作りたいです。
For文を要素の個数だけ回して、そこからができません。
お願いします。

87:デフォルトの名無しさん
19/07/31 17:27:06.69 +MN2Xkdt.net
等差数列やろ

88:デフォルトの名無しさん
19/07/31 17:52:19.54 /rYCzabe.net
>>> [(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))]

89:デフォルトの名無しさん
19/07/31 17:53:23.94 GkrfM7ax.net
座標を使えば上手くできる気もするのですが、上手くコードにできません。

90:デフォルトの名無しさん
19/07/31 17:58:51.92 vtX/RSGM.net
URLリンク(ideone.com)
たかがこの程度の問題でここまでするのもどうかと思うが

91:デフォルトの名無しさん
19/07/31 18:07:45.96 GkrfM7ax.net
ありがとうございました。
教えて頂いた式の意味をしっかりと理解します。

92:デフォルトの名無しさん
19/07/31 18:13:33.90 3lzQcoQt.net
>>86
こういうお話を一般化するとドロネー分割というのがあるから調べてみると幸せになれるかも知れない

93:デフォルトの名無しさん
19/07/31 18:53:04.66 6BPSvdm1.net
「ポリゴン 分割 アルゴリズム」で検索すれば?

94:デフォルトの名無しさん
19/07/31 19:32:49.68 w173sz60.net
URLリンク(ideone.com)
python よりも 問題の9割は数学的な難易度だ

95:デフォルトの名無しさん
19/07/31 21:26:45.90 GkrfM7ax.net
たびたび申し訳ございません。
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を読み込んでも、最後の行しか表示されません。
教えてください。

96:デフォルトの名無しさん
19/07/31 22:11:21.16 jouiHweD.net
>>95
>まとめてcsvを読み込んでも、最後の行しか表示されません
そのソースコードうp
うp先は>>1から選ぶよろし

97:デフォルトの名無しさん
19/07/31 22:24:12.22 GkrfM7ax.net
URLリンク(ideone.com)
とりあえず読み込めるようにはなりました。
ここからができません。
具体的に何をすればよいのかがわかりません。

98:デフォルトの名無しさん
19/07/31 23:44:43.90 w173sz60.net
>>95
余計な要素である番号と要素番号消しちゃえ

99:デフォルトの名無しさん
19/08/01 00:19:43.85 Nlg/+iAg.net
結果をどう持ちたいのか分らんけどこれでどう?
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)

100:デフォルトの名無しさん
19/08/01 00:22:27.40 WaJjQk0q.net
>>95
ネストするリストはこれで扱いが分かると思う
URLリンク(ideone.com)

101:デフォルトの名無しさん
19/08/01 11:01:22.72 vRty46fa.net
Pythonでdefの前にnumba.jitを書くと速くなるとありますが、これってVSCodeでも速くなるのでしょうか?
手元のVSCodeでjitの有りと無しを何度か比較してみましたが、
全く変わりませんでした。
URLリンク(qiita.com)

102:デフォルトの名無しさん
19/08/01 11:57:34.76 ll2IFwWp.net
JIT って、実行時に、ネイティブ機械語にコンパイルするやつか?
こういうのは、10~100万回以上ループしないと、起動されないだろ
ループ回数が少ないのに、コンパイルしたら、
コンパイル時間が掛かるから、かえって遅くなるから

103:デフォルトの名無しさん
19/08/01 12:17:28.05 vRty46fa.net
ループを万単位でやるような処理にしか効果が無いのですね。
Numpy配列を処理するのに数分~数時間かかるので、短縮出来たらって思っていたのですが、
ループが数十回程度では意味が無いと。

104:デフォルトの名無しさん
19/08/01 17:40:11.02 Mluowczb.net
iOSのPythonista3使ってるひといる?

105:デフォルトの名無しさん
19/08/01 18:24:07.46 OiOUYaaa.net
1000万ループぐらいが目安じゃないか。

106:デフォルトの名無しさん
19/08/01 20:59:56.59 SxGuvXM5.net
>>104


107:デフォルトの名無しさん
19/08/02 09:57:31.57 6a3UYtYQ.net
PythonistaとSiriで遊んでるけど正直やることない

108:デフォルトの名無しさん
19/08/02 10:39:26.09 JZxSnlpS.net
Pandasって癖強くない?
一次元配列作るにはpd.Series 二次元配列作るにはpd.DataFrame
要素を参照するときはdf.loc locつけないとdtypeとかまでくっついてくる
でもnumpyにはない機能があって便利 クセが強いんじゃあ

109:デフォルトの名無しさん
19/08/02 10:40:30.08 e58H0HHK.net
癖はあるけどそこまで強いとは思わない
(もっと酷いのがあるからね)
行指向と列指向の違いなだけ

110:デフォルトの名無しさん
19/08/02 10:42:47.06 AOnLXk6R.net
クセが強いのはむしろ matplotlib の方だと思う

111:102
19/08/02 11:48:11.80 G/LyK8vk.net
Ruby では、
JRuby(Java 実装系)のJIT は、百万回からコンパイルされる。
一千万回(実行時間で、1秒)では、なんと、MRI(C 実装系)よりも速くなる!

112:デフォルトの名無しさん
19/08/02 11:55:44.26 2UnKye9C.net
早さより美しさがpython
2->3 で遅くなった

113:デフォルトの名無しさん
19/08/02 13:23:49.11 pNfdvdEO.net
pandas で df.loc[x] のようにloc内に変数を入れるとエラーが出るのはなぜですか?
inputで数字を入れたいのですが、うまくいきません。

114:デフォルトの名無しさん
19/08/02 13:44:55.02 z8xg2/9P.net
コード全部貼って

115:デフォルトの名無しさん
19/08/02 15:24:58.03 8aCJW7PF.net
>>113
インデックス指定ならlocじゃなくてiloc

116:デフォルトの名無しさん
19/08/02 22:10:56.91 sFPuwMhI.net
matplotlibはメインフレーム時代の描画ライブラリを思いだしてしまう

117:デフォルトの名無しさん
19/08/02 23:38:19.91 z2PJQeJ8.net
組み合わせの問題で、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
のようにその実際の組み合わせパターンを出力させたいのです
よろしくお願いします

118:デフォルトの名無しさん
19/08/03 04:10:00.95 ICMqRxFR.net
10->5+5
5+5->5+(3+2)
5+3+2->5+2+2+1
で良いんじゃね

119:デフォルトの名無しさん
19/08/04 13:35:01.70 kKKVz9aw.net
>>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)

120:119
19/08/04 14:00:35.50 kKKVz9aw.net
>>117 1読んでなかった。こちらに貼りました https://ideone.com/ZULUmH



122:デフォルトの名無しさん
19/08/05 05:53:53.11 7PMYXnod.net
Pythonを勉強するならWindowsとMacのどちらが良いですか?

123:デフォルトの名無しさん
19/08/05 08:54:00.81 jXimdt0Y.net
Linux仮想マシンでやるのがいいけど
苦手なら持ってるマシンで適当にやればいい

124:デフォルトの名無しさん
19/08/05 11:12:01.58 NOA3rn3w.net
うbyなら絶対MacだがPythonならどっちでも良い

125:デフォルトの名無しさん
19/08/05 22:00:03.76 YLLjXt4U.net
何でpythonクラスには、privateが無いのよ!

126:デフォルトの名無しさん
19/08/05 22:26:29.97 RbDOK4UK.net
ここは開発者のお気持ちを予想するスレッドじゃないのでTwitterで直接聞いてこい

127:デフォルトの名無しさん
19/08/07 18:25:18.92 z9kpjDHf.net
そんな思い処理やってないはずなのに処理が重い
って時はどうやって測れば良いの?
処理時間てよりどれくらいメモリ使ってるかとかが知りたい
あとタスクマネージャで見たpython.exeのメモリ使用量が大きすぎて気になるけどこれ信用していいのかな…

128:デフォルトの名無しさん
19/08/07 19:38:41.63 QJETJeRx.net
python のプロファイラーなにがいいかな

129:デフォルトの名無しさん
19/08/08 11:36:02.41 FAqDS6zu.net
ターミナルで実行した時はメッセージを出すための処理をしたいけど、crontabで動かすときはメッセージは不要だからその処理は飛ばしたいです
どう書くんでしょうか?

130:デフォルトの名無しさん
19/08/08 11:39:38.50 YYsAu0ua.net
syslog

131:デフォルトの名無しさん
19/08/08 11:43:42.62 YYsAu0ua.net
URLリンク(docs.python.org)

132:デフォルトの名無しさん
19/08/08 11:44:23.26 YYsAu0ua.net
URLリンク(docs.python.org)

133:デフォルトの名無しさん
19/08/08 11:49:52.89 FAqDS6zu.net
どうもありがとうございます
なんだか難しそうですね
ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました

134:デフォルトの名無しさん
19/08/08 12:25:37.94 g3OLctgj.net
if sys.stdout.isatty(): print('hoge')

135:デフォルトの名無しさん
19/08/08 12:26:13.26 YYsAu0ua.net
>ターミナルかcrontabのどちらで起動させてるかをなんらかの方法で判断して、ifで分岐させればいいのかなーって思ってました
そうだよ
最初にif一回だけ書けばあとは切り替わるのがlogger
コードの至る所にif埋め込む積もりだったのか?

136:デフォルトの名無しさん
19/08/08 13:03:07.26 FAqDS6zu.net
>>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使う意味ないですか?

137:デフォルトの名無しさん
19/08/09 07:20:44.68 yhHNDqxR.net
pythonでGUI操作で、たとえばネットワーク接続設定で、IPアドレスを入力する欄
があると思うが、これを手入力でなくて、pythonで代わりに入力することは可能?
ソースコード的にはどうなるのかな。

138:デフォルトの名無しさん
19/08/09 07:41:26.45 err5h/zJ.net
Python (Python 3.7)のインタプリタで真偽値に色を付けることって可能ですか?
>>> l1 = [1, 2, 3, 4, 5]
>>> 3 in l1
True
↑このTrueを例えば緑色にしたいです。

139:デフォルトの名無しさん
19/08/09 07:46:58.18 mN7yEvAK.net
>>136
Windowsだと仮定してpywinautoってのがあるみたいだな
linuxなら設定ファイルいじった方が早かろう

140:デフォルトの名無しさん
19/08/09 11:42:06.57 VpFvSLvY.net
>>136
windows ならコマンドプロンプトから netsh 使え
それでうまく行ったら python からそれを実行汁

141:デフォルトの名無しさん
19/08/09 18:48:00.65 aNdhyhrS.net
windowsでPython動かす時、windowsにpythonインストールするのと、WSLのubuntuにpythonインストールするの�


142:ヌっちがいいんだろ rubyみたいにlinuxの環境にしておいたほうが無難かね



143:デフォルトの名無しさん
19/08/09 19:04:04.27 PkuMuXNC.net
安いラズパイ買ってそっちで動かす

144:デフォルトの名無しさん
19/08/09 19:20:36.55 X5pM/Zqg.net
やりたいことによる。
windowsのguiアプリ作りたいとかじゃなけりゃ後者でいいんじゃ

145:デフォルトの名無しさん
19/08/09 19:41:23.18 xKlD1Jxx.net
>>136
Sikuli
URLリンク(masuo.doorblog.jp)
ちょっと変わり種 👀
Rock54: Caution(BBR-MD5:f2c519fe5384e767e1c9e99abdcfc293)


146:デフォルトの名無しさん
19/08/09 19:59:23.36 3aE869ZA.net
winにwin版pythonインスコでいい。
pythonはシェアが大きいとわかってるwin版を凄く重視してる。
シェアが大きいとわかってるOSを軽んじる言語は衰退してくから。

147:デフォルトの名無しさん
19/08/09 20:03:47.89 OfLBByV9.net
WindowsユーザーをコケにしてPython にシェア取られて衰退したRubyの悪口はやめろ!

148:デフォルトの名無しさん
19/08/09 20:09:17.03 KwAFZJpP.net
WindowsでPythonはじめたけど便利なライブラリ多くて楽だわ
ライブラリ以外の7割くらいctypesで書いちゃってるが

149:デフォルトの名無しさん
19/08/09 21:17:05.70 BfiMWPAU.net
普段遣いのアプレット用にウィンドウズ版
WSLで作業するとき用にLinux版
というか、WSLでubuntu入れれば勝手に入ってた

150:デフォルトの名無しさん
19/08/10 04:44:51.18 kIaElDEP.net
>>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

151:デフォルトの名無しさん
19/08/10 14:18:02.72 oCD1GI3w.net
*.pywファイルでno consoleモードを実現できるので、
wsl使ってても、windows版pythonは外せない。
api呼び出せば、wshの代替ができる。
>>148
wsl(ubuntu)ではpython 2.7は入れてない(デフォルトでは入らない)ので、
python3をpythonで呼び出せるようにaliasを設定してる。

152:デフォルトの名無しさん
19/08/10 17:24:03.12 7w9C1BBu.net
>>142
136だが、ウインドウアプリを手動操作することをpythonにやらせたい。手動といっても同じことの繰り返しだから、このルーチンをpython にやらせて楽したい。

153:デフォルトの名無しさん
19/08/10 17:46:51.58 2yaF0wJx.net
>>150
  >>138
あるいはVectorとかでマウス&キーボード操作アプリを探せ

154:デフォルトの名無しさん
19/08/10 17:55:37.94 7w9C1BBu.net
>>151
僕がやろうとしていることはpython では不向きですか?率直なコメントを

155:デフォルトの名無しさん
19/08/10 18:00:00.83 C/8mgJdF.net
その用途ならロケットマウスかな

156:デフォルトの名無しさん
19/08/10 18:42:28.31 2yaF0wJx.net
>>152
できるが
ズブズブの初心者がそこまでできるようになるくらいなら
KMmacroの使い方覚える方がずっと短時間で済むぞ

157:デフォルトの名無しさん
19/08/10 18:43:10.77 2yaF0wJx.net
別にマシンスペックが足りないとか、そういう心配はない
向き不向きで言えば、Python自体が初心者にも優しい言語だし

158:デフォルトの名無しさん
19/08/10 18:53:29.94 9CKR34V+.net
pyautoguiでできる

159:デフォルトの名無しさん
19/08/10 19:52:13.98 RNHY21Oi.net
ちげーなー
わざわざこのスレに質問しにきてるってことは
潜在的にpythonをやりたいんだよ

160:デフォルトの名無しさん
19/08/10 21:03:32.62 Ivl2Mqui.net
>>152
向いてますよ
PythonはGUI操作もうまくできます
WindowsにおけるGUI操作基盤であるUIAutomationやWinapiをベースにしたラッパーパッケージが幾つかあります
AppiumでWinappdriverを活用する方法もあります
画像認識ベースのOSS Sikulixも有名ですね
ただ知っておいて欲しいことはGUI操作がうまくできるからといってそれが最も効率的なやり方とは限らないということです
多くの場合において同じ結果を得るためにGUIを使わない方法があります
Pythonから利用するならGUIを使わない方法の方がより効率的です

161:148
19/08/10 21:55:33.84 kIaElDEP.net
>>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系から脱却したのか

162:149
19/08/10 23:12:24.69 oCD1GI3w.net
>>159
誤解されたかもしれんが、
aliasがデフォで設定されているわけじゃないので、念の為。

163:148
19/08/10 23:22:23.28 kIaElDEP.net
漏れは、WSL, Ubuntu 16.04 だけど、
そろそろUbuntu 18.04 に変えようかなとも思っている
VSCode では、Remote WSL 機能をインストールしろと、さかんに勧めてくるw

164:デフォルトの名無しさん
19/08/12 22:08:35.11 amySWRMJ.net
>>148
Pythonで一番ユーザーの多いOSはWinだろうからな
Linux・OSXで超使われても、Winで超使われないと真のメジャー言語になれないだろうからな

165:デフォルトの名無しさん
19/08/15 17:15:50.79 YbJnuQN/.net
プログラム未経験者です。
下記の内容で詰まってしまったので教えてください。
(現状)
1.pythonで簡易webサーバーを起動。
python -m http.server --cgi8080
2.文字列を表示するアプリを作成してブラウザで実行。
(質問箇所)
・ブラウザに表示されるが日本語や全角文字は文字化する
・文字列を半角数字や英語のみにして試してみたら文字化せず表示される。
日本語や全角文字を文字化せずに表示させるにはどうしたらよいでしょうか?

166:デフォルトの名無しさん
19/08/15 17:28:49.36 1uawWTDf.net
>>163
まず
Pythonのバージョンと
使ってるパソコンのOSを述べよ

167:デフォルトの名無しさん
19/08/15 17:42:36.11 YbJnuQN/.net
>>164
python3.7.3
win10
です

168:デフォルトの名無しさん
19/08/15 17:44:51.59 YbJnuQN/.net
>>164
ブラウザでページ更新するとwindowspowershellには
CGI scripts exited OKと表示されます

169:デフォルトの名無しさん
19/08/15 18:02:56.16 yFzhilBd.net
文字化って、なんだ
「文字化け」と言いたいのか?

170:デフォルトの名無しさん
19/08/15 18:09:12.23 YbJnuQN/.net
すみません、文字化けです。
けが抜けてました

171:デフォルトの名無しさん
19/08/15 18:23:10.32 1uawWTDf.net
>>165-166 >>168
文字コードの宣言がないとブラウザが正しく日本語文字(2バイト文字)解釈できないんだろう
Python3系ならデフォルトはUTF-8なので
ブラウザに文字列を出したいのであれば
表示したい文字列より前、先頭に
htmlの文字コード宣言(UTF-8)を行う必要があると思われ
「html 文字コード UTF-8 宣言」あたりのキーワードでググれ

172:デフォルトの名無しさん
19/08/15 20:54:32.21 vSMMQ3Oa.net
>>169 そういうこったな。 Python には無関係。
<meta http-equiv="content-type" charset="utf-8">

173:デフォルトの名無しさん
19/08/15 21:38:28.26 M7t


174:Zx41p.net



175:デフォルトの名無しさん
19/08/15 21:55:55.01 1uawWTDf.net
>>170
おまいイイ!!(・∀・)ヤシ
>>171
IDコロコロ変わる環境のやつは
自分が何番の質問書いたやつなのか名乗らないと誰かわからないぞ
(今回はわかるが)
次から書けよ

176:デフォルトの名無しさん
19/08/17 13:26:05.20 aGGHXtlm.net
pylintの対処法
まず行が長いと怒られて、
行長減らすために処理を別行の変数に分割した、
そしたら変数が多いと怒られて、
変数減らすために場合分けで変数を使い分けるようにした、
そしたら文と枝分かれが多いと怒られた。
詰んだ。
無視するのは簡単だけどこの人に怒られないコードを書くにはどうすればいいのか。

177:デフォルトの名無しさん
19/08/17 13:28:58.21 aGGHXtlm.net
本当にむかつく。
変数名簡略化せず何の変数かすぐ分かる命名をとか言っといて、
長い変数名で行が長くなったらこの仕打ち、
許せない

178:デフォルトの名無しさん
19/08/17 13:34:48.61 Ei4AHYpx.net
標準ライブラリでいいから人が書いたコード読んでみたら
それか、ここで晒してもいいんじゃない

179:デフォルトの名無しさん
19/08/17 14:24:56.99 zoXV1BIi.net
標準ライブラリも怒られるものばかりだけどね

180:デフォルトの名無しさん
19/08/17 14:36:58.79 Ei4AHYpx.net
>>173見る限りそんなレベルじゃないでしょ
行の分割も知らないんだし
無駄に深いネストとか関数として書き出した方がいい部分とかもありそうだし
書き方知らずに規約に従おうとしてもストレス貯まるだけだと思う

181:デフォルトの名無しさん
19/08/17 15:14:36.17 zoXV1BIi.net
とりあえず、autopep8 を実行してみるのもいいかも
勝手に修正するのは自分の好みではないけど
pylintではなく、flake8を使ってる
この程度の指摘で十分だと思う

182:デフォルトの名無しさん
19/08/17 18:19:12.97 zUPT7dbd.net
頼まれてもいない(と思われる)linterを導入して怒られて腹立てるって何もメリットないなw

183:デフォルトの名無しさん
19/08/18 00:38:11.48 Jxhn0zz/.net
ipythonで以下のように入力するとき簡単に打つ方法はありますか?

('jack')
毎回括弧閉じや「''」を都度打っていますか?

184:デフォルトの名無しさん
19/08/18 00:46:13.16 mfXYjyR8.net
エディタによるだろ

185:デフォルトの名無しさん
19/08/18 00:55:24.73 Jxhn0zz/.net
>>180
エディタはAnaconda promptになります。

186:デフォルトの名無しさん
19/08/18 02:44:04.60 Onid3Fuw.net
ひょっとしてほしいものは snippet

187:デフォルトの名無しさん
19/08/18 02:57:22.58 FysLR+u/.net
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
hensu = 'Living'
api = "URLリンク(localhost:3001)
r = requests.get(api)
data = json.loads(r.text)
print(data)
こんな感じのJSONからdisplay_nameが変数のhensuに該当するzonesの一塊のみ取得する方法教えて欲しいです
URLリンク(ideone.com)

188:デフォルトの名無しさん
19/08/18 04:14:40.62 FysLR+u/.net
>>184
自己解決しました
多分forループで回してその中でifで探して見つかったらbreakかな?

189:デフォルトの名無しさん
19/08/18 04:59:14.97 tpkGnUoc.net
Python初心者です。
proxy.txtにプロキシリスト(形式は0.0.0.0:000のようになっています)があり、そのファイルからreadlinesで読み込ませて串を噛ませながらスクレイピングするコードを書いています。
readlinesで1行づつリストに格納しているのでproxy.txtを作成する時には\nを入れて串ごとに改行するようにしていました。
しかし、実際にやってみるとi="0.0.0.0:000\n"のようになっておりパースエラーと表示されます。
皆さんは串のファイルを作るときはどのような形式にしていますか?
また、今回のような状況でどのようにすれば改善されるのでしょうか。

190:デフォルトの名無しさん
19/08/18 05:06:13.27 r43EL8Fq.net
read().split("\n")

191:デフォルトの名無しさん
19/08/18 05:16:25.95 26pp6bRY.net
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"]

192:デフォルトの名無しさん
19/08/18 05:33:45.37 tpkGnUoc.net
>>187
ありがとう出来た

193:デフォルトの名無しさん
19/08/18 10:06:44.50 2AjfnEOA.net
>>173
lintを10割受けてたらバカになるから6割程度で受けるが吉

194:デフォルトの名無しさん
19/08/18 10:30:57.31 j410954h.net
うbyのchompって強烈な糞バグあるで

195:デフォルトの名無しさん
19/08/18 12:22:49.37 oSoDzxI+.net
gitのhookでlintでエラーがあったらコミットせないみたいな事をやってる所は少数派なのか

196:デフォルトの名無しさん
19/08/18 13:10:43.50 FysLR+u/.net
>>185
この続きです
スクリプトを動かすとネットワークプレーヤーで再生中の曲情報をターミナルに表示します
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
URLリンク(i.imgur.com)
まれに曲を変えるタイミングでスクリプトが落ちてしまいます
URLリンク(i.imgur.com)
37行目で落ちるので、38行目からのようにしてみたけどやっぱり落ちちゃいました
落ちないようにする方法はありますか?

197:デフォルトの名無しさん
19/08/18 13:17:49.17 FysLR+u/.net
>>193
自己解決しました
37行目でintに返還してたのをやめて、ifの中の39行目を追加したらうまくいきました
URLリンク(i.imgur.com)

198:デフォルトの名無しさん
19/08/18 16:53:18.61 0nN/LwEb.net
>>192
少数派っつーかごく一部の意識高い奴しかやってねえよ
Reactのリポジトリすらやってない

199:デフォルトの名無しさん
19/08/18 21:10:52.92 1iNtwV7Z.net
>>186
rstripってのもあるよ

200:デフォルトの名無しさん
19/08/20 20:00:14.61 Gkd3xMH4.net
>>195
その「意識高い」ってのは
マジで意識が高いのかそれとも「意識高い系」なのか……。

201:デフォルトの名無しさん
19/08/20 21:17:30.05 AoZjSCV7.net
一文字足すだけであら不思議!

202:デフォルトの名無しさん
19/08/21 00:44:14.26 jDiMObB6.net
文と文系は対して変わらん

203:デフォルトの名無しさん
19/08/21 07:08:42.46 plKhWM8d.net
python3でマルチスレッド処理をしたいです
def a(b):で作成した関数aをwhile無限ループ内で何度も繰り返したいです。
しかし、TypeError: a takes 1 positional argument but 18 were given(18のとこは15-20くらいで色々ある)
となってしまいます。
何がおかしいんでしょうか?
どうやったら治るか教えてください

204:デフォルトの名無しさん
19/08/21 07:31:33.39 G2PqedMK.net
>>200
その間違っているコードを示さないことには何が間違いか指摘しようがないぞ

205:デフォルトの名無しさん
19/08/21 07:33:57.94 plKhWM8d.net
>>201
threading.Thread(target=a,args=(b)).start()

206:デフォルトの名無しさん
19/08/21 09:35:34.95 INPmh9wc.net
argsにタプルを指定した気になってるようだけどタプルじゃないって奴だな

207:デフォルトの名無しさん
19/08/21 12:47:13.20 plKhWM8d.net
>>203
つまりどう直したらいいんでしょうか・・・
すみません

208:デフォルトの名無しさん
19/08/21 13:24:35.84 rtQcncog.net



209:https://docs.python.org/ja/3/tutorial/datastructures.html#tuples-and-sequences > 問題は 0 個または 1 個の項目からなるタプルの構築です。(中略) 一つの要素を持つタプルは、値の後ろにコンマを続ける (単一の値を丸括弧で囲むだけでは不十分です) ことで構築できます



210:デフォルトの名無しさん
19/08/21 13:24:46.58 2OErRBE5.net
>>204
  >>202

211:デフォルトの名無しさん
19/08/21 15:35:14.41 ur92HW83.net
threading.Thread(target=a,args=(b,)).start()
threading.Thread(target=a,args=((b,))).start()

212:デフォルトの名無しさん
19/08/21 15:37:24.39 2OErRBE5.net
横レスだけどなるほどなっとくした >>207 & >>205

213:デフォルトの名無しさん
19/08/21 19:53:15.36 vrRBM7oH.net
pythonも奥が深いな

214:デフォルトの名無しさん
19/08/22 12:09:15.94 5n19vLwe.net
一要素のタプルとかいう意味不明な物を許してるからこういう問題が存在するんじゃないの

215:デフォルトの名無しさん
19/08/22 12:38:18.50 +WLUVT0B.net
thread使ってるけど気にしたことないなぁって確認したらargs使ってなかったわ
引き渡すの全部Globalに入れちゃってるや

216:デフォルトの名無しさん
19/08/22 14:32:52.32 qSCycJ6B.net
a=10
b=a/2
print(b)
ってしたら、5.0ってなるねん
5ってしたいねん
どうやったらいいん?

217:デフォルトの名無しさん
19/08/22 14:35:51.73 OjO/vENV.net
>>212
print(b)
この部分を、
print(int(b))
とかじゃ整数にできんかね?

218:デフォルトの名無しさん
19/08/22 14:37:09.83 qSCycJ6B.net
>>213
できひんねん

219:デフォルトの名無しさん
19/08/22 14:38:20.20 OjO/vENV.net
>>214
じゃあ
a=int(10)
で最初に指定してあげるとかなら?

220:デフォルトの名無しさん
19/08/22 14:38:43.03 TnC8Wcje.net
5.0でええやんか

221:デフォルトの名無しさん
19/08/22 14:39:29.05 qSCycJ6B.net
>>213
あ、ごめん
出来たわ

222:デフォルトの名無しさん
19/08/22 14:39:59.01 qSCycJ6B.net
>>216
競プロでは不正解になるねん

223:デフォルトの名無しさん
19/08/22 14:40:36.08 OjO/vENV.net
>>217
いいよ
うんちぶりぶり!!
プログラミングなんてトライアンドエラー繰り返しだと思うしガンガレ

224:デフォルトの名無しさん
19/08/22 14:41:47.36 qSCycJ6B.net
>>219
おうよ!

225:デフォルトの名無しさん
19/08/22 14:42:42.91 vsttXPXA.net
ほんとはトライアルアンドエラーやぞ

226:デフォルトの名無しさん
19/08/22 14:50:01.50 qSCycJ6B.net
>>221
友達おらへんやろ?
なったろか?
さみしないか?

227:デフォルトの名無しさん
19/08/22 14:51:17.49 xQsiKIbM.net
b=a//2
または
print(f'{b:.0f}')

228:デフォルトの名無しさん
19/08/22 14:57:28.14 YHG3Udjg.net
教科書読んでドリル

229:デフォルトの名無しさん
19/08/22 15:09:06.86 vsttXPXA.net
>>222
トライは動詞、エラーは名詞だから
トライアンドエラーは間違い
精進しろよ?w

230:デフォルトの名無しさん
19/08/22 16:38:42.98 +sQNWHqe.net
>>212
python3からは勝手にfloatに変換されるので、intで閉じさせるならa//2とする

231:デフォルトの名無しさん
19/08/22 16:40:18.63 +sQNWHqe.net
tryは名詞の意味もあるぞ
辞書引け

232:デフォルトの名無しさん
19/08/22 17:11:06.84 vsttXPXA.net
>>227
これでいいかい?w
URLリンク(ejje.weblio.jp)
ついで。
「トライ・アンド・エラー」は間違い! 会議で使ってはいけない和製ビジネス英語
URLリンク(www.quicktranslate.com)
「トライ・アンド・エラー(試行錯誤)」は和製英語で、英語ネイティブは使わないのです。英語では、正しくは 「 trial and error (トライアル・アンド・エラー)」になります。

233:デフォルトの名無しさん
19/08/22 17:57:15.28 ewSTQs5i.net
カタカナで書いてる時点で和製英語にきまってるだろ
英語の文法とか何の関係もねーよ

234:デフォルトの名無しさん
19/08/22 18:01:49.82 bvtbd5/q.net
スマイル・シンデレラは間違い
スマイリング・シンデレラと呼ばなければならない
で、だからなに? って話だなw

235:デフォルトの名無しさん
19/08/22 18:31:51.10 k0K3XsJW.net
>>229
それ
りんごは英語でアップル
くらいの知能レベルの文

236:デフォルトの名無しさん
19/08/22 21:07:30.73 NZc4hO3L.net
和製英語禁止とか生活大変だろ

237:デフォルトの名無しさん
19/08/22 21:47:06.20 tsQp+M7t.net
例えば「エンバグ」は和製英語だが(その証拠に英英辞典には載っていない)
プログラマで使ったことないやつなんか10%もいないだろ

238:デフォルトの名無しさん
19/08/22 22:19:28.34 NtN1+LDS.net
VSCodeのPythonの型推論がクソ進化してる
もう型アノテーションいらないんじゃないかこれ

239:デフォルトの名無しさん
19/08/23 01:41:15.41 HCAwSO4F.net
URLリンク(www.p2pquake.net)
JSONっぽいけど、始まりが[で終わりが]になってる
reqests.getで取得したとして
この中のearthquakeの中のhypocenterの中のnameを取り出すにはどう書いたらいいですか?

240:デフォルトの名無しさん
19/08/23 05:33:37.30 s44pimIO.net
>>233
エンバグってなに?

241:デフォルトの名無しさん
19/08/23 06:42:20.26 N9EC0fnt.net
エンバグなんて使ったことない

242:デフォルトの名無しさん
19/08/23 06:59:13.46 oK3Cn5/Y.net
こないだテレビ見てたらカーボーイハットの男が叫んでた。

243:デフォルトの名無しさん
19/08/23 07:22:07.28 eFyFop4/.net
>>233
自分の常識が世間一般の常識と思い込むのイクナイ

244:デフォルトの名無しさん
19/08/23 07:34:27.45 W0iLWMiN.net
>>233
それ業界英語だからや
普通に英単語でもあるぞ enbug

245:デフォルトの名無しさん
19/08/23 07:36:51.29 W0iLWMiN.net
>>235
アクセス過多で業務妨害罪でタイーホ!
URLてきに、apiでとれるようになってるんだろうから
そこ用のapiの勉強しんしゃー

246:デフォルトの名無しさん
19/08/23 08:16:50.69 Mz9ZP4mp.net
enbug バグを仕込むこと(故意でなくても)

247:デフォルトの名無しさん
19/08/23 08:29:31.08 1dI4xuIA.net
>>236
バグを直したら違うところがバグった

248:デフォルトの名無しさん
19/08/23 08:32:19.37 Mz9ZP4mp.net
ていうか英語の接頭辞のニュアンスくらいマなら知っとるやろ

249:デフォルトの名無しさん
19/08/23 08:57:07.61 W0iLWMiN.net
>>244
おまえの常識
周囲の非常識

250:デフォルトの名無しさん
19/08/23 08:58:29.25 Mz9ZP4mp.net
エンクロージャって聞いて分からんマとかおりゅ?

251:デフォルトの名無しさん
19/08/23 09:22:50.85 5TcsxCJp.net
>>240
CollinsにもWebsterにもMacMillanにもODEにも載ってないのに「英単語」と言い張るのは無理がある
もちろんこれらの辞書はすべてdebugはコンピューター業界での用法も当然に収録している
これでも不満ならありとあらゆる英単語を載せているOEDを引けば答えがわかる
ちなみにenbug.orgにも「日本語由来」と(英語で)書いてある

252:デフォルトの名無しさん
19/08/23 09:24:16.55 5TcsxCJp.net
正確には「日本語圏でしか使われていない単語」か
要するに和製英語を一部の人間が英語に持ち込んでるだけで英単語ではない

253:デフォルトの名無しさん
19/08/23 11:28:23.12 LjhFqZ/B.net
英語の大先生は中央線に飛び込んで死んでね

254:デフォルトの名無しさん
19/08/23 11:29:14.67 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:デフォルトの名無しさん
19/08/23 12:24:51.70 s+6jWuTi.net
コードガールこれくしょんの問題8-4をやっているんですが、以下の回答のどこがダメなのか分からず先に進めません…;
かなり初歩的な質問で申し訳ないのですがどなたか教えていただけると助かります。
from random import randint
#1から10のランダムな整数を出力して下さい。
a=randint(1,10)
print(a)

256:デフォルトの名無しさん
19/08/23 12:50:55.60 GCcQKmFF.net
print(randint(1,10))
これをループして

257:デフォルトの名無しさん
19/08/23 12:51:13.89 MQdWPEng.net
>>251
randrange使うんじゃないの?知らんけどw

258:デフォルトの名無しさん
19/08/23 12:56:09.54 MRE+SfwO.net
揚げ足とるとそれだとランダムな整数が代入された変数を出力してるもんなぁ糞だけど

259:デフォルトの名無しさん
19/08/23 13:47:49.94 jgkDRT2h.net
>>250
issueが無いデータがあるからでしょ
if 'issue' in dd:
とかでキーが存在するか確認しろ

260:デフォルトの名無しさん
19/08/23 14:16:36.43 5TcsxCJp.net
>>251
ちょっとやってみたけど
『文字列「"sky"」を出力してください』で
print("sky")で蹴られるとか明らかになにかおかしいだろこれ

261:デフォルトの名無しさん
19/08/23 15:03:24.96 s+6jWuTi.net
251です。他のステージもプレイしてみましたが、以前は正解になった回答↓でも不正解になったので公式側に不具合が起きているのかもしれません;
時間を置いて再度試してみます。コメントありがとうございました。
#文字列「egg」を出力してください。
print("egg")
#10から2を引き算して出力してください。
print(10-2)

262:デフォルトの名無しさん
19/08/23 17:53:49.62 Zx6EO+xk.net
>>235
ここって今も更新されてるの?

263:デフォルトの名無しさん
19/08/23 22:34:52.86 bCjBZ45B.net
>>255
どうもありがとうございます
存在していないkeyでした
URLリンク(ideone.com)
これを実行すると
村上市 (2)
関川村 (1)
鶴岡市 (1)
な感じでプリントされますが、
村上市 (2), 関川村 (1), 鶴岡市 (1)
といったように、一行でプリントするにはどんな方法がありますか?
>>258
更新されているようです
Rubyでのサンプルページも作られていました
URLリンク(github.com)

264:デフォルトの名無しさん
19/08/23 22:40:04.86 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:デフォルトの名無しさん
19/08/23 23:03:35.92 VukiVfH6.net
format

266:デフォルトの名無しさん
19/08/23 23:57:42.43 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:デフォルトの名無しさん
19/08/24 01:12:22.32 feuvYzbT.net
l = ['{}({})'.format(p['addr'], scaleDic[str(p['scale'])]) for p in points]
print(', '.join(l))

268:デフォルトの名無しさん
19/08/24 09:12:37.87 +nNIwdjo.net
print(a+"("+s+")", end=",")じゃだめなんか知らんけど

269:デフォルトの名無しさん
19/08/24 09:28:04.44 fnGH5ITP.net
改行無しを多くつかうなら
def princ(x):print(x,end="")
で、end=""を少なくすると良いかも

270:デフォルトの名無しさん
19/08/24 09:51:52.05 BpytXyBE.net
これでお願いします
URLリンク(ideone.com)
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:デフォルトの名無しさん
19/08/24 10:57:17.18 6nD2xE5w.net
君のは無駄すぎる
print(', '.join(f"{p['addr']} ({scaleDic[p['scale']]})" for p in dd.get('points', [])))

272:デフォルトの名無しさん
19/08/24 11:06:04.31 xvjQRABf.net
後から湧いてきてエラそうなのが笑える

273:デフォルトの名無しさん
19/08/24 11:12:04.69 6nD2xE5w.net
あと scale 46 もあるな

274:デフォルトの名無しさん
19/08/24 11:17:47.27 6nD2xE5w.net
>>268
うびぃも後出しじゃんけんでperlをdisってるからな
他人の事は言えんやろ

275:デフォルトの名無しさん
19/08/24 11:49:43.27 c46ZB698.net
>>260 print(f'{a}({s})',end=', ')
一番最後にも , がつくのが少しうざいけど。
end= と言うのは print文の最後を改行の代わりに指定文字を出力して終わると言う意味だから、複数指定するのは間違い。

276:デフォルトの名無しさん
19/08/24 12:16:48.26 c46ZB698.net
>>259 >>266 scaleDic のキーは、str ではなくて、数字じゃ無いとダメだろ。
これで良い筈。
URLリンク(ideone.com)

277:デフォルトの名無しさん
19/08/24 12:46:52.13 feuvYzbT.net
揚げ足取りばっかりだなw

278:デフォルトの名無しさん
19/08/24 12:54:31.62 SB9VKIDg.net
>>263
どうもありがとうございます!
l = [f'{p["addr"]} (震度{scaleDic[str(p["scale"])]})' for p in points]
ll =', '.join(l)
print(ll)
f'に置き換えても動きました!
>>264
>>265
どうもありがとうございます!
これらも確認してみます!

279:デフォルトの名無しさん
19/08/24 12:54:42.98 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:デフォルトの名無しさん
19/08/24 12:56:04.04 SB9VKIDg.net
>>266
>>267
>>271
>>272
ありがとうございます
レス頂いた内容�


281:ミとつひとつきちんと試してみます



282:デフォルトの名無しさん
19/08/24 13:15:05.15 cyI4/KcP.net
pp = ['{}({})'.format(i[0],i[1]) for i in prefsSorted]
print(', '.join(pp))

283:デフォルトの名無しさん
19/08/24 13:29:52.26 SB9VKIDg.net
連投すみません
>>264
>>265
>>271
これ(>>260) に対するendの使い方が分かりました
>>265
短いけれど内容難しいです

284:デフォルトの名無しさん
19/08/24 13:30:03.13 SB9VKIDg.net
>>266
formatの対象を別変数に入れたり、printでsepを使う時にアスタリスクが使える事が参考になりました
>>267
これ (>>263) をさらにコンパクトにしたってことなんですね
>>272
なるほど
scaleDicのkeyをstrじゃなくintにすればよかったんですね

285:デフォルトの名無しさん
19/08/24 13:43:44.40 SB9VKIDg.net
>>277
どうもありがとうございます!
formatでいけるんですね
じっくり調べてみます

286:デフォルトの名無しさん
19/08/24 14:14:17.12 SB9VKIDg.net
書き直しました
URLリンク(ideone.com)
pの中のscaleが空っぽの場合エラーになってしまうので、25~26行目ようにifを使いました
一応これで動いてるっぽいんですが、やり方あってますか?

287:デフォルトの名無しさん
19/08/24 14:54:59.05 SB9VKIDg.net
教えていただいたおかげで、Rubyでのサンプル(URLリンク(github.com))の実行結果のようにPythonでも表示できるようにしてみました。
引数有り無しで何分前までの情報を表示するか選べるようにしました。
ただ、時間指定するか件数指定するかで迷っています。
サンプルは100行ほどで治まっているけれど、自分のは1.5倍もあるのできっと無駄だらけ(特にmain関数内のインデント)なんだろうと思いました。
URLリンク(ideone.com)
URLリンク(i.imgur.com)

288:デフォルトの名無しさん
19/08/24 15:01:22.44 u2q8uNB0.net
>>281
p['scale']
の代わりに
p.get('scale', 0)
としてscaleDict[0]のところに'不定'など入れるべき

289:デフォルトの名無しさん
19/08/24 16:05:24.01 c46ZB698.net
>>281 24行目
scale = dic.get(k, “不明”)

290:デフォルトの名無しさん
19/08/24 21:07:21.79 SB9VKIDg.net
>>283
>>284
どうもありがとうございます
辞書を.getで使う事は知っていたけれど,で区切って代入したいものを書けば見つからない場合にそれが代入されるんですね
25~26行目も不用になりました
勉強になりました

291:デフォルトの名無しさん
19/08/24 21:08:53.62 SB9VKIDg.net
>見つからない場合に
じゃなくて代入するべきkeyが無い場合
ですね

292:デフォルトの名無しさん
19/08/24 22:27:37.43 ZFPgn961.net
>>9
かなり遅れましたがあざーす!!!!!!

293:デフォルトの名無しさん
19/08/24 23:47:57.43 dA7WdXyV.net
Ruby には、式展開がある
文字列内の#{ } 内に、変数・リテラルなどの式を書くと、
式を評価してから、文字列に変換する
文字列に変換する際、Object#to_s が呼ばれる
a = 1
p "答え : #{ a + 2 }"
#=> "答え : 3"
こうやって簡単に、可読性が高いプログラミングができるから、Rubyは初心者向け。
Python では、こんなに簡単に書けないから、ものすごい時間を浪費するw

294:デフォルトの名無しさん
19/08/25 00:22:10.20 YrUvuEmX.net
これは恥ずかしい

295:デフォルトの名無しさん
19/08/25 00:24:20.23 9mosJQ5t.net
>>288
Rubyくん
Python3.6からf-stringが導入されたからできるよ
精進したまえ

296:デフォルトの名無しさん
19/08/25 00:45:52.85 xUfkLqmE.net
a = 1
print(f'答え: {a + 2}')
答え : 3

297:デフォルトの名無しさん
19/08/25 00:50:05.77 xUfkLqmE.net
>>291
自分はこのやり方しか知らない
3.6以前や2の時代はどう書いてたんですか?

298:デフォルトの名無しさん
19/08/25 00:52:43.33 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:デフォルトの名無しさん
19/08/25 00:55:00.62 zdoVOlQu.net
>>292
print'答え:'+str(a+2)
とか。

300:デフォルトの名無しさん
19/08/25 01:59:09.84 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:デフォルトの名無しさん
19/08/25 10:40:17.72 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:デフォルトの名無しさん
19/08/25 12:25:51.97 QmQLbs5R.net
自分が使ってる参考書の尼レビューに「小学生向け」とか書かれるとあまりいい気がしないね
別に子ども用の記載ないのに(´・ω・`)

303:デフォルトの名無しさん
19/08/25 13:08:55.31 x+sDslFz.net
>>297
逆に考えるんだ
最近の小学生は大人顔負けで凄いぞ

304:デフォルトの名無しさん
19/08/25 13:26:35.76 QmQLbs5R.net
>>298
愚痴こぼしてすまん。
初心者のくせに変なプライドが出てしまったようだ
小学生に追いつけるようにがんばる(´・ω・`)

305:デフォルトの名無しさん
19/08/25 13:35:45.25 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:デフォルトの名無しさん
19/08/25 15:59:49.84 p1Bsh7TM.net
クラスstudentがあったとして
そのstudentの集合からなるクラスstudentsを作って
各科目ごとの全studentの点数を出すメソッドをstudentsに作りたいんだけど可能です?

307:デフォルトの名無しさん
19/08/25 17:50:32.59 x+sDslFz.net
>>301
もちろん可能だけども、学校の課題でなければpandasでデータフレーム使うかな

308:デフォルトの名無しさん
19/08/25 18:09:34.72 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:デフォルトの名無しさん
19/08/25 19:15:24.57 x+sDslFz.net
>>301
一応書いてみた
URLリンク(ideone.com)
なおpandasを使うと
URLリンク(ideone.com)

310:デフォルトの名無しさん
19/08/25 21:14:15.88 huYbmweG.net
>>304
ありがとうございます!
そんな感じにappend出来るのですね。

311:デフォルトの名無しさん
19/08/26 13:09:21.76 FeBLI/8u.net
uwscのCHKIMGXのように裏画面であいまい画像検索できるようなライブラリがあれば教えていただけませんか?

312:デフォルトの名無しさん
19/08/26 13:37:33.83 D4IbCpMk.net
裏画面ってなに?

313:デフォルトの名無しさん
19/08/26 13:41:07.73 FeBLI/8u.net
すいません正式な用語がわからなくて…
デスクトップ上で、他のソフトウェアがかぶさっていて前面に表示されていない状態です

314:デフォルトの名無しさん
19/08/26 15:42:44.48 T


315:0vtMl8v.net



316:デフォルトの名無しさん
19/08/26 18:34:09.43 ezzRX+ou.net
あいまい画像検索ってなんだよまず
調べてもuwsc関連しかヒットしねぇぞ

317:デフォルトの名無しさん
19/08/26 18:38:33.49 ezzRX+ou.net
多分テンプレートマッチングの亜種だと仮定するとopencvで出来るだろどうせ

318:デフォルトの名無しさん
19/08/26 20:24:16.00 kxe7GuLs.net
俺の少ない知識ではWindows10の隠れた画面のキャプチャは出来なかったと思うので、一旦画面を前に持ってくる必要がある
パッケージはwin32guiでSetWindowPosん使ってHWND_TOPMOSTメッセージを投げ込めば良い
隠れた部分がDirectXやUWPなら多分隠れたままでもキャプチャできるんだろうが、そうなると今度はPythonからどこまで操作できるかという別の問題にぶつかる

319:デフォルトの名無しさん
19/08/26 20:33:02.20 jRCgz8sh.net
隠れててもwindowハンドルからdc取得すりゃできるよ
デスクトップのハンドルだとウィンドウ全部合成後の拾ってくるから無理だけど

320:デフォルトの名無しさん
19/08/26 20:38:27.65 kxe7GuLs.net
>>313
昔はそれでできた
今はできなかったと思う
試しにFindWindowでhandle取得してCreateDCFromHandleでデバイスコンテキスト取得してみたがウインドウサイズそのままに真っ黒になった
Windows Insider版だから自分の環境がおかしい可能性はある

321:デフォルトの名無しさん
19/08/26 20:45:07.64 jRCgz8sh.net
今もできるよ
俺作ったやつは後ろの普通に取れてる
アプリによっては無理なのあるけど

322:デフォルトの名無しさん
19/08/26 21:09:38.48 4zDPkHol.net
>>306
裏画面に存在するのは被検索対象なのかテンプレートなのか
被検索対象とテンプレートのソースは何なのか(ブラウザ等の外部アプリの画面なのか、画像ファイルなのか等)
最低限これくらい書いたらどう
uwscが一般に知られてる前提で書きすぎ

323:デフォルトの名無しさん
19/08/26 21:20:54.88 kxe7GuLs.net
>>315
あぁ、分かった
色々試して出来るもの、出来ないものがあった
出来ないのは電卓とかUWPっぽい
UWPはスクリーンショット取れる別の関数がC#にはあったがPythonはなさげ
質問者のアプリがUWPでないことを祈ろう

324:306
19/08/26 21:32:01.93 FeBLI/8u.net
おっしゃる通りでしたすいません。
あいまい画像検索は、対象とする画面内に用意した画像と似たものが存在するかチェックするもので、検索した感じテンプレートマッチングと呼ばれるもののようです。
裏画面に存在するのは被検索対象で、テンプレートは自分で用意した画像です。
被検索対象はNoxというAndroidエミュレータで、テンプレート画像に近い画像が何度出てきたか記録して統計を取りたいです。
とりあえずopencvを調べてみますね。

325:デフォルトの名無しさん
19/08/26 23:44:15.71 z3tBqxBg.net
OpenCVでChkImgみたいなパターンマッチングは出来てるよ
電卓とかBlueStacksのInactiveCaptureはEnumChildWindows使えばいけるけどNoxならFindWindowとか適当でいい

326:デフォルトの名無しさん
19/08/26 23:54:17.96 z3tBqxBg.net
result = cv2.matchTemplate(img, temp, cv2.TM_CCOEFF_NORMED)
loc = np.where(result >= threshol


327:d - 0.5) あいまい検索はマッチングのしきい値を下げちゃえばいい



328:デフォルトの名無しさん
19/08/26 23:57:37.30 3MH0/bES.net
くだすれだし作ってみた
URLリンク(ideone.com)

329:デフォルトの名無しさん
19/08/27 09:13:31.51 dKxQp684.net
Djangoなんですが
{ % block % }と{ % include %}って使い分けることはありますか?

330:デフォルトの名無しさん
19/08/27 09:55:16.84 NZJyfwBK.net
>>314
コピー取ってから使えばいける

331:デフォルトの名無しさん
19/08/27 09:57:13.92 NZJyfwBK.net
>>320-321
タイトルの判らないAVの一部から女優さんの名前を見つけられますか?

332:デフォルトの名無しさん
19/08/27 10:19:42.84 UnKHEyOz.net
>>324
タイトルをミロ

333:デフォルトの名無しさん
19/08/27 12:06:26.87 nDtSA2WaA
>>324
ここにアップするのが一番早かったりして

334:デフォルトの名無しさん
19/08/27 12:45:02.61 owUnbF5z.net
htmlソース内でpythonスクリプト走らせてopencvのnamedwindowをWebページに埋め込むにはどうすれば良いですく?

335:デフォルトの名無しさん
19/08/27 13:08:56.64 WKOTCfnh.net
不可能だからどうもしなくていい

336:デフォルトの名無しさん
19/08/27 14:55:45.86 NZJyfwBK.net
brython用のOpenCVがあるのか

337:デフォルトの名無しさん
19/08/27 15:02:21.94 0y2hrVQp.net
URLリンク(stackoverflow.com)

338:デフォルトの名無しさん
19/08/27 17:59:15.17 rVwEX92D.net
htmlは詳しくないけどwindow埋め込むくらい簡単そうなもんだけどな
意外と融通効かないんだなぁ

339:デフォルトの名無しさん
19/08/27 18:37:07.57 C05UoPxM.net
融通効かせられるようにするとすぐ脆弱性になって悪いことする奴が出てくるからな

340:デフォルトの名無しさん
19/08/27 18:59:56.54 f97PnpIj.net
>>331
ウェブサーバを用意してhtmlとpythonスクリプトを分けた上でサーバにアップロードして、分けたpythonプログラムをcgiのようにサーバサイドの処理で画像を作る方法なら簡単だよ
サーバレスでファイル一つで全部やりたい場合、HTML内にpythonを直接埋め込んでも動かないので、JavaScript経由で包み込んだbrythonを使うことになり、これがOpenCVを扱えない
text/pythonをnativeでサポートするブラウザが出てくるとは思えないので、普通の人はサーバを用意して分けるか、JavaScriptを使う
OpenCV.jsも癖が強いので使う人はあまりいない

341:デフォルトの名無しさん
19/08/27 19:14:12.08 npYReI5G.net
>>JavaScript経由で包み込んだbrythonを使うことになり
おいおい、クライアントサイドjavascriptでそんなこと出来るようになったのか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch