当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。
このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。
★エラーを解決したい場合は、
表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★
5chの仕様【【【複数の連続半角スペースはなにもなかったことにされる&タブは普通には入れられない】】】のため、どうにもなりましぇん。
↓等の、いわゆるコードう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(超初心者用) その52【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1610137345/
次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
探検
【まず1嫁】くだすれPython(超初心者用) その53
■ このスレッドは過去ログ倉庫に格納されています
2021/03/16(火) 07:19:44.36ID:PfTIXkDh
2021/03/21(日) 15:01:23.60ID:rOmbGrT+
はいはい。病院でお医者さんにはなしてあげてね
2021/03/21(日) 15:08:07.65ID:ba25SXqE
つまらん煽りは他所でやってくれ
と、俺が言ってみる
と、俺が言ってみる
2021/03/21(日) 17:19:57.60ID:LD2dmgE2
>>58
print関数は引数のオブジェクトの文字列表現を出力する関数で
range(3)の文字列表現は'0 1 2'じゃなく'range(0, 3)'
なのでprint(range(3))を実行するとrange(0, 3)と表示される
ちなみにlistなら'[0, 1, 2]'みたいな表現になるから'0 1 2'と表示したいなら自分で加工する必要がある
例えばprint(' '.join(str(x) for x in range(3)))
print関数は引数のオブジェクトの文字列表現を出力する関数で
range(3)の文字列表現は'0 1 2'じゃなく'range(0, 3)'
なのでprint(range(3))を実行するとrange(0, 3)と表示される
ちなみにlistなら'[0, 1, 2]'みたいな表現になるから'0 1 2'と表示したいなら自分で加工する必要がある
例えばprint(' '.join(str(x) for x in range(3)))
62デフォルトの名無しさん
2021/03/21(日) 17:51:46.12ID:sFWHtMDC >>> print(*range(3))
0 1 2
0 1 2
2021/03/21(日) 19:05:58.83ID:7CdIp7EP
>>62
優勝!
優勝!
2021/03/21(日) 19:14:50.12
処理Aが同じで
無限ループしたいときと、任意回数ループしたいときを分けたいんだけど
n = 10 if 条件 else 99999999
i=0
while i < n:
_print('処理A')
_time.sleep(1)
_i += 1
無限ではないにしろこれでいいんだけど
n=99999999がなんかかっこ悪い・・
別の書き方ありませんか
無限ループしたいときと、任意回数ループしたいときを分けたいんだけど
n = 10 if 条件 else 99999999
i=0
while i < n:
_print('処理A')
_time.sleep(1)
_i += 1
無限ではないにしろこれでいいんだけど
n=99999999がなんかかっこ悪い・・
別の書き方ありませんか
6564
2021/03/21(日) 19:22:48.42 自己解決・・かどうかわからないけど
でいけた
でも
for i in range(float('inf')):
は無理だった・・
でいけた
でも
for i in range(float('inf')):
は無理だった・・
2021/03/21(日) 19:30:08.83ID:g0m1T9az
n = 10
a = 1 if 条件 else 0
i = 0
while i < n
_print('処理A')
_time.sleep(1)
_i += a
a = 1 if 条件 else 0
i = 0
while i < n
_print('処理A')
_time.sleep(1)
_i += a
2021/03/21(日) 19:46:13.27ID:Duyg5pmm
[*iter]
68デフォルトの名無しさん
2021/03/21(日) 20:27:26.58ID:c1Fm1qtl2021/03/21(日) 20:28:41.92
2021/03/21(日) 20:41:49.95ID:Duyg5pmm
numberを継承したoo.__lt__にreturn falseをブチ込む
71デフォルトの名無しさん
2021/03/21(日) 22:32:14.97ID:OQZaxlrU よろしくお願いいたします。
aList = [[1,2]for j in range(3)]
aList = [[1,2]]*3
2つとも[[1, 2], [1, 2], [1, 2]]の多重リストが作られたのですが、なぜ下の文で多重リストができるのか教えてほしいです。
aList = [[1,2]for j in range(3)]
aList = [[1,2]]*3
2つとも[[1, 2], [1, 2], [1, 2]]の多重リストが作られたのですが、なぜ下の文で多重リストができるのか教えてほしいです。
2021/03/21(日) 22:53:21.54ID:mInw6BRh
>>68
>いきなり__repr__の実装に言及しても訳分からんだろ
__repr__の実装に言及する必要なんてない
__repr__が果たしてる役割を超初心者にも分かる言葉で説明すればいいだけ
それができないと感じるのは自分がその事柄を理解してないから
理解してれば「オブジェクトだから」とか「アロケーションされてないから」みたいな嘘を教えたりしない
>いきなり__repr__の実装に言及しても訳分からんだろ
__repr__の実装に言及する必要なんてない
__repr__が果たしてる役割を超初心者にも分かる言葉で説明すればいいだけ
それができないと感じるのは自分がその事柄を理解してないから
理解してれば「オブジェクトだから」とか「アロケーションされてないから」みたいな嘘を教えたりしない
2021/03/21(日) 22:56:09.50ID:mInw6BRh
文字列表現がどう決まるのか、どういうついでに言っておくとprint()で使われるのは__repr__じゃなくまず__str__な
__str__が定義されてない場合だけfallbackして__repr__が使われる
公式チュートリアルに書いてるので勉強してね
__str__が定義されてない場合だけfallbackして__repr__が使われる
公式チュートリアルに書いてるので勉強してね
2021/03/21(日) 23:00:23.62ID:mqfsmAhv
75デフォルトの名無しさん
2021/03/21(日) 23:09:36.59ID:OQZaxlrU >>74
ありがとうございました!
気にせず使っていきます
ありがとうございました!
気にせず使っていきます
2021/03/21(日) 23:22:30.25ID:ztnIU7M3
2021/03/22(月) 04:49:29.76ID:FrFq7CFg
>>71
FAQ中のFAQだから余計な世話かもしれんが、見た目が同じでも同じリストでは無いことに気をつけてね
リストの中身は要素への参照だから、それを複製した後者は同じオブジェクトを3回参照してる(cでいえば、同じポインタx3)
見た目が同じオブジェクトを判別するためにid関数が用意されているから試してみて
前者をl1, 後者をl2として
map(id, l1), map(id, l2)
前者のidは全て同じ、後者は新たに作った[1,2]を3つ並べてるので3つとも違うはず
参照の概念をややこしいと思いlistを避けたいと思うのなら、型の同じ要素を入れる場合は常にarrayを使う事を推奨する(標準型の範囲では)
具体的な値の配列なので、型チェックも入り、効率もよい
FAQ中のFAQだから余計な世話かもしれんが、見た目が同じでも同じリストでは無いことに気をつけてね
リストの中身は要素への参照だから、それを複製した後者は同じオブジェクトを3回参照してる(cでいえば、同じポインタx3)
見た目が同じオブジェクトを判別するためにid関数が用意されているから試してみて
前者をl1, 後者をl2として
map(id, l1), map(id, l2)
前者のidは全て同じ、後者は新たに作った[1,2]を3つ並べてるので3つとも違うはず
参照の概念をややこしいと思いlistを避けたいと思うのなら、型の同じ要素を入れる場合は常にarrayを使う事を推奨する(標準型の範囲では)
具体的な値の配列なので、型チェックも入り、効率もよい
2021/03/22(月) 05:17:24.56ID:FrFq7CFg
i for rangeイディオムは不要な添字iが気持ち悪いよな…
ロジック通りに、ビルトイン関数のみでミニマルにやるには
memoryview([1, 2]).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
でいいだろう
tolistはリスト表示するためなのでお好みで
数字が小さいからbyte配列にしたけど、普段使いならlongにしといた方が気楽かも
ロジック通りに、ビルトイン関数のみでミニマルにやるには
memoryview([1, 2]).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
でいいだろう
tolistはリスト表示するためなのでお好みで
数字が小さいからbyte配列にしたけど、普段使いならlongにしといた方が気楽かも
2021/03/22(月) 05:25:09.41ID:FrFq7CFg
byteって言ってるのにbyte抜けてたごめん
memoryview(bytes([1, 2])).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
です、試してないけど多分動くだろ
実用にはbytesはarray('l', seq)へ差し替えてね
memoryview(bytes([1, 2])).cast('b', shape=(3, 2)).tolist()
[[1, 2]
[1, 2]
[1, 2]]
です、試してないけど多分動くだろ
実用にはbytesはarray('l', seq)へ差し替えてね
2021/03/22(月) 12:40:31.58ID:uAAKNqiZ
while True:
_a = 1
_break
print(a)
インデント下がって定義した変数をwhileの外でも使うのは普通なのでしょうか
スコープの判断で可読性が落ちるかなと個人的に思ったのですが慣れですかね
_a = 1
_break
print(a)
インデント下がって定義した変数をwhileの外でも使うのは普通なのでしょうか
スコープの判断で可読性が落ちるかなと個人的に思ったのですが慣れですかね
2021/03/22(月) 12:53:03.86ID:bzTgC/HJ
2021/03/22(月) 14:08:43.53ID:Rzf9eLtl
2021/03/22(月) 15:33:16.54ID:uAAKNqiZ
2021/03/22(月) 21:09:47.56ID:cezDTGq+
2021/03/22(月) 21:32:57.72ID:H+rnlZW/
whileTrueって使ったらあかんの?
2021/03/22(月) 21:38:05.40ID:bzTgC/HJ
良くはない、らしい
有能なパイセン談
有能なパイセン談
2021/03/22(月) 21:45:46.85ID:OQmrOVJK
while str:
2021/03/22(月) 21:52:49.95ID:10Qa0fDO
するな
コールバックがあるから
コールバックがあるから
2021/03/22(月) 23:07:52.41ID:g8se3Ggw
Python公式リポジトリ検索してみたらほんと腐るほど見つかって嫌になった。
全部挙げきれないので一例:
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Tools/ccbench/ccbench.py#L163
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/test/test_shlex.py#L265
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L74
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L202
それならまだしもwhile 1:とかもある↓
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/idlelib/hyperparser.py#L240
全部挙げきれないので一例:
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Tools/ccbench/ccbench.py#L163
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/test/test_shlex.py#L265
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L74
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/concurrent/futures/thread.py#L202
それならまだしもwhile 1:とかもある↓
https://github.com/python/cpython/blob/63298930fb531ba2bb4f23bc3b915dbf1e17e9e1/Lib/idlelib/hyperparser.py#L240
2021/03/22(月) 23:19:25.97ID:xEZrbDTS
>>85
無限ループ自体が処理によってはCPU負荷が上がったりするし
break条件をミスってると不具合があった時にループから抜けずに変な所でエラーになる可能性も出てくる
だから最初から有限回ループして確実に止まるループ設計の方が安全だよね、っていう考えはある
(まあwhile True breakの方が書きやすい場面も多いけどね)
無限ループ自体が処理によってはCPU負荷が上がったりするし
break条件をミスってると不具合があった時にループから抜けずに変な所でエラーになる可能性も出てくる
だから最初から有限回ループして確実に止まるループ設計の方が安全だよね、っていう考えはある
(まあwhile True breakの方が書きやすい場面も多いけどね)
2021/03/23(火) 00:43:05.32ID:ch/yi3Wo
無限ループは無限ループが必要だから使うのであって、
有限のイテレータのループで書き換えられるときには当然使わないのでは?
有限と無限を同列に並べて比較すること自体がなんか違和感あるけど。
有限のイテレータのループで書き換えられるときには当然使わないのでは?
有限と無限を同列に並べて比較すること自体がなんか違和感あるけど。
2021/03/23(火) 00:48:20.02ID:BKCKGFNi
while自体の処理が重いから使うなってならわかるけどミスったら困るから使うなって、理由になってなくない
使いどころも無視してとにかく使うなって、先人の下手なトラウマが一人歩きしてるだけじゃねーの
使いどころも無視してとにかく使うなって、先人の下手なトラウマが一人歩きしてるだけじゃねーの
2021/03/23(火) 02:55:45.64ID:71b8io/J
まあループの有限性が事前にわかるようならそれを表現するためにwhile 1: 使うのは適切じゃないって話だろ。
実際ループ変数ぽいの使ってなぜか while 1使ってるコードは新人にはよくある。
実際ループ変数ぽいの使ってなぜか while 1使ってるコードは新人にはよくある。
2021/03/23(火) 02:59:15.82ID:QbxOC6mC
>>81
ポンコツかよ
他に無条件ループ作るコンストラクトがあるなら教えてほしいわ
上の方のレスにある9999999決め打ちでもするのか?
他にもハック挙がってるけどどう考えてもwhile True:より筋が悪いよね?
先輩が言ってたから正しい?自分の意見を持とうよ?
ポンコツかよ
他に無条件ループ作るコンストラクトがあるなら教えてほしいわ
上の方のレスにある9999999決め打ちでもするのか?
他にもハック挙がってるけどどう考えてもwhile True:より筋が悪いよね?
先輩が言ってたから正しい?自分の意見を持とうよ?
2021/03/23(火) 03:26:27.50ID:ND3VvCO4
while yes=sir:
2021/03/23(火) 03:33:34.75ID:QbxOC6mC
…と偉そうなこと言った手前、俺の習慣を紹介しておく
while True や1は仕様上そうするのが筋なので、確かに冗長と批判できる
truthyならwhile "comment":でも、while ...:でもよい
何の情報も含まないwhile True/1:よりは良い習慣
後者は…それが思いつかなかった時だな、コメントがbreakの傍に付いている方が合理的なケースもあるので
....は1, 2, 3, ...という一般に認知されている表記なので、trueを表現するtruthy(5シンボルとしては、1/Trueより優れている事は明らかだろう
while True や1は仕様上そうするのが筋なので、確かに冗長と批判できる
truthyならwhile "comment":でも、while ...:でもよい
何の情報も含まないwhile True/1:よりは良い習慣
後者は…それが思いつかなかった時だな、コメントがbreakの傍に付いている方が合理的なケースもあるので
....は1, 2, 3, ...という一般に認知されている表記なので、trueを表現するtruthy(5シンボルとしては、1/Trueより優れている事は明らかだろう
97デフォルトの名無しさん
2021/03/23(火) 03:49:20.93ID:zpYNNqZr >>64
if not cond:
__while True:
____print('処理A')
____time.sleep(1)
for i in range(10):
__print('処理A')
__time.sleep(1)
この部分だけ書けていわれたらこうするわ
if not cond:
__while True:
____print('処理A')
____time.sleep(1)
for i in range(10):
__print('処理A')
__time.sleep(1)
この部分だけ書けていわれたらこうするわ
2021/03/23(火) 06:54:35.77ID:ZYJLDniu
2021/03/23(火) 06:55:42.42ID:ZYJLDniu
>>96
ちょっと何言ってるかわからない
ちょっと何言ってるかわからない
100デフォルトの名無しさん
2021/03/23(火) 10:05:15.95ID:HSGkWRhe GOTO文のように無限ループ文を作れば解決する
101デフォルトの名無しさん
2021/03/23(火) 14:54:00.54ID:CY92qFOb while Trueするのはdo~whileしたい場合
そうじゃないなら書き直したほうがいいかもね
そうじゃないなら書き直したほうがいいかもね
102デフォルトの名無しさん
2021/03/23(火) 15:46:37.69ID:mu30Ep9P ちょっとしたデバッグのときに
lst = [
__{"a":0,"b":1}
__'''
__,{
___"a":2,
___"b":3
__}
__'''
]
シンタックスエラー
'''は#の複数版かと思ったら単なる文字列だったんですね。
こういうときは、ショートカットキーで複数行に#入れたり消したりする人の方が多いのかな
lst = [
__{"a":0,"b":1}
__'''
__,{
___"a":2,
___"b":3
__}
__'''
]
シンタックスエラー
'''は#の複数版かと思ったら単なる文字列だったんですね。
こういうときは、ショートカットキーで複数行に#入れたり消したりする人の方が多いのかな
103デフォルトの名無しさん
2021/03/23(火) 16:21:30.22ID:ch/yi3Wo >>102
さすがにコメントアウトショートカットで出来ないエディタを使うことはないな。
絶対に何も入れちゃいけない環境以外ではVSCodeいれちゃう。
何も入れちゃいけない環境でデバッグしなくちゃいけなくて、
lstに入れるだけいいんだったら、複数バージョンの代入文を作っておいて、if Trueとかでどれを実際に実行するかは決める、ぐらいはやるかなあ。
あとはなるべく改行を入れないで#一つでコメントアウトできるようにするって手も考えるかな。
さすがにコメントアウトショートカットで出来ないエディタを使うことはないな。
絶対に何も入れちゃいけない環境以外ではVSCodeいれちゃう。
何も入れちゃいけない環境でデバッグしなくちゃいけなくて、
lstに入れるだけいいんだったら、複数バージョンの代入文を作っておいて、if Trueとかでどれを実際に実行するかは決める、ぐらいはやるかなあ。
あとはなるべく改行を入れないで#一つでコメントアウトできるようにするって手も考えるかな。
104デフォルトの名無しさん
2021/03/23(火) 17:12:08.45ID:q1xbaFi+ Octaveだと正方行列とその逆行列の乗法で単位行列が得られる。
GNU Octave, version 4.4.1
octave:1> a = ([4,5,7;-4,1,5;-10,3,8])
octave:2> b = inv(a)
octave:3> a * b
ans =
1.00000 0.00000 0.00000
0.00000 1.00000 0.00000
0.00000 0.00000 1.00000
でもPython3だと単位行列が得られたのかよく分からない。
これで正しいの?
Python 3.7.3
>>> import numpy as np
>>> a = np.array([[4,6,7],[-4,1,5],[-10,3,8]])
>>> np.linalg.inv(a)
array([[ 0.04666667, 0.18 , -0.15333333],
[ 0.12 , -0.68 , 0.32 ],
[ 0.01333333, 0.48 , -0.18666667]])
>>> b = np.linalg.inv(a)
>>> a @ b
array([[ 1.00000000e+00, -4.44089210e-16, 0.00000000e+00],
[ 2.77555756e-17, 1.00000000e+00, 0.00000000e+00],
[ 1.38777878e-17, 0.00000000e+00, 1.00000000e+00]])
GNU Octave, version 4.4.1
octave:1> a = ([4,5,7;-4,1,5;-10,3,8])
octave:2> b = inv(a)
octave:3> a * b
ans =
1.00000 0.00000 0.00000
0.00000 1.00000 0.00000
0.00000 0.00000 1.00000
でもPython3だと単位行列が得られたのかよく分からない。
これで正しいの?
Python 3.7.3
>>> import numpy as np
>>> a = np.array([[4,6,7],[-4,1,5],[-10,3,8]])
>>> np.linalg.inv(a)
array([[ 0.04666667, 0.18 , -0.15333333],
[ 0.12 , -0.68 , 0.32 ],
[ 0.01333333, 0.48 , -0.18666667]])
>>> b = np.linalg.inv(a)
>>> a @ b
array([[ 1.00000000e+00, -4.44089210e-16, 0.00000000e+00],
[ 2.77555756e-17, 1.00000000e+00, 0.00000000e+00],
[ 1.38777878e-17, 0.00000000e+00, 1.00000000e+00]])
105デフォルトの名無しさん
2021/03/23(火) 17:43:46.60ID:SeSscUQI >>101
どうして?
どうして?
106デフォルトの名無しさん
2021/03/23(火) 18:30:46.10ID:f4Z9PwYH107デフォルトの名無しさん
2021/03/23(火) 18:47:26.71ID:WuxMgk/9 行列が違うのはおいといてOctaveもnumpyも基本は浮動小数点数の演算だから丸め誤差などによりピッタリゼロになるとは限らない
Octaveで
format long e
を実行した後に確認すると多分ゼロになってないと思うよ
表示形式でゼロに見えてるだけだと思う
うちの環境だと0.00000じゃなくて-0.00000になる成分あるし
Octaveで
format long e
を実行した後に確認すると多分ゼロになってないと思うよ
表示形式でゼロに見えてるだけだと思う
うちの環境だと0.00000じゃなくて-0.00000になる成分あるし
108デフォルトの名無しさん
2021/03/24(水) 19:57:42.51ID:8oiSJv/j 例えば、Pythonを用いたプログラミングの本を読んでいるとします。
その本の著者のサイトにPythonコードが「.pyファイル」としてダウンロードできるようになっているとします。
ある読者は、普段からIDEではなく、Jupyter Notebookを愛用しているとします。
そのため、この読者は、Jupyter Notebookのセルに著者の「.pyファイル」をロードして、コードを読んだり、変更したり、実行したりしたいと考えています。
この読者はどうすればこれを実現できるのでしょうか?
その本の著者のサイトにPythonコードが「.pyファイル」としてダウンロードできるようになっているとします。
ある読者は、普段からIDEではなく、Jupyter Notebookを愛用しているとします。
そのため、この読者は、Jupyter Notebookのセルに著者の「.pyファイル」をロードして、コードを読んだり、変更したり、実行したりしたいと考えています。
この読者はどうすればこれを実現できるのでしょうか?
109デフォルトの名無しさん
2021/03/24(水) 20:00:25.38ID:jO3PWgho この読者って自分のこと?
110デフォルトの名無しさん
2021/03/24(水) 20:04:40.15ID:QbxZqHqJ111デフォルトの名無しさん
2021/03/24(水) 20:19:50.51ID:8oiSJv/j112デフォルトの名無しさん
2021/03/24(水) 20:23:27.54ID:8oiSJv/j JupyterLab上でグラフを表示するには、
%matplotlib inline
というコマンドをセルに入力して実行しないといけないということで、実際今までそうしてきました。
今日、このコマンドを入れずに、
# %load matplotlibexample.py
import matplotlib.pyplot as plt
import numpy as np
t = np.linspace(-3, 3, 1000)
plt.plot(t, np.exp(-t**2)*np.sin(20*t))
plt.title('sample graph $x(t)=e^{-t^2}\sin(20t)$')
plt.xlabel('t')
plt.ylabel('x')
plt.show()
を実行したところ、ちゃんとノートブック上にグラフが表示されました。
%matplotlib inline
はもう入力しなくてもよくなったのでしょうか?
%matplotlib inline
というコマンドをセルに入力して実行しないといけないということで、実際今までそうしてきました。
今日、このコマンドを入れずに、
# %load matplotlibexample.py
import matplotlib.pyplot as plt
import numpy as np
t = np.linspace(-3, 3, 1000)
plt.plot(t, np.exp(-t**2)*np.sin(20*t))
plt.title('sample graph $x(t)=e^{-t^2}\sin(20t)$')
plt.xlabel('t')
plt.ylabel('x')
plt.show()
を実行したところ、ちゃんとノートブック上にグラフが表示されました。
%matplotlib inline
はもう入力しなくてもよくなったのでしょうか?
113デフォルトの名無しさん
2021/03/24(水) 20:48:55.22ID:SWND22zP >>110
横からだけどセル。
notebook用語なのでpython以外のカーネルにしてもセル。
実行単位なんだけどあるセルで算出してる結果に依存してる別のセルを実行する際に依存先のセル未実行だとエラーとかいろいろめんどい。
一世を風靡したスライド
I Don't Like Notebooks
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/mobilepresent?slide=id.g362da58057_0_1
2018年のjupyterconでの発表でした
https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/68282.html
当時の反応(英語)
https://www.reddit.com/r/Python/comments/9aoi35/i_dont_like_notebooks_joel_grus_jupytercon_2018/
横からだけどセル。
notebook用語なのでpython以外のカーネルにしてもセル。
実行単位なんだけどあるセルで算出してる結果に依存してる別のセルを実行する際に依存先のセル未実行だとエラーとかいろいろめんどい。
一世を風靡したスライド
I Don't Like Notebooks
https://docs.google.com/presentation/d/1n2RlMdmv1p25Xy5thJUhkKGvjtV-dkAIsUXP-AL4ffI/mobilepresent?slide=id.g362da58057_0_1
2018年のjupyterconでの発表でした
https://conferences.oreilly.com/jupyter/jup-ny/public/schedule/detail/68282.html
当時の反応(英語)
https://www.reddit.com/r/Python/comments/9aoi35/i_dont_like_notebooks_joel_grus_jupytercon_2018/
114デフォルトの名無しさん
2021/03/25(木) 01:57:39.05ID:5Yw77v05 もしかして.pyファイルをjupyter notebookで実行する方法聞いてるだけか
何でそんな長々と意味不明なこと書いてるの?
何でそんな長々と意味不明なこと書いてるの?
115デフォルトの名無しさん
2021/03/25(木) 02:19:54.21ID:Lv/3T6MK 回りくどくて草
116デフォルトの名無しさん
2021/03/25(木) 04:13:00.19ID:TW8zAfP8 統失の特徴
117デフォルトの名無しさん
2021/03/25(木) 08:02:26.68ID:np4EPf1w コピペで大体実行できるかな
別にサクラエディタでもVSCodeでもいいから.pyファイルを開きコピペ
ただしsjisとUTF-8とか
あとインデントに気を付ける
コピペでインデントがずれて動かないことがあるので
そこは丹念に直す
別にサクラエディタでもVSCodeでもいいから.pyファイルを開きコピペ
ただしsjisとUTF-8とか
あとインデントに気を付ける
コピペでインデントがずれて動かないことがあるので
そこは丹念に直す
118デフォルトの名無しさん
2021/03/25(木) 08:21:24.72ID:ITDRmOAn tkinterで
200*100じゃなくて
200x100と小文字のエックスするの何故なのか教えてほしいです……
200*100じゃなくて
200x100と小文字のエックスするの何故なのか教えてほしいです……
119デフォルトの名無しさん
2021/03/25(木) 08:39:22.55ID:3ixfSSYA 乗算じゃなくて
ピクセルで領域指定だからジャネーノ
とエスパーしてみる
ピクセルで領域指定だからジャネーノ
とエスパーしてみる
120デフォルトの名無しさん
2021/03/25(木) 14:26:26.89ID:B8lnjfbN 以下のコードを実行すると、グラフがf(x) = 0のグラフになってしまい、意図したものと異なってしまいます。
どう修正すれば意図通りの結果が得られますでしょうか?
ベクトル化についてよく分かっていないので、そのあたりがあやしいと思っています。
import numpy as np
import matplotlib.pyplot as plt
PI = np.pi
def func_x(t):
if 0 <= t:
return np.sin(t)
else:
return 0
npfunc_x = np.vectorize(func_x)
t = np.linspace(-PI, PI, 10000)
x = npfunc_x(t)
plt.plot(t, x)
plt.show()
どう修正すれば意図通りの結果が得られますでしょうか?
ベクトル化についてよく分かっていないので、そのあたりがあやしいと思っています。
import numpy as np
import matplotlib.pyplot as plt
PI = np.pi
def func_x(t):
if 0 <= t:
return np.sin(t)
else:
return 0
npfunc_x = np.vectorize(func_x)
t = np.linspace(-PI, PI, 10000)
x = npfunc_x(t)
plt.plot(t, x)
plt.show()
121デフォルトの名無しさん
2021/03/25(木) 14:28:00.54ID:Nsykn7+b122デフォルトの名無しさん
2021/03/25(木) 14:33:03.93ID:B8lnjfbN >>121
xは全部0の配列になっています。
xは全部0の配列になっています。
123デフォルトの名無しさん
2021/03/25(木) 14:37:18.67ID:3ixfSSYA 0ベクトルにナニかけても0やぞ
算数やりなおせ
算数やりなおせ
124デフォルトの名無しさん
2021/03/25(木) 14:53:03.27ID:B8lnjfbN125デフォルトの名無しさん
2021/03/25(木) 14:57:17.24ID:8wVz7C90 出力は一番目の値で決定されるから、return 0.0とするかotypeを指定しろ
不等号逆向きにすると動作するけど、そのコードが動作しないのは出力が整数型に固定されて切り捨てでゼロ扱いされるから
不等号逆向きにすると動作するけど、そのコードが動作しないのは出力が整数型に固定されて切り捨てでゼロ扱いされるから
126デフォルトの名無しさん
2021/03/25(木) 15:03:02.76ID:B8lnjfbN127デフォルトの名無しさん
2021/03/25(木) 15:26:22.39ID:vHK7Evso 今まではプログラミングの経験はなく、
教養としてpythonを勉強し始めました。
ただ仕事で使う機会もなく、いまいち勉強に身が入らない感じです。
皆さんはどうされているんですか?
ここのスレだと仕事で使う人が多いんでしょうか。
教養としてpythonを勉強し始めました。
ただ仕事で使う機会もなく、いまいち勉強に身が入らない感じです。
皆さんはどうされているんですか?
ここのスレだと仕事で使う人が多いんでしょうか。
128デフォルトの名無しさん
2021/03/25(木) 15:39:56.92ID:3ixfSSYA129デフォルトの名無しさん
2021/03/25(木) 15:43:34.06ID:3ixfSSYA130デフォルトの名無しさん
2021/03/25(木) 16:49:02.78ID:Q40pz2EP131デフォルトの名無しさん
2021/03/25(木) 16:54:43.80ID:5Yw77v05132デフォルトの名無しさん
2021/03/25(木) 17:24:40.64ID:XNAp3E0g >>127
相場売買のAIを作ろうと思ってます
相場売買のAIを作ろうと思ってます
133デフォルトの名無しさん
2021/03/25(木) 18:19:37.27ID:3ixfSSYA >>132
Pythonのノウハウよりだいじなことをおしえてやろう
相場をヲチって
よしんば正確に予想できるアルゴリズムが完成したとしても
自分が混ざった時点でそのぱーふぇくと理論は崩れる
と
覚えとけよw
Pythonのノウハウよりだいじなことをおしえてやろう
相場をヲチって
よしんば正確に予想できるアルゴリズムが完成したとしても
自分が混ざった時点でそのぱーふぇくと理論は崩れる
と
覚えとけよw
134デフォルトの名無しさん
2021/03/25(木) 18:21:37.93ID:GJzYUDdl 自分もスクレイピングやファイルの分類
ほぼエロ目的
だからそれのために情報を得るしそれに応用できないテクニックや知識は全部無駄
プログラミングを仕事にしてるわけでもないからpython自体の勉強なんかしないしやる気も出るわけない
ほぼエロ目的
だからそれのために情報を得るしそれに応用できないテクニックや知識は全部無駄
プログラミングを仕事にしてるわけでもないからpython自体の勉強なんかしないしやる気も出るわけない
135127
2021/03/25(木) 18:43:38.10ID:2VOe+7hV やっぱり、そうなんですよね。
一通り基礎は理解したものの、その後のモチベーションが…
ヒューマンリソースマシーンのような、
プログラミング的なゲームでもやっておいた方が良い気もしてきました(笑)
一通り基礎は理解したものの、その後のモチベーションが…
ヒューマンリソースマシーンのような、
プログラミング的なゲームでもやっておいた方が良い気もしてきました(笑)
136デフォルトの名無しさん
2021/03/25(木) 20:05:46.21ID:nCOBs6jg モチベーション無いなら無理に続けなくても
137デフォルトの名無しさん
2021/03/25(木) 20:10:08.44ID:KmpgWBAt ヒューマンリソースマシンはあれアセンブラだぞ
使える命令とかマシン語まんま
実用的なプログラムの勉強にはならない
頭の体操だね
使える命令とかマシン語まんま
実用的なプログラムの勉強にはならない
頭の体操だね
138デフォルトの名無しさん
2021/03/25(木) 20:55:15.36ID:2VOe+7hV139デフォルトの名無しさん
2021/03/25(木) 21:49:59.94ID:KmpgWBAt >>138
カルネージハートですね。
https://ja.m.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%8F%E3%83%BC%E3%83%88
本家はもう10年前だけど外人製のフォロワーゲームとか探せばある
カルネージハートですね。
https://ja.m.wikipedia.org/wiki/%E3%82%AB%E3%83%AB%E3%83%8D%E3%83%BC%E3%82%B8%E3%83%8F%E3%83%BC%E3%83%88
本家はもう10年前だけど外人製のフォロワーゲームとか探せばある
140デフォルトの名無しさん
2021/03/26(金) 00:00:46.47ID:0ubO4ros こういうやつか
https://www.gamespark.jp/article/2019/06/08/90338.html
> その後、実際に本作の開発を開始する際、ゲームプレイの面でリサーチをし、2つのシステムがとても気に入りました。
> 『ファイナルファンタジーXII』のガンビットシステムと『カルネージハート』のプログラミングインターフェースです。
> 私の本作における目標は、ガンビットのシンプルさと『カルネージハート』の戦術的奥深さの間の妥協点を見つけることでした。
https://www.gamespark.jp/article/2019/06/08/90338.html
> その後、実際に本作の開発を開始する際、ゲームプレイの面でリサーチをし、2つのシステムがとても気に入りました。
> 『ファイナルファンタジーXII』のガンビットシステムと『カルネージハート』のプログラミングインターフェースです。
> 私の本作における目標は、ガンビットのシンプルさと『カルネージハート』の戦術的奥深さの間の妥協点を見つけることでした。
141デフォルトの名無しさん
2021/03/26(金) 19:02:57.03ID:v+/VCeWZ >>127
金盾へのハッキングが面白くて、熱い
金盾へのハッキングが面白くて、熱い
142デフォルトの名無しさん
2021/03/26(金) 22:05:49.82ID:ndqtKa4D >>141
そんなもんひたすらそっち系検索エンジンに特定のクエリ送り続けるだけやん
そんなもんひたすらそっち系検索エンジンに特定のクエリ送り続けるだけやん
143デフォルトの名無しさん
2021/03/27(土) 11:59:14.14ID:tPWOTzAz 以下の辞書内包表記がエラーになります。
どうすればいいでしょうか?
import math
def normalize_coefficients(n, D):
return {(s, i):0.5*math.sqrt(n/s) if s != 0 else (s, i):math.sqrt(n) for (s, i) in D.keys()}
どうすればいいでしょうか?
import math
def normalize_coefficients(n, D):
return {(s, i):0.5*math.sqrt(n/s) if s != 0 else (s, i):math.sqrt(n) for (s, i) in D.keys()}
144デフォルトの名無しさん
2021/03/27(土) 14:43:44.30ID:cpUHfD3R エラーに間違ってるとこを示す矢印っぽいのが出てるでしょ
elseの後の`(s, i):`を削除して
elseの後の`(s, i):`を削除して
145デフォルトの名無しさん
2021/03/27(土) 16:38:19.00ID:56gcLvkb >>143
この手の質問はエラーメッセージと、本当はどんな動作を期待していたのか書いた方が答えてもらいやすい
この手の質問はエラーメッセージと、本当はどんな動作を期待していたのか書いた方が答えてもらいやすい
146デフォルトの名無しさん
2021/03/27(土) 19:35:40.12ID:sxUgZiKM 面倒な質問だと「窓から投げ捨てろ」と言う
147デフォルトの名無しさん
2021/03/28(日) 02:30:55.99ID:AdvYUXyR 普通Dとnに何入れたらそうなったかくらいは書くだろ。
148デフォルトの名無しさん
2021/03/28(日) 02:59:44.68ID:XX3dha92 urllib.parse.urlencode()で辞書を渡す場合、値にリストを含む場合の変換結果について教えてください。
例えば以下のようなリスト値を含む辞書データを与えた場合
{'a': [123,456]}
a=[123, 456]
という風にリスト内の値の区切りに空白が入った文字列としてエンコードされてしまいます。(123, と456の間)
(実際には記号や空白は%xxや+でエンコードされます)
a=[123,456]
のようにリスト内の値の区切りに空白を含めない文字列としてエンコードする方法はありますか?
例えば以下のようなリスト値を含む辞書データを与えた場合
{'a': [123,456]}
a=[123, 456]
という風にリスト内の値の区切りに空白が入った文字列としてエンコードされてしまいます。(123, と456の間)
(実際には記号や空白は%xxや+でエンコードされます)
a=[123,456]
のようにリスト内の値の区切りに空白を含めない文字列としてエンコードする方法はありますか?
149デフォルトの名無しさん
2021/03/28(日) 04:32:58.94ID:3NgZ3Zxf bytesでないdictのvalueはstrが呼ばれてstrにされる実装だから単純な方法では無理やな
https://github.com/python/cpython/blob/master/Lib/urllib/parse.py#L950
* 文字列化したlistの空白を消すquote_plusを作ってurlencodeのquote_viaに渡す
* dictのvalueにlistでなく文字列を渡す
* dictのvalueに渡すlistを、空白が入らないように文字列化する__str__を実装したクラスでラップする
どれかをどうぞ
https://github.com/python/cpython/blob/master/Lib/urllib/parse.py#L950
* 文字列化したlistの空白を消すquote_plusを作ってurlencodeのquote_viaに渡す
* dictのvalueにlistでなく文字列を渡す
* dictのvalueに渡すlistを、空白が入らないように文字列化する__str__を実装したクラスでラップする
どれかをどうぞ
150デフォルトの名無しさん
2021/03/28(日) 06:10:39.39ID:XX3dha92 ありがとうございます。
やはり単純にはいかないんですね。
素直にリストではなく、初めから文字列で格納するようにします。
やはり単純にはいかないんですね。
素直にリストではなく、初めから文字列で格納するようにします。
151デフォルトの名無しさん
2021/03/28(日) 20:49:47.97ID:JC3QvQ/6 すっごいしょーもない質問なんですけど
0から始めるならおすすめの初心者向けサイトってありますか?
0から始めるならおすすめの初心者向けサイトってありますか?
152デフォルトの名無しさん
2021/03/28(日) 21:02:38.12ID:2n/niDAm うちProgateでhtmlとかPythonとか自分が使いそうなやつ1ヶ月くらいやってあとはひたすらググって必要なやつだけかいつばんでいった
phpとかもやったけど結局使ってない
phpとかもやったけど結局使ってない
153デフォルトの名無しさん
2021/03/28(日) 21:45:28.92ID:AdvYUXyR サイト見てやるくらいならオライリーの初めてのpythonでも買って全部読む方がよっぽどマシだぞ
154デフォルトの名無しさん
2021/03/28(日) 21:58:48.98ID:zZ3ybzIq いきなり本なんか買ったって続かないよ
サイトから入るのはいいと思うけどね
サイトから入るのはいいと思うけどね
155デフォルトの名無しさん
2021/03/28(日) 22:01:08.75ID:Wfs5bmxs 俺はやりたいことが決まってからpythonやりだしたのと
別の言語はできたから一通りfizzbuzzとか書いてから
必要なライブラリ検索して作るっていう工程を繰り返したけど
いきなり無からやり出すんだったら本あったほうがいいと思う
別の言語はできたから一通りfizzbuzzとか書いてから
必要なライブラリ検索して作るっていう工程を繰り返したけど
いきなり無からやり出すんだったら本あったほうがいいと思う
156デフォルトの名無しさん
2021/03/29(月) 01:58:30.08ID:WE/JZmPT ありがとうございます。本買うことにします。
157デフォルトの名無しさん
2021/03/29(月) 12:17:33.31ID:np5gG6ll 初めてのPythonはGoogleブックスで150ページぐらい読めるから、買う前に目を通してみて解るなら購入したらいいよ
俺にはとてもゼロから始める人に勧めるものとは思えない
俺にはとてもゼロから始める人に勧めるものとは思えない
158デフォルトの名無しさん
2021/03/30(火) 16:15:46.49ID:/x/CBTP/ Python で連鎖律を解きたいです。
微分には「SymPy」といったライブラリが適していると、解説サイトにありました。
y = u^3
u = x^3 + 2x^2 + 3x + 4
この y の微分を求めたいです。
上記の答えは、
3(x^3 + 2x^2 + 3x + 4)^2 (3x^2 + 4x + 3)
になるそうなんですが、うまくゆきません。
以下に試したコードを書きます。
diff((x**3 + 2*x**2 + 3*x + 4)**3)
→ ×
a = diff((u**3) * (x**3 + 2*x**2 + 3*x + 4), u, x)
a.subs(u, x**3 + 2*x**2 + 3*x + 4)
→ ×
どなたかお知恵をお貸しください。よろしくお願いします<(_ _)>
微分には「SymPy」といったライブラリが適していると、解説サイトにありました。
y = u^3
u = x^3 + 2x^2 + 3x + 4
この y の微分を求めたいです。
上記の答えは、
3(x^3 + 2x^2 + 3x + 4)^2 (3x^2 + 4x + 3)
になるそうなんですが、うまくゆきません。
以下に試したコードを書きます。
diff((x**3 + 2*x**2 + 3*x + 4)**3)
→ ×
a = diff((u**3) * (x**3 + 2*x**2 + 3*x + 4), u, x)
a.subs(u, x**3 + 2*x**2 + 3*x + 4)
→ ×
どなたかお知恵をお貸しください。よろしくお願いします<(_ _)>
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 【おこめ券】鈴木憲和農相 小泉前農相の備蓄米放出を“反省”「備蓄の円滑な運営を図ってまいります」 [Hitzeschleier★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★4
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 【速報】室井佑月、米山隆一との離婚を決意wwwwwwwwwwwwwwwwwwww [802034645]
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
- 雑談した~い!
- 【安倍晋三】クマ駆除で誤射した猟友会隊員に町が1663万円請求【山形】 [452056903]
