くだすれ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/ ログイン必須になりやがった(゚Д゚#)
−−−−天麩羅ここまで−−−−
2019/02/27(水) 19:01:19.46ID:CWPXM8YW
>>389
Androidの開発環境聞いてきた人と同じひと?
それならないかなぁ
393デフォルトの名無しさん
垢版 |
2019/02/27(水) 20:54:44.82ID:kap/FwCb
djangoで掲示板やら、ブログやら作ってみたんだけど
djangoでできることってこんぐらいしかないの?

なんかやれることがもっとあると思ってたんど、意外と底が浅かった感じがした
djangoでゲームアプリできないの?
2019/02/27(水) 21:06:17.28ID:FvpNE2Tw
ゲームアプリ作りたいならそれ用のツールを使ったほうが早いんじゃね
pythonだとアドベンチャーゲーム作成ツールのren'pyとかくらいしか知らないけど
395デフォルトの名無しさん
垢版 |
2019/02/27(水) 21:21:26.34ID:kap/FwCb
>>394
あとはpygameとかでやるしかないのか
2019/02/27(水) 21:23:42.28ID:FvpNE2Tw
ツールに合わせて言語を選ぶのもひとつの選択肢だよ
pythonでゲームも作れなくはないが
UnityとC#を使う方が手っ取り早いと思う
2019/02/27(水) 22:36:18.56ID:CtFD2cZF
>>393
お前の発想力の問題
2019/02/27(水) 22:45:24.69ID:qFMaDdKD
>>391

Sympy が良さげですね
2019/02/28(木) 02:17:13.47ID:DbAr3TBt
sympyないわー
400デフォルトの名無しさん
垢版 |
2019/02/28(木) 02:31:01.44ID:43+kEwYn
Sympyは酷いね…何故SciPyのサイトのトップに掲げられてるのか理解しかねる
Deprecatedなnumpy.Matrixクラス依存で、各種ルーチンにshape制限まである
標準Pythonでないが、どうせコード配布するようなものでなし、Sageを薦める
2019/02/28(木) 07:34:11.13ID:VZy78oyi
maximaからsympyへ移行したけど評判悪いのか。sageは初めて聞いた、けどjupyter上では使えないのかな。
402デフォルトの名無しさん
垢版 |
2019/02/28(木) 07:51:36.17ID:43+kEwYn
>>401
maximaがバックエンドの一つだよ、拡張Pythonによるmaxima等フリーの各種コンピュータ代数ソフトを詰め込んだ欲張りラッパ
つまり機能的には最強であることは間違いない
Pythonコードもほぼそのまま書ける
403デフォルトの名無しさん
垢版 |
2019/02/28(木) 07:55:03.91ID:43+kEwYn
.nbみたいのも見掛けたな、REPLがグローバルインポートですごく使いやすくなってるんで触らんが
404デフォルトの名無しさん
垢版 |
2019/02/28(木) 11:29:58.64ID:VA9IyXO4
pycファイルがあると良いことあるんですか
2019/02/28(木) 11:43:46.54ID:3raA7S0b
>>404 コンパイルするための時間が無くなり早くなる、コンパクトになる。
2019/02/28(木) 13:25:46.66ID:COpOP1tt
>>401
sympy使ってるけど虚数込みの数式処理で伝達関数を導出しているけど困ってはいない
Mathematicaで作った処理を全部試そうとは流石に思わないが、そこそこ行ける
407デフォルトの名無しさん
垢版 |
2019/02/28(木) 14:37:06.17ID:VA9IyXO4
>>405
ありがとうございます
408デフォルトの名無しさん
垢版 |
2019/02/28(木) 14:41:29.11ID:4d6byY1q
クラスとか継承とかどうやって覚えたのよ
コード書きながら覚えるのが手っ取り早い?
409デフォルトの名無しさん
垢版 |
2019/02/28(木) 15:04:31.53ID:4Fcnv2BB

https://www.amazon.co.jp/dp/4756100503
410デフォルトの名無しさん
垢版 |
2019/02/28(木) 15:49:34.46ID:4d6byY1q
>>409
すげえ難しそう
411デフォルトの名無しさん
垢版 |
2019/02/28(木) 15:53:21.03ID:4Fcnv2BB
知らない単語が並んでると難しそうに感じたりするが
中身は大した事ない

糞本読んで無駄な時間使うよりマシだと保証
2019/02/28(木) 16:03:54.54ID:K7dGf2QC
>>408 この辺りは?
https://www.amazon.co.jp/dp/B01N04UBYI/ref=cm_sw_r_cp_awdb_c_.A4DCbDJ4KNEW
413デフォルトの名無しさん
垢版 |
2019/02/28(木) 16:24:16.52ID:4d6byY1q
>>412
読み放題で無料だから見てみたけどわかりやすいかも
2019/02/28(木) 18:20:17.96ID:aNlcuW5k
設計図は出来てるけどどう作ればいいかわからなくて困ってます
GUI画面で例えば入力欄Aに10文字Bに10文字A.Bを何文字出すか決める場所(A3なら入力枠Aからランダムに3文字選ぶ)、そしてA出力枠B出力枠にだす ということを目指してるのですがTkinterで出来ますか?これをググれみたいな事があれば教えて頂けると幸いです
2019/02/28(木) 19:35:45.99ID:mQj8H4X5
>>414
むろんできるぞ

何文字出すか決める入力欄を0.1秒ごとくらいに見張るようにプログラムくめ

んで
何か入力されたら出力する
あるいは
ジェネレートボタンを押したら計算して出力する

みたいな
2019/02/28(木) 19:49:33.86ID:aNlcuW5k
>>415
出来るんですね!ありがとうございます
Tkinter検索しても細い入力欄に出力一つ、と単純な物ばかりだったのでこれはちがうのかな?と ほんとに初心者なので見張らせるよりはボタン式にしてみます
ちなみtkinterの設計でオススメのサイトはありますか?
2019/02/28(木) 20:28:35.13ID:mQj8H4X5
tkinterの「設計」サイトはしらんなー
2019/02/28(木) 20:29:16.48ID:iWcjMiIh
数字列をリスト化したいのです。
内包記述使わずに短い記述教えて下さい。


#入力
3 13 24 45 50
#出力
[3, 13, 24, 45, 50]

#書いてみました ループ使わない方法が分かりませんでした
t_input = input().split()
t_time =[]
for i in range(0,5):
 t_time.append(int(t_input[ i ]))
print(t_time)

#因みに内包表記
t_time = [int(s) for s in input().split()]
print(t_time)
2019/02/28(木) 20:30:19.88ID:mQj8H4X5
「tkinter python3 ボタン」あたりでggるといいかもしらん
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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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