X



くだすれPython(超初心者用) その50【まず1嫁】
レス数が1000を超えています。これ以上書き込みはできません。
0001蟻人間 ◆T6xkBnTXz7B0
垢版 |
2020/08/27(木) 20:24:10.68ID:WXD9Eu8v
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

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

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。最近流行中?
ttp://ideone.com/      デフォ設定はC用のため言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その49【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1595057607/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
0952デフォルトの名無しさん
垢版 |
2020/10/15(木) 21:35:41.26ID:t5zJ0PK5
ブレークポイントは初心者には難しい(覚えた方がいいのはたしか)からprint()とdir()を駆使したほうがいい
0953デフォルトの名無しさん
垢版 |
2020/10/15(木) 21:39:14.53ID:hDJu8kS3
WindowsでtkinterのGUI作ってMacで動かしてみたら
レイアウトがグチャグチャになってるんだが
この原因てなに??
0954デフォルトの名無しさん
垢版 |
2020/10/15(木) 22:20:05.21ID:ovmpl9Ov
>>953
だいたいのところ、GUI表示に使うフォントが違うから
+Macはなんでもカドを丸めようとする
+最大化とか最小化とかのデフォ配置・縦横比が違う
0956デフォルトの名無しさん
垢版 |
2020/10/16(金) 00:56:01.47ID:CyAVt67w
Python環境のデバッグで何でdir なのかさっぱりわからない。
何を言いたいの? どんなふうに使ったらデバッグできるというの?
0957デフォルトの名無しさん
垢版 |
2020/10/16(金) 06:10:36.62ID:gZ39DCJs
>>956
初めにdirと書いたものじゃないし、デバッグとはちょっと違うとは思うけど、
ライブラリの使い方を調べるのに、
リファレンス読んでどんなメソッドがあるか解読するより、
戻ってきたオブジェクトをdirしてみた方が速いケースはよくある。
自分も書き始めのころはpythonのreplでdirしまくってた。
0958デフォルトの名無しさん
垢版 |
2020/10/16(金) 08:59:36.20ID:2i9War4e
親に言われてプログラミングスクールに入ったら平方根?とか覚えさせられるんだけど大丈夫?
やたら数学っぽい授業やるんだけど必要なくね?
0959デフォルトの名無しさん
垢版 |
2020/10/16(金) 09:33:41.17ID:iAmNdsxg
ぽいじゃなくて数学
コンピューター = 計算機
プログラムってのは計算機にどういう計算をするか書いたもの
文字列やファイル操作とかなら直接数字を弄ることは少ないけれど
プログラミングを学ぶなら数学は付いて回ると思っていい
0960デフォルトの名無しさん
垢版 |
2020/10/16(金) 09:52:37.35ID:hiR4Fq2K
>>958
平方根に?つけるということは、小学生か中学生くらい?
プログラミングをしたいなら学校の数学と英語はちゃんとやっておいた方がいいぞ。
0961デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:20:03.38ID:hP8hKOry
>>954
なるほど
ありがとう
0962デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:26:09.79ID:zJteNWK0
>>958
math.sqrt()的な話なら必要ない
数学的思考は必要だが数学そのものはプログラミングを学ぶには不要

O(log n)的な話なら必要
基礎として理解しておくとよい
0963デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:32:21.86ID:zJteNWK0
>>952
デバッガやREPLの使い方は
リファレンスの調べ方、エラーの見方と合わせて最初に身につけるべき三大重要スキル

printと違ってステップ実行することでプログラムの動きを視覚的につかみやすくなる
0964デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:38:40.59ID:P8/Oeovq
俺みたいに数学できないと、数学的知識や発想を使ったプログラムになると皆目わからない。
プログラミングが得意な人は基本数学も得意でしょ。
0966デフォルトの名無しさん
垢版 |
2020/10/16(金) 10:53:14.06ID:3SfKc/fX
プログラミングスクールでやる数学なんて大したことやらないだろうし、そこまで身構える必要ないでしょ
0967デフォルトの名無しさん
垢版 |
2020/10/16(金) 11:16:01.90ID:jRO02CLT
>>958
>>962
ニュートン法とかルンゲクッタやる流れだろ
知らんけど
0968デフォルトの名無しさん
垢版 |
2020/10/16(金) 11:36:43.09ID:gZ39DCJs
math.sqrtと三角関数ぐらいは必要だろう
地図データとか使ってて距離や角度を計算するってよくあるし
数学に苦手意識持ってると出来る仕事の範囲が狭まるってのはほんとそうだと思うよ。
数学要らない仕事がほとんどだと思うけど、
誰でも出来る、代わりが効く仕事だからSESとかで1束いくらで値段つけられちゃうし。
0969デフォルトの名無しさん
垢版 |
2020/10/16(金) 11:53:04.63ID:/poWTTfA
最近の高校生は
数学で行列を習わないな
0970デフォルトの名無しさん
垢版 |
2020/10/16(金) 12:16:08.77ID:4wnzZpYn
習う=覚えるとは違うので
世の中の半分は同じ授業を受けて1ミリも覚えてない理解できてないまま卒業してるよ
0971デフォルトの名無しさん
垢版 |
2020/10/16(金) 13:40:25.82ID:RKtFr9bS
三角関数の計算問題とか苦痛でしかないけど
テスト前のJKとか普通にこなしてるしな
後で忘れるんだろうけど
0972デフォルトの名無しさん
垢版 |
2020/10/16(金) 14:07:40.62ID:2i9War4e
いや数学ならエクセルとかあるだろ
アプリを作りたいのに数学を覚えてる暇ない
0973デフォルトの名無しさん
垢版 |
2020/10/16(金) 14:09:16.95ID:soxKUD38
プログラミングそのものを学ぶために必要な知識と
プログラムを使って解決したい問題領域の理解に必要な知識は別

汎用的に関数化されてるような数学知識よりもこの2つを区別できる基本的思考力のほうが遥かに重要
0975デフォルトの名無しさん
垢版 |
2020/10/16(金) 14:58:48.06ID:hiR4Fq2K
>>974
pythonに限らずどんな言語だろうがプログラミングする上では意識すべきことだろ。
常識的な設計をすれば瞬間的に終わるようなものを、非効率なバカなロジックで書いて10秒待たされるようなことになれば、結果は間違っていなくても糞プログラムだよ。
0976デフォルトの名無しさん
垢版 |
2020/10/16(金) 15:02:42.43ID:hiR4Fq2K
補足。希にしか使わなくてその10秒が許容されるというのならそれでもいい。
ただ、高度な高速化なんてせずに普通にやれば速く動くはずのものを遅く動くようにしか書けなかったら、ダメプログラマだろう。
0977デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:22:52.11ID:xKOaU25R
forを行列計算に置き換えて高速化したとしても可読性下がったら意味なくない?
競プロならどんなに読み辛くても早ければ正義だけどさ
0978デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:35:36.42ID:gzagFIoh
機械学習、グラフィック、ゲーム、ロボット…
pythonがよく使われるユースケースに絞っても行列使わないとかありえないんだが
0979デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:44:15.12ID:hiR4Fq2K
>>977
for文でも速度的に問題なくてわざわざ可読性を下げるメリットがないケースは好きにfor文を使えばいい。
計算量の考慮が重要だと言うのは、何でもかんでも最速がベストという意味ではなく、速度要求と可読性その他の要件とをバランスよく考慮して適切な手法を選択するということだぞ。
0981デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:55:45.74ID:RKtFr9bS
ベクトルの内積求めるときに
わざわざ対角行列使ってると(たとえ0掛けてても)計算量増えないか?
dot積使った方が速くね?って思う
0982デフォルトの名無しさん
垢版 |
2020/10/16(金) 16:56:52.34ID:gzagFIoh
>>980
     ,一-、
     / ̄ l |   / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
    ■■-っ < んなこたーない
    ´∀`/    \__________
   __/|Y/\.
 Ё|__ | /  |
     | У..  |
0984デフォルトの名無しさん
垢版 |
2020/10/16(金) 18:23:43.58ID:n8fCSc9i
>>977
数理的な素養のある人が見ればむしろ行列計算の方が可読性上がることもあるんじゃない
0985デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:00:19.85ID:iAmNdsxg
可読性()言う奴の半数はゴミコード書くドカタ
可読性ガー言っとけば読解力やら諸々能力低い自分が許されると思ってる
0987デフォルトの名無しさん
垢版 |
2020/10/16(金) 19:44:29.70ID:dDrh0EkP
>>985
ドヤ顔で誰もメンテナンスできないゴミコード量産して自分だけはスマートなコードを書いていると思ってそう
0988デフォルトの名無しさん
垢版 |
2020/10/16(金) 21:55:17.39ID:gZ39DCJs
可読性と速さ、どっちを重要視したほうがいいかなんてのはどう考えてもケースバイケースで、正解なんか存在しない。
理系の研究者に弄ってもらうためのコードだったらforとかifの羅列よりも行列計算にまとめておいたほうがいいし、
かなりの疎行列を扱ってて行列計算だと全然速度出なくて困る場合は、速度アップを狙ってforループとかで書いたほうが良かったりもするし。

「アプリ側で速度向上なんてたかが知れてる」も明らかにケースに依る。

ベクトルの内積を計算するのに対角行列使う方法ってどんな方法なのか、興味あるので教えて欲しい。
たいてい行列計算って線形代数ライブラリを使って実装するし、線形代数ライブラリに
行列そのもの以外にベクトルもあって、ベクトルの内積、外積、ノルムぐらいは付いてるのが普通だし、
行列しかないライブラリでも、縦ベクトルをn行1列行列として作って、a.transpose() * bで計算するのがよくあるやり方じゃない?
0990デフォルトの名無しさん
垢版 |
2020/10/16(金) 23:23:38.38ID:gZ39DCJs
>>989
いや、それはそうなんだけどさ。
解析的に解くために行列にしたようなものだったら、
実際の数値計算では行列で扱う必要もない場合もあるわけで、
計算方法、実装方法を選ぶのは目的依存だから必ずしも一つの正解はないんじゃない、ということを言いたい。
RDBのテーブル設計で、テーブルを必ずしも正規化しきった形が実装の正解ではないのと同じで。
0991デフォルトの名無しさん
垢版 |
2020/10/17(土) 00:18:06.54ID:DkSylr6A
ていうかITの世界でも今や文系が牛耳ってるわけだし理系が土方なのは不変の真理なんじゃないか?
0992デフォルトの名無しさん
垢版 |
2020/10/17(土) 01:02:22.12ID:KQ9ROz6p
>>991
それはITという言葉を狭く捉えすぎか、理系という言葉を広く捉えすぎ。
別に理系信奉ではないんだけど、理系的アプローチでしか出来ないことってそれなりにあって、そのアプローチを出来る人材が不足しているのは恐らく間違いがない。
0993デフォルトの名無しさん
垢版 |
2020/10/17(土) 07:45:47.24ID:dPJ220D1
理系な学科を卒業したってだけで
いわゆる文系脳なヤツも相当数混ざってるからな・・・



可読性と速度でモメてるおまいら
ちょっとでも他人がわかりづらいかも?と感じたら
とりまコメントかけ
できればユニバーサル英語でかけ
おk!
0995デフォルトの名無しさん
垢版 |
2020/10/17(土) 11:50:33.93ID:0qFIP5N2
>>985
「可読性」に限らず
言い訳する人は行動パターンや結果が共通してるのが面白い
0996デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:01:15.96ID:Pewarzgb
df.loc[df['a'] == df['b'], 'flag'] = True

みたいな感じで

df['a'] == df['b']
df['c'] == df['d']

の2条件が成立したらflag=Trueとしたいです
なにかうまい方法ないでしょうか?
0997デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:18:40.58ID:Pewarzgb
>>996
すいません
単に&で条件つなぐだけですよね

andと&間違えてた・・・
複数言語でアプリ同時に作成するとこうなるアホ頭脳です
0998デフォルトの名無しさん
垢版 |
2020/10/17(土) 13:19:57.11ID:/Ip3Dsod
and & && * 色々ある
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 50日 17時間 3分 40秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.5ch.net/

▼ 浪人ログインはこちら ▼
https://login.5ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。

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