くだすれ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/25(月) 02:53:38.38ID:9+tyf5TU
いや、attr系やitem系操作するのは、
他の言語の演算子のオーバーロードと
同じ感じテイストづし、珍しくも無い。
356デフォルトの名無しさん
垢版 |
2019/02/25(月) 11:22:12.78ID:Opp/wdL5
>>342
Hoge.__dict__ を作るだけでいける
2019/02/25(月) 20:13:54.92ID:+kysiU+6
Python初学者どころかプログラム初学者なのですがそんな人にも使いやすいIDEはありますでしょうか?ググった所PyCharmやアナコンダなどがありましたが皆様の意見もご参考にさせて頂ければと
2019/02/25(月) 21:07:11.42ID:Ey4Q/htY
初心者こそpycharmを使うべし
タイポも変数のundefinedもpep違反も全部赤ペン先生で指摘してくれる
2019/02/25(月) 21:36:21.30ID:dXFOGwmu
有料版使ってる人いるのかな
360デフォルトの名無しさん
垢版 |
2019/02/25(月) 21:39:49.74ID:h8G0r/CT
>>357
PyCharm、VisualStudio
2019/02/25(月) 21:48:25.21ID:+kysiU+6
>>358>>560
PyCharmですかありがとうございます入れてみます
Visual StudioはVScodeというものですよね?py以外も色々できると聞いて気になってはいたのですがPython3を使うには設定が必要で初心者にはしんどいと聞いて及び腰です、、
2019/02/25(月) 21:51:26.82ID:+kysiU+6
未来にレスしてしまった
>>360ありがとう御座います
2019/02/25(月) 22:51:43.04ID:Huj6YV9p
Visual StudioとVisual Studio Codeは別物
前者がIDE、Codeはエディタ
Codeの方は.pyを初回に読み込んだ時にpython拡張インストールした方がいいよと言われるので指示に従えばいいだけ
2019/02/25(月) 23:50:17.81ID:+kysiU+6
なるほど別物なんですね
vsコミュニティとかもあってややこしいです
教えて頂いたVisual StudioとPyCharmを使えるようになってそれからアナコンダにステップアップして行きたいと思います
2019/02/26(火) 00:15:19.10ID:hK50uex+
いやWindowsだといきなりAnaconda入れるのが一番無難で簡単で手っ取り早いぞ
そしてAnacondaは開発環境としてVSCodeを推奨してるからVSCodeおすすめ
2019/02/26(火) 00:26:09.34ID:hKlKYH4W
俺はVSCodeと素Pythonを押すね
Anacondaは最初は使わん機能ばっかだし
2019/02/26(火) 01:03:36.19ID:6/9JHzaI
Winなのに素python+Atomの俺は圧倒的少数者だと分かった
2019/02/26(火) 01:12:55.28ID:pkMMAEQe
アナコンダはジュピターノートで書くのはわかっていますがセルの仕様が独特、アナコンダ用のプロンプトがあるなどで初心者向けではないよと言われたのですがそうでもないのですか?
2019/02/26(火) 07:23:43.12ID:VSDQz9S9
考えるよりダウンロードして簡単なプログラム書いてみなよ。無料なんだし。
少し使ってみて不自由を感じたら他を試せばいい。
2019/02/26(火) 09:06:58.73ID:fq9lYmyM
vscodeはjupyterみたいにも使えるしね
ブレークポイントつけれたりデバッグ出来るのは初心者には有難い
会社の低スペックPCだとストレス溜まりまくりだからやむなくjupyter使うけど…
2019/02/26(火) 12:55:41.05ID:ePz6Ki1y
Android用のpython環境をオススメしてください
372デフォルトの名無しさん
垢版 |
2019/02/26(火) 13:49:43.50ID:8hsOp8y1
今はvim上でターミナル使えるようになったから、WindowsでもgVim使ってる
Pythonは公式で配ってるインストーラで入れて、必要ならvenv使う
管理が楽
2019/02/26(火) 15:10:50.48ID:lleTMO6w
副業で大学教員やってるからPyCharmのPro版を無償で使えてる
PyDevやSpyderにイライラして結局vimで書いてたけど乗り換えた
学生さんはPyCharm使うといいよ
374デフォルトの名無しさん
垢版 |
2019/02/26(火) 15:13:01.67ID:8+7ktUtN
>>371
S4A

以前は Windows + Python2 素のインスコで使ってて

Python3 に乗り換えたときに
(Windows で) Anaconda でインスコして使ってるけど
全然問題無いわ

368 は明らかに事実誤認
375デフォルトの名無しさん
垢版 |
2019/02/26(火) 15:13:46.29ID:8+7ktUtN
typo した
S4A じゃなくて SL4A
2019/02/26(火) 15:32:01.94ID:s53snE6v
>>371
ない
なぜならば、AndroidでPythonを開発しようということ自体がオススメできないからだ
2019/02/26(火) 17:21:21.96ID:1yUj9TwU
>>371 自分はAndroidを使っていないけど、良さそうじゃん。

Android上でPython3が利用できるPydroid3がスゴイ
http://pineplanter.moo.jp/non-it-salaryman/2018/02/02/pydroid-on-android/
2019/02/26(火) 17:27:22.38ID:1yUj9TwU
>>376 あまり堅苦しく考えないで良いじゃん。
いつでもどこでも使えるスマホは、練習用としては使えるよ。 解説書を読みながらちょっと試してみるとか。

Google の colab とか使ってWeb で作る手もあるけど、ネットが繋がっていないと使えなかったり、ちょっともたつく気がする。
ローカルで使えるに越したことはない。
2019/02/26(火) 17:56:25.83ID:T0vQDev8
>>371
termuxでapt install python
2019/02/26(火) 19:22:35.54ID:EZFWpudG
多倍長整数演算を高速化する方法はありますか?

numba使うと正しい結果が出ない
たぶん内部で浮動小数点数に置き換えてる
2019/02/26(火) 19:31:36.49ID:1yUj9TwU
>>380 やったことないけど、浮動小数点数の桁数を指定するんじゃダメ?
2019/02/26(火) 20:03:11.69ID:FOtxANKO
>>380
多倍長整数なのに実は浮動小数でやっていましたではオイオイだろ
2019/02/26(火) 20:37:19.08ID:EZFWpudG
どうも整数の間違いでした

今日、階乗を計算していたんですが
20!までは正しいが21!で失敗します
2^63-1を超えるのが原因でしょう
2019/02/26(火) 21:08:14.74ID:IBhh82RD
組み込み関数のmath.factorial()は正しく21!を返すのに…
2019/02/26(火) 22:44:26.23ID:4zwtaCfi
>>374
>>376
>>377
>>379
ありがとう
オススメしてもらったpydroid3使ってみたけどエディタで片手でフリック入力出来なかったのとコピペが非常にやりにくかったのです

電子書籍の参考書のサンプルプログラムをコピーして貼り付けする時にやはりどうしてもエディタ画面で両手使うのはしんどかった

SL4Aは開発が止まっているようなので
今回はやめといた
2019/02/27(水) 07:42:07.40ID:L5IXP2k2
>>376
確かにandroidでpythonを開発するのは超初心者には荒行でしかないわな
でも、やりたいのはandroidのpythonでの開発だからw
2019/02/27(水) 09:22:59.83ID:dPGb0bDo
お客さんそんなことしても悟りは得られないよ
388デフォルトの名無しさん
垢版 |
2019/02/27(水) 14:31:55.97ID:6BQDuKk1
>>383
再帰で書いてない?
forで書けば上手くいくはず。

Pythonは多倍長整数だからメモリ一杯になるまで大きな数を表現できるので、再帰でスタックが溢れたと思われ。
2019/02/27(水) 15:12:55.08ID:qFMaDdKD
√2× √6= 2√3

みたいに√つけたまま演算できるライブラリないですかね
勝手に小数点付き数字に変えられてうんざり

3π × 2n= 6nπ
みたいなのも欲しいです。
2019/02/27(水) 15:17:26.74ID:PApWA4xG
そういう処理を自動でしたいがためのプログラミング。
391デフォルトの名無しさん
垢版 |
2019/02/27(水) 15:42:22.04ID:AFI97rHS
>>389
scipy
sympy
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
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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