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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2019/02/04(月) 21:22:10.08ID:9MrdxUVg
★当スレにRubyのソースコード類を書くことを禁ず
☆Ruby等、Pythonではないプログラミング言語での回答類を書くことも禁ず

このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

エラーを解決したいときはエラー表示や環境(バージョン/IDEまたはcommand line/OS)を略さずに書き込んで下さい。
騙りが頻発しています。質問する方は一時的なトリップをつけることを検討して下さい。
次スレは >>985 辺りで

前スレ
くだすれPython(超初心者用) その40
http://mevius.5ch.net/test/read.cgi/tech/1542874174/


◆PythonのHome Page
http://www.python.org/

◆まとめwiki
ttp://python.rdy.jp/

◆Pythonのソースコードをそのまま5ちゃんにコピペすると
  インデントが崩れるので
  こういうところ↓にはってきてください
ttp://ideone.com/      Pythonするにはぷち手間あるのがめんどうかなぁ
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数を長めに指定しる。
ttps://jupyter.org/try    (旧try.jupyter.org)ちょっとめんどうそう
ttps://ja.osdn.net/pastebin/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
420デフォルトの名無しさん
垢版 |
2019/02/28(木) 20:32:02.62ID:SMvRd1sf
map(int, input.split())
2019/02/28(木) 20:32:12.00ID:mQj8H4X5
>>418

入力は必ず5データぶんなのか?
ループ使って書いてるほうほう、それだと長いデータきたさいに対応できなくないか
422418
垢版 |
2019/02/28(木) 20:35:59.31ID:iWcjMiIh
>>421
とりあえす5個でお願いします。5個以上も対応可能でも良いです。
2019/02/28(木) 20:37:14.95ID:mQj8H4X5
>>420がイイ(・∀・)  >>422
424418
垢版 |
2019/02/28(木) 20:50:36.95ID:iWcjMiIh
>>420
mapって初めて知ったけど柔軟に対応出来るんですね
内包記述だと未だ変換の流れが理解できないです もうちょい頑張ってみます
ありがとうございました  
2019/02/28(木) 20:53:26.78ID:KtyAfxmO
自分も超初心者なので練習

x='1 2 3 4 5'

m=map(int, x.split())

print(x)
print(x.split())
print(list(m))

# 1 2 3 4 5
# ['1', '2', '3', '4', '5']
# [1, 2, 3, 4, 5]
2019/02/28(木) 20:57:13.41ID:mQj8H4X5
>>419>>416
2019/02/28(木) 21:46:53.78ID:2bTQVOdg
なぜ for x in イテラブル とせず for x in range(n) でインデックスを取ろうとするのかがわからない
宗教上の理由でもあるのか
2019/02/28(木) 21:54:52.10ID:aNlcuW5k
>>426
ボタンはなんとかなりそうですけど入力欄から文字拾って指定した数ランダム出力が大変そう、、
頑張ってみます
429デフォルトの名無しさん
垢版 |
2019/02/28(木) 22:45:24.44ID:q6d6kpjr
python3でmapがジェネレータ返すようになったの未だに慣れない
2019/02/28(木) 22:56:22.40ID:DbAr3TBt
python2のほうがプログラミング自体の初心者には分かりやすかったよな
2019/02/28(木) 23:54:03.99ID:/+wdq6fK
>>427
イテラブルを知らないからだろ(当然イテラブルであるための条件も知らない)
Pythonはclassを使ったオブジェクト指向言語だけど
でも、はじめからclassを作ってあーだこーだではなくC言語のように使うんだと最初教え込まれるからな。
C#やjavaのようにhello worldを表示するにもclassが出てくるんではなく
Cようにprint(...)ではクラスへの道のりは遠く、で、イテラブルなクラスは
超絶な遠さのところにある感じだからな。
と言うことで、初心者はCのようにfor x in range(n)にしてやるんだぞと教え込まれる。
クラスへまでの道のりは遠いから超初心者スレではクラスの質問はほとんど出ない
2019/03/01(金) 01:29:34.36ID:VzgI02J9
>>425
自分も超初心者であります!
頑張りまっす!!
2019/03/01(金) 01:37:09.00ID:KH61c5UP
関数がオブジェクトなのは比較的こんなのでも実感できるのでは?

p = print

p(‘Hello World’)

# Hello World
2019/03/01(金) 02:18:07.97ID:8KTg+fim
インデックスでアクセスしようがイテラブルの参照でアクセスしようがプログラマの勝手だと思うけどな
Python自体文法の制約でプログラマに自由を与えない思想だから、ルールの押しつけはしょうがないとも思うけど
正直インデントの制約は正気の沙汰とは思えないけどな
2019/03/01(金) 03:20:06.33ID:hj2Lx6Rs
なら正気の沙汰の言語のスレに行けばいいものを
2019/03/01(金) 07:00:47.58ID:OviG+/BX
プログラミング言語の設計をしようとする時点で脳のどこかに欠陥を抱えている
正気の沙汰の言語などない
2019/03/01(金) 07:05:12.14ID:GYGnZVsf
つーかrangeってiterableなんだけど知らないのか?
2019/03/01(金) 09:21:38.59ID:VWbcPJmE
それなw
2019/03/01(金) 10:16:21.42ID:wtu2VuQe
さっき初めてPythonのコードを見た初心者なんですが、コピペでインデントずれたら中身読んで手動でインデント直すしかありませんか?
2019/03/01(金) 11:50:19.46ID:RkKCNcIA
>>439 自分のソースの中に他人のソースをコピーするような場合?
それしかない。 
2019/03/01(金) 11:57:42.41ID:oRvPnA6O
インデントがずれないようにコピペする
2019/03/01(金) 12:35:18.99ID:aHTh+udf
shift+tab
443デフォルトの名無しさん
垢版 |
2019/03/01(金) 13:19:46.04ID:ozM8zBQ9
2ちゃんのスペース表示仕様まで変えてしまった言語がPythonである
2019/03/01(金) 16:55:36.37ID:KMRxw/mf
スペースを短くする一括変換の方が早いと思うな。 特にいやらしいのはタブ記号の混在。最初にタブが入ってたらスペースに変換。
2019/03/01(金) 19:24:25.32ID:GYGnZVsf
だからインデントもまともにできない初心者はpycharm使っておけって
ズレてたら教えてくれるから
2019/03/01(金) 21:29:48.58ID:5XyBzD+m
誰がずらだコラァ
2019/03/01(金) 22:18:46.58ID:8KTg+fim
生え際がシンタックスエラー
2019/03/01(金) 23:35:13.62ID:hJuXK+uz
>>447
つ 座布団一枚
2019/03/02(土) 01:41:54.42ID:0Z7GU3hQ
>>445
インデントすらまともにできない奴はプログラミングは無理だから
別なことをしろだろ
2019/03/02(土) 09:15:34.90ID:c+fDdYHP
pythonのソースコードをフォーマットするのには、みんなautopep8を使ってるのかね
2019/03/02(土) 10:09:48.63ID:xbKWWazw
ほうほう
俺ちゃんはそんなものしらないので
秀丸とsakuraエディタで手作りです
452デフォルトの名無しさん
垢版 |
2019/03/02(土) 11:49:49.14ID:nqwTLRnH
インデントした区間が終わって一段元に戻るとき
テキストファイルのソースだと空行無くても大丈夫なのに
インタプリタとかIDEのときは空行入れないといけないのが不満
(理由は判るけど)
これなんともならんのかね
2019/03/02(土) 11:54:02.70ID:og4HVKiE
>>450 便利そうだな。 入れないと損なのか。
https://githubja.com/hhatto/autopep8
2019/03/02(土) 13:44:48.85ID:A7lhNiPK
PyConだかで取ってたアンケではyapfが大半だったと思う
次いでautopep8とBlack
2019/03/02(土) 15:03:01.69ID:R507/Kbo
>>454
https://github.com/IBM/yaps/blob/master/README.md
ここをみて pip install yaps は出来たが、使い方が今一解らん。
2019/03/02(土) 15:07:05.06ID:R507/Kbo
>>455 悪い悪い、yapf だったね。 シェルコマンドとしてのコンバータとして動くのか。
2019/03/02(土) 15:10:35.42ID:R507/Kbo
eclipse などのIDEだと入力中に自動整形してくれるのかな。
458デフォルトの名無しさん
垢版 |
2019/03/02(土) 17:33:58.54ID:qdo3sOAM
>>449
sexか?
459デフォルトの名無しさん
垢版 |
2019/03/02(土) 21:35:47.51ID:la2Rs48k
pythonista3を買ってみたけど文字打ったり補完した後に文字打とうとしたら上書きされたりする
描きにくすぎて辛い
2019/03/02(土) 21:39:59.70ID:zLUw08oC
>>450
flake使ってる
2019/03/02(土) 23:00:34.12ID:yB7kTQ7C
flakeもフォーマット機能あるんか
linterだと思ってた
2019/03/03(日) 01:13:01.16ID:vKWKyL5A
>>459 意味不明。 print() が出た後に() の中にカーソルは残ってるから描きやすいと思うけどな。
‘’ を出しても中にカーソルはあるし。 どんな場合?

文字が小さいから特定の文字を訂正したりとか言うときはなかなかカーソル位置を合わせるのがうまくいかないことはあるけどそれはスマホの宿命。 画面が拡大出来ると良いと思うけどな。
2019/03/03(日) 01:19:51.31ID:ffCrW6pd
tkinterをいじっていて入力ボックスの文字を
command = lambda:test_fanction(txt.get()))で取って
def test_fanction(txt):
 print(random.choice(txt))でランダム一文字ずつだせたはいいんですが
ボックス内の文字を一文字ではなく指定したn文字数ランダムに取り出す
というのとthinker内でそのn文字も指定できるようにしたいということで悩んでます
お力添え願えませんか?
2019/03/03(日) 01:31:12.61ID:vKWKyL5A
pythonista の中に reformat としてPEP8 が入ってるのに今気づいた。
しかし、PEP8にしろ、yapf にしろ、空白3個と空白4個の混在の場合エラーを出すだけで自動で修正してくれないんだな。
タブサイズは自動的に変更してくれるけど。
465デフォルトの名無しさん
垢版 |
2019/03/03(日) 03:05:14.33ID:YqozNVoh
>>462
例えばpと打ったら補完機能で上にprint()とでるじゃないですか?
そのprint()を押したら何故かpのとこにカーソルがあってそのままaを押したらpがaに変わってarintになるんです。
そこにカーソルがあると次候補や開業も押せない
2019/03/03(日) 04:47:35.44ID:vKWKyL5A
>>465 そうはならないけどな。() の中にカーソルは来るよ。
壊れてるんじゃないの、消して再ダウンロードしてみたら?
467デフォルトの名無しさん
垢版 |
2019/03/03(日) 08:56:14.39ID:RP7OXEaJ
)))が3つ以上連なると見にくいから)) )にしたりするな、もちろん見にくさによるけど
慣習より読みやすさ
2019/03/03(日) 09:06:35.38ID:R+BaZbTo
>>463
def test_fanction(txt):
  ここにnを指定してるボックスからnを取得する命令を書け
  n = int(n)
  txt = ''
  for i in range(n):
    txt += random.choice(txt)
  print(txt)

あと、どーでもいいことだが、
(txt.get()))
      ↑ここのとじかっこ一つ余計
2019/03/03(日) 09:07:38.78ID:uQiZZFNH
というか素人スギ
2019/03/03(日) 09:07:55.13ID:uQiZZFNH
fanation w
2019/03/03(日) 09:09:26.05ID:R+BaZbTo
>>468
おおう
txtがゲシュタルト崩壊しとった
訂正

def test_fanction(txt):
  ここにnを指定してるボックスからnを取得する命令を書け
  n = int(n)
  hoge = ''
  for i in range(n):
    hoge += random.choice(txt)
  print(hoge)

より望ましくは、hogeはcharactarsみたいな、意味を持つ語にしてやってくれ
2019/03/03(日) 09:11:11.71ID:R+BaZbTo
>>469
スレタイを読んでから
美しいお手本回答を見せてくれ
2019/03/03(日) 09:27:27.29ID:uQiZZFNH
>>472
イヤどす
2019/03/03(日) 09:36:06.45ID:R+BaZbTo
じゃあ
とりあえず
しゃぶれよ
2019/03/03(日) 10:06:47.90ID:uQiZZFNH
>>474
しゃぶるくらい別にいいけどさ
言っておくがそれセクハラだぞ
2019/03/03(日) 10:12:44.52ID:R+BaZbTo
>>475
いいんだw

「とりあえずしゃぶれよ」は5chのお約束ヤジの一つだわな
現実で言ったらたしかにやばいw
2019/03/03(日) 10:23:46.84ID:uQiZZFNH
>>476
確かにやばいw
が、別にいいんだぜ
2019/03/03(日) 10:26:05.53ID:R+BaZbTo
>>477
じゃあ
ケツ貸せよ は・・・? (・∀・)ドキドキ!
2019/03/03(日) 10:28:10.10ID:uQiZZFNH
>>478
それだけは断る!
断じてことわる!!
2019/03/03(日) 10:28:50.13ID:R+BaZbTo
>>479
だめかー
・・・・・・もしかして→ (´・ω・`)ぢぬし?
2019/03/03(日) 12:07:09.41ID:CoMPR6UA
>>471
ありがとう御座います
あれからn取得用入力ボックスを作って色々やっていたのですが、test_fanction内でn取得までできるのですか?乞食で申し訳ないのですが書き方を教えて貰っても大丈夫でしょうか?
2019/03/03(日) 12:41:36.16ID:CoMPR6UA
>>481
連投すいません
自分が考えた事はn取得ボックスsuを作って取得ボックスボタンを作り新しく
def suji_fauction(su):を作ってそこに最初と同じくボタンcommand=lambda:suji(su.get())でnをどうにかしてからtest_fanctionに持って行って取ったtxtからランダムn個抜き出すという事でしたが、どうにかするがどうにもならなかったです 見苦しい長文失礼しました
2019/03/03(日) 12:51:44.12ID:pC3Iiu0Z
入力されるデータが 1ならx = int(input())いけるんですが
1 1 1とかの時はx = input().split()で毎回使うときにint(x)するしかないのですか
2019/03/03(日) 13:12:36.69ID:R+BaZbTo
>>481-482
「ここにnを指定してるボックスからnを取得する命令を書け」の行に
インデントに注意して
n = su.get()
って書いて桶
2019/03/03(日) 13:13:49.16ID:R+BaZbTo
>>483
 >>420がイイ(・∀・)こといってるぞ
2019/03/03(日) 13:52:46.99ID:TIqzUsNF
>>420がどうでもイイ(・∀・)  >>422
2019/03/03(日) 13:53:53.23ID:CoMPR6UA
>>484
ありがとうございますできました
頭良いとこんなにあっさり簡単な書き方でやるんですね、、
2019/03/03(日) 14:01:22.48ID:R+BaZbTo
>>487
できてなにより

Tkinterの .get()についてのとことかもうちょいよくよんだほうがいいとおもうぞ
2019/03/03(日) 15:05:14.48ID:Mep2BbSH
>>488
defの使い方も怪しいので.get()と合わせて読んでみます
勉強させて頂きました
2019/03/03(日) 15:20:36.94ID:R+BaZbTo
>>489
はーい (・ω・)ノ
2019/03/03(日) 19:50:54.96ID:VNvwXmTw
ひろゆきもpythonやってるらしい。
2019/03/03(日) 19:51:23.37ID:TIqzUsNF
あいつにできるのかよw
2019/03/03(日) 20:12:32.61ID:dhbLYAZm
perlを相当使ってたみたいだからpythonくらい余裕でしょう
2019/03/03(日) 20:30:57.29ID:VNvwXmTw
>>492
三日で習得して、awsの履修証明賞もらったから相当覚えいいと思う。
2019/03/03(日) 20:42:59.22ID:gg9Mx1QB
>>492
恥ずかしくない?
496デフォルトの名無しさん
垢版 |
2019/03/04(月) 05:10:47.25ID:DAN4+o0x
せいぜいがんがれや
497デフォルトの名無しさん
垢版 |
2019/03/04(月) 15:35:02.66ID:OGwzbJO+
ハゲめ
2019/03/04(月) 17:34:27.74ID:BFAQ4JyJ
ひろゆきプログラミングについて語る
https://www.youtube.com/watch?v=sYWz_bIBVNw
2019/03/04(月) 18:12:43.10ID:56/Jbqfw
>>498
グロ
死ね
2019/03/04(月) 22:59:17.85ID:0UjSVc4r
ひろゆきにプログラミングできるのかよw
2019/03/04(月) 23:38:23.95ID:9d3FcJ2N
プログラミングでのし上がった奴だぞ
502デフォルトの名無しさん
垢版 |
2019/03/05(火) 03:28:01.72ID:VDry4yCP
スレチ
イタチ
2019/03/05(火) 04:21:05.92ID:6CrjVVG4
老害はとっとと犠牲にして差し上げて
504デフォルトの名無しさん
垢版 |
2019/03/05(火) 05:20:53.55ID:QbJvjFwd
>>497
北神雄太
505デフォルトの名無しさん
垢版 |
2019/03/05(火) 07:33:05.52ID:zhtHOsGL
質問です。
やりたいこと:画面上で動いたものの検知をしたい
ImageGrab.grab().save("frame_pre.png")
frame_pre = cv2.imread("frame_pre.png")
frame_pre = cv2.cvtColor(frame_pre, cv2.COLOR_RGB2GRAY)
while True:
ImageGrab.grab().save("frame_next.png")
frame_next = cv2.imread("frame_next.png")
frame_next = cv2.cvtColor(frame_next, cv2.COLOR_RGB2GRAY)
img_diff = cv2.absdiff(frame_next, frame_pre)
frame_pre = frame_next
という感じにしています。
ですがめちゃくちゃ遅いです。
ImageGrab.grab().save("frame_next.png")で何回も上書き保存しているからだと思いますが
他に方法はありますか?
2019/03/05(火) 07:35:00.11ID:Ok/9AxrB
よくhogeとか名前つけてる人がいますけどhogeって伝統的なものなんですか?
2019/03/05(火) 08:07:30.38ID:0SMIqw+w
>>506 そうだよ。 日本では hoge 英語だと、foo , bar が使われる。
https://dacelo.space/net/entry-662.html
2019/03/05(火) 09:13:58.12ID:DIrFqE8l
hoge fuga piyo
foo bar baz
2019/03/05(火) 09:52:58.71ID:BXQcWGGg
ホゲホゲ
2019/03/05(火) 10:04:27.98ID:BMXqmTyM
forループのときの「i」とか「j」はなんなんだよ
2019/03/05(火) 10:34:23.57ID:DIrFqE8l
文句は数学に言え
2019/03/05(火) 10:36:52.25ID:DIrFqE8l
それともI(愛)の前にHがある
じゃあI(愛)の次に来るJってなんだ?
ということか?
2019/03/05(火) 11:02:11.75ID:mnGOhC/5
慈愛かなんかじゃねぇの。
自慰とか
2019/03/05(火) 11:15:27.58ID:/6VFWsqW
>>505
案1. ファイルに書き出さないでBytes.ioを使う
案2. ファイルの書き出す先をRAMディスクにする
515デフォルトの名無しさん
垢版 |
2019/03/05(火) 11:57:14.36ID:HwCl8Q1J
>>505
ファイルじゃなくてメモリ上でやるのはもちろんだし

多少精度は落ちるが
画面をリサイズしてから比較する
予備的に処理入れて
引っかかったものだけ全体比較検査する
516デフォルトの名無しさん
垢版 |
2019/03/05(火) 11:59:44.40ID:HwCl8Q1J
>>512
愛JKだな
2019/03/05(火) 12:01:27.76ID:BXQcWGGg
そこに、LなMが
2019/03/05(火) 16:13:55.69ID:/w4kwDux
oとpするイテレーション
2019/03/05(火) 18:08:43.40ID:yUBkGE+g
文字からunicodeを取得したいのですが、うまく行きません。お助け下さい

文字列にdecode属性は無いと言われるのですが、何が問題なのでしょうか
https://i.imgur.com/XiX7for.png

参考にしたページは以下です
>>> 'いろは'.decode('utf-8')
u'\u3044\u308d\u306f'
https://qiita.com/megmogmog1965/items/e2f633ac445831568975
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況