くだすれPython(超初心者用) その37

■ このスレッドは過去ログ倉庫に格納されています
2018/03/17(土) 16:32:25.91ID:S1lkLDnv
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その36
http://mevius.2ch.net/test/read.cgi/tech/1514805522/
2018/03/22(木) 23:35:44.33ID:q/Ja7+Ba
>>50
> 配列aの要素が配列bにすべて含まれていればTrue
> 例えば以下のような形です
> #True
> a=(1,2,3,4)
> b=(2,1,3)

???
4が配列bに含まれていないようだが?
なぜにTrue???
66デフォルトの名無しさん
垢版 |
2018/03/23(金) 00:03:52.46ID:qUw1cRZJ
え?
2018/03/23(金) 00:22:49.84ID:i31Fn5mw
うーんまあ
配列aの要素が配列bの要素をすべて含んでいる場合
あるいは
配列bの要素が配列aにすべて含まれている場合
と書くのが正確ね
2018/03/23(金) 00:53:01.08ID:0pO3RnAr
>>65
このスレの質問者は超低脳が多い。
そんな奴の質問は辻褄が合うことはあまりない
そんなもんだから回答者は真の質問を見抜ける高脳でないと駄目

len(a)>=len(b)なら、配列aの要素が配列bにすべて含まれている可能性あるのは....
2018/03/23(金) 00:57:09.20ID:0pO3RnAr
>>67
a,bが逆になっているだけじゃないのか
70デフォルトの名無しさん
垢版 |
2018/03/23(金) 04:01:48.52ID:NfdpbbfG
誰かアプリ作れる人いませんか?
71デフォルトの名無しさん
垢版 |
2018/03/23(金) 07:22:27.94ID:qUw1cRZJ
このスレでアプリ作れるのは俺くらいのもんだろ
2018/03/23(金) 11:51:11.90ID:L1wsKiud
pythonでアプリ(実行ファイル)作るのは難しいよな
俺もスクリプト作るのが限界だわw
2018/03/23(金) 12:22:07.12ID:kM32haS5
わざわざ()してくれたとこ悪いんだけど.pyも実行ファイルなんだよね
2018/03/23(金) 12:33:36.05ID:dRbnJSq+
Windowsみたいなオモチャだと難しいよなw
2018/03/23(金) 18:11:07.27ID:OUYN8NdW
class NewClass:
hoge = "hoge"

class NewClass:
def __init__(self):
self.hoge = "hoge"
この2つに違いってありますか?
76デフォルトの名無しさん
垢版 |
2018/03/23(金) 18:43:03.09ID:GtydX90K
あるよ
77デフォルトの名無しさん
垢版 |
2018/03/23(金) 19:37:01.46ID:ZnDm/A5o
>>64
それってジェネレータに勝てるの?
2018/03/23(金) 19:42:15.36ID:OUYN8NdW
>>76
なるほど継承するときに違いが出るということですね
ありがとうございました
79デフォルトの名無しさん
垢版 |
2018/03/23(金) 21:21:46.68ID:9yghwvRE
>>78
違うよ
2018/03/23(金) 21:50:35.83ID:cWFdcGfI
こうかな?

class A:
hage="hage"

class NewClass:
hoge=A()

a=NewClass()
b=NewClass()

b.hoge.hage="huga"

print(a.hoge.hage)
print(b.hoge.hage)

class NewClass2:
def __init__(self):
self.hoge=A()

a=NewClass2()
b=NewClass2()

b.hoge.hage="huga"

print(a.hoge.hage)
print(b.hoge.hage)
2018/03/24(土) 00:06:55.67ID:ua0H29LU
>>80
なるほどコンストラクタ外に記述したプロパティは参照するたびに更新されるということですかね
ありがとうございました
2018/03/24(土) 00:26:27.77ID:6+fQqcMh
えぇ…
2018/03/24(土) 01:02:21.46ID:M254L+Kv
コンストラクタってどれのことを言っているんだろ
ダンダーinitのことかな?
2018/03/24(土) 01:36:03.13ID:ua0H29LU
なるほどクラス変数とインスタンス変数の違いですかね
これが別物だということを分かっていませんでした
ありがとうございました
2018/03/24(土) 03:51:20.06ID:5DHcZkrY
リストの2次元配列に文字列をappendしていきたいのですが、
完全に空な2次元リストはどのように宣言すればいいんですか?

arr = [[]]
arr.append("apple")
arr.append("hage")
とすると
[[],[apple],[hage]]
となってしまいます

[[apple],[hage]]というリストを作りたいです
2018/03/24(土) 04:12:14.60ID:DtiNFwiJ
リストにリストを持たせたければ
リストをappendするしかないんじゃないか

>>> arr = []
>>> arr.append(['apple'])
>>> arr.append(['hage'])
>>> arr
[['apple'], ['hage']]
2018/03/24(土) 04:14:39.51ID:SVLgN11o
arr = [[] for _ in range(2)]
2018/03/24(土) 04:19:39.81ID:SVLgN11o
あとは arr[0] と arr[1] にappendすればOK
89デフォルトの名無しさん
垢版 |
2018/03/24(土) 09:20:52.26ID:3cN93bef
2次元配列じゃなくて配列の配列だけどな。
2018/03/24(土) 14:39:47.54ID:1M7APlB/
>>85
です
ありがとうございます出来ました
2018/03/24(土) 14:45:04.21ID:iVzkwtpj
.pyをexe形式する方法有るケドな
2018/03/24(土) 17:35:00.31ID:CjNpxR1+
Mac用アプリにも出来る
2018/03/24(土) 21:02:13.48ID:6+fQqcMh
Linux上で動いてるパイソンコード(ライブラリ等も含めて)をWindows exeにする方法ってありますか?
2018/03/24(土) 21:13:03.17ID:qA6u9GtS
お前には無理
2018/03/24(土) 21:42:22.06ID:OpmPJ6Nw
Pythonにmain関数はないの?
2018/03/24(土) 21:48:08.73ID:dZ11fZcx
winexe.jar
2018/03/24(土) 21:50:51.20ID:CjNpxR1+
Linuxは全然分からないけど、windowsとかMACのモジュールと同じモジュールでも動くならあるよ
2018/03/25(日) 02:06:35.44ID:vGx9Wf9w
>>93
pythonコードをLinux上でwinのexeに変換するプログラムはあるんじゃないのか。
これの需要はかなりありそうだし
ただ、WinにはないLinux独特の機能を使っているコードだとだめだろうが。
2018/03/25(日) 14:03:56.05ID:ydE12e/a
UbuntuのB shellでワンライナーで実行したいんですけど、
文字列をprintしようとすると変数と解釈されてしまうみたいでエラーが出てしまいます。
整数だったらエラーにならないんですが...
どうすればいいのでしょうか?

python -c "print("aaa")"

Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'aaa' is not defined


python -c "print("1")"
1
2018/03/25(日) 14:05:23.73ID:WaYZZq21
python -c 'print("aaa")'
2018/03/25(日) 14:05:55.21ID:ydE12e/a
>>99
すみません
自己解決しました
シングルクオートにしたらできました
102デフォルトの名無しさん
垢版 |
2018/03/25(日) 14:06:16.39ID:ydE12e/a
>>100
ありがとうございました
2018/03/25(日) 23:15:11.80ID:DaTr1DzF
for を使って単純な足し算引き算を10億回の処理したら、皆のPCならどれくらいの時間かかる?
2018/03/25(日) 23:33:31.13ID:DaTr1DzF
>>103
ごめん、計算する数値は1億桁で
2018/03/25(日) 23:52:02.81ID:R2VPlajs
そんなこと聞いてどうする。言語の違いでもそんなの意味ないのに。
2018/03/26(月) 00:15:48.82ID:HKDZDkOJ
知りたいから聞く

ダメか?
2018/03/26(月) 00:18:27.51ID:mhu6xXG+
いやこのスレ的に python の long の性能の話だろ多分
2018/03/26(月) 01:51:48.59ID:KvFIiPGN
いいんじゃねーの聞くくらい
俺はやらないし答えないけど
109デフォルトの名無しさん
垢版 |
2018/03/26(月) 05:05:05.33ID:OxsjGzhh
普通の知能持ってる人は対数使う
110デフォルトの名無しさん
垢版 |
2018/03/26(月) 07:13:54.70ID:WZ1ZCWjW
つまり天才は対数使わない。
111デフォルトの名無しさん
垢版 |
2018/03/26(月) 07:16:38.08ID:xZZfGuVF
>>109
若宮正子さんも対数使っているのかな?
2018/03/26(月) 08:33:11.81ID:ipWiSu89
while ture でループ中に計算してだした値をリストに入れて次のループでもそのリストを使いたいんだがどうするんですか?
例えば[1] [1,1] [1,1,1] とループで表示していきたいとき

while true:
list=[]
list.append(1)
print(list)
time.sleep(5)

ってやってもずっと[1]が表示され続けるんですが
2018/03/26(月) 08:36:59.62ID:u5mr1n2+
>>112
そりゃ毎回list作り直してるからな
> list=[]
をループ外に出せばいい
2018/03/26(月) 08:41:48.81ID:ipWiSu89
>>113
迅速なご回答ありがとうございます!
2018/03/26(月) 10:39:10.61ID:ULwk/4nL
半年前からC#を始めて、最近pythonの勉強も始めました
今は参考書を見ながら基本文法を勉強しているのですが、何か形にしてイメージを掴みたいなと思っています
みなさんが勉強する時に参考にしたアプリや、これを作ってみろ、というような物がありましたら是非教えてください
116デフォルトの名無しさん
垢版 |
2018/03/26(月) 11:08:23.56ID:Uam8iqco
scratch
2018/03/26(月) 11:10:21.19ID:yutowq4u
https://www.amazon.co.jp/dp/4800711657
http://bibinbaleo.hatenablog.com/entry/2017/07/08/173710
http://ichibariki.hatenablog.com/entry/2017/05/03/184753
https://qiita.com/noanoa07/items/19d9d83867d2226c76c8
https://www.timeless-education.com/five-steps-to-start-python-programming-in-minecraft-2607.html
118遊園地-24
垢版 |
2018/03/26(月) 12:11:08.82ID:wYtYQOPu
GUI部分をC#
3目並べをモンテカルロ or ミニマックス法 python

受け渡し実装
119遊園地-24
垢版 |
2018/03/26(月) 12:16:16.01ID:wYtYQOPu
古典的に分かり易い
ミニマックス法が良いんじゃね?[不明]

嫌なら、ネガマックス法とか
かな
120遊園地-24
垢版 |
2018/03/26(月) 16:51:46.83ID:wYtYQOPu
遊園地の為のURL
http://ustimaw.hatenablog.com/entry/2014/12/14/081423

メモ
2018/03/26(月) 21:12:37.13ID:ujJRTdDM
他人の押し付けより自分が一番興味あることを言ってみろ
それに関連するものをやればいい
2018/03/26(月) 21:29:58.56ID:PunXNe2v
これ作ってみ?
http://connect4.gamesolver.org/?pos=
2018/03/27(火) 13:32:18.34ID:ZLXZGkXc
class A,B,Cを継承したMainクラス内でそれぞれをsuper()するとき
(MAIN,self) (A,self) (B,self)となるのはどうしてなんですか
すごい気持ち悪いんですが、どうにかなりませんか?
124デフォルトの名無しさん
垢版 |
2018/03/27(火) 15:46:36.73ID:7pnb7M0m
明示的は暗黙的より優れています
2018/03/27(火) 16:59:12.46ID:ZnJBL61E
Guido の重要な洞察のひとつに、コードは書くよりも読まれることの方が多い、というものがあります。
2018/03/27(火) 17:03:14.16ID:1GrWb10a
あ、いや、明示とか可読性の話じゃなくて
なんでsuper(A)~(C)じゃないのか、という疑問です
2018/03/27(火) 18:25:55.89ID:PajNg8Dj
開発者に聞いてこい
開発者の気持ちを答えなさいって国語の教師気取りかテメーはよ
2018/03/27(火) 20:32:11.17ID:AF1pc4aA
多重継承したらいかんよ、という暗黙戒め
2018/03/27(火) 20:48:27.46ID:SJRVUf0s
プログラマに文系が歓迎される理由が>>127のおかげでわかった
2018/03/27(火) 23:30:39.85ID:88y58jW2
エクセルソルバーのGRGみたいな非線形最適化制約有りをやりたいんだけど、Pythonでできる?
2018/03/28(水) 00:00:14.22ID:GSIqg02F
俺らに気持ちを悪さを>>123から読み解けだからな
文系なら、
>>123からなぜ気持ち悪いかがわかるし、どう何とかしても当然わかるんだろうな。
でも、理系だと無理で、>>126のような大補足が必要なんだろうな
理系だと手間がかかるからプログラマに文系が歓迎されるわけだ

>>123はPython開発者の気持ちを分かったうえで>>123なのかな
2018/03/28(水) 00:37:51.86ID:29gqJ3C5
いや単純に、superは引数の親クラスを呼んでくるということがわかってないために違和感生じてるんじゃないか
引数で指定したクラスの中身がそのまま使えるみたいな感覚でおるんでは?
2018/03/28(水) 00:46:45.55ID:3+G1HR/o
他の言語を色々やって、その経験からPythonはすごい気持ち悪いんですがなんじゃないのか?
2018/03/28(水) 02:14:08.09ID:817KgWeW
>130
scipy.optimize
を使ったらできるんじゃないかな
2018/03/28(水) 02:27:45.00ID:jH5P0ocQ
Pythonごときで気持ち悪いとか言ってる人は、Haskellみたら制約多過ぎて即死するだろうなw
2018/03/28(水) 07:14:12.27ID:ooTjeloS
>>134
ありがとうございます、やってみます
2018/03/28(水) 07:25:24.29ID:1/4U3eU2
>>135
気持ちのいい制約っていうのが大事なんだよ
138デフォルトの名無しさん
垢版 |
2018/03/28(水) 07:55:50.50ID:WKkXmrtt
>>137
いいですね、気持ちのいい緊縛
2018/03/28(水) 14:46:32.18ID:TfqKuNVG
最近出たオライリーのHead First Python
第2版は買いですか?
2018/03/28(水) 15:32:48.18ID:wWS6mS4+
Foot Last Pythonが出るまで待ちです。
2018/03/28(水) 18:44:07.37ID:c16Hwi83
Head Firstは人を選ぶから自分で判断しなさい
俺はデザインパターンのを買ったが5ページで挫折した
あのノリにはついていけん
142デフォルトの名無しさん
垢版 |
2018/03/28(水) 20:36:48.44ID:m/YBLUNl
Hip Middle Python
は、いつ出ますか?
尻好きの私は待ち遠しくてたまりません。
2018/03/28(水) 21:07:18.06ID:zdJ231FE
Head Firstは意識高い系な雰囲気が嫌い
Java系ばっかだと思ってたがPythonも出てんのね
2018/03/30(金) 15:05:36.16ID:jcL5BjSg
python2.xと3.xを同居させられないの。
#ifdef(PYTHON3)
print('world')
#else
print 'world'
#endif とか。
2018/03/30(金) 15:29:09.19ID:pqp5DZ1s
>>144
__future__ で両対応せよ
2018/03/30(金) 15:41:59.16ID:LJCUuJpX
>>144
sixていうライブラリが便利
2018/03/30(金) 15:49:21.37ID:Ll1emnsv
threading.Threadのrunにwin32com入れるにはpythoncom.CoInitialize()が必要というのは調べてわかったのですが、なぜこれが必要なのかわかりません
どなたかお教えいただければ幸いです
2018/03/30(金) 17:43:53.70ID:FxYI+k+J
>>147
Win32 というか COM 自体がスレッド毎に CoInitialize が必要だから
2018/03/30(金) 22:49:49.98ID:HIF6e78a
>>148
なるほどありがとうございます
150デフォルトの名無しさん
垢版 |
2018/03/31(土) 01:31:01.40ID:HKQg3i4s
windows10
python 3.6.4です
multiprocessingについて教えていただけないでしょうか?
ttps://docs.python.jp/3/library/multiprocessing.html
↑を見て例題にある

from multiprocessing import Process

def f(name):
print('hello', name)

if __name__ == '__main__':
p = Process(target=f, args=('bob',))
p.start()
p.join()
をやってみましたが
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "C:\Users\nanasi\AppData\Local\Programs\Python\Python36\lib\multiprocessing\spawn.py", line 105, in spawn_main
exitcode = _main(fd)
File "C:\Users\nanasi\AppData\Local\Programs\Python\Python36\lib\multiprocessing\spawn.py", line 115, in _main
self = reduction.pickle.load(from_parent)
AttributeError: Can't get attribute 'f' on <module '__main__' (built-in)>
というエラーがでて動きません。
いくつか他のもマルチプルプロセッシングがあるものをコピペしたりしてみたのですが
だいたいp.startのあたりでエラー出ます。
windowsではサポートしてない所があって動かないんでしょうか?
どうしたらwindowsで動くようになりますか?
2018/03/31(土) 01:59:18.72ID:uh3Jaudz
>>150
普通に*.pyファイルに保存して、VisualStudioデバッガやPowerShellから動かせたけど・・・
対話モードだとダメっぽいね
152デフォルトの名無しさん
垢版 |
2018/03/31(土) 04:31:36.97ID:2Z4gCLvW
__main__じゃないからな
153150
垢版 |
2018/03/31(土) 22:04:28.61ID:HKQg3i4s
>>152
import しない限り__name__の中身って__main__になるんじゃなかったですっけ???
154デフォルトの名無しさん
垢版 |
2018/03/31(土) 22:25:31.18ID:RRMYNfyR
気にしたこと無いけど取り敢えずプリントしてみなよ
155150
垢版 |
2018/03/31(土) 22:52:00.57ID:HKQg3i4s
>>154
メインでますね。
>>> print(__name__)
__main__
156デフォルトの名無しさん
垢版 |
2018/03/31(土) 23:02:30.33ID:RRMYNfyR
へぇ〜
157デフォルトの名無しさん
垢版 |
2018/04/01(日) 03:19:09.43ID:MskEivG4
自分のいる場所が __main__ でも
def f() で f が作られる場所の問題じゃね
global f
してみ
158150
垢版 |
2018/04/01(日) 14:36:00.98ID:PqizwVxV
>>157
いたるところにglobal f 入れてみましたがpythonコマンドにコピペすると
動かないですね

def fのところの___name__調べてみましたが
あるところだけ__main__になってないですね・・・

sub=__main__ #ほかのdefをifの中で名前()で呼び出した場合
hello bob
mp=__mp_main__ #def fの中
mein=__main__  #ifの中

かといってif無しでやっても
おんなじエラー出ます。
とりあえず、.py保存してから実行なら動くから実際問題はないのかな?
159デフォルトの名無しさん
垢版 |
2018/04/01(日) 19:37:25.39ID:i3M0z6WT
ubuntuにanacondaをインストールしたのですけど、
pythonでは起動できなくて、python3で起動するように
なってしまいました。
インストールをどこか間違ったのでしょうか?
2018/04/01(日) 20:31:59.52ID:d99K3tnG
echo $PATH
which python3
ってやってみろ
どうせパス通ってないだけ
161デフォルトの名無しさん
垢版 |
2018/04/01(日) 21:27:08.68ID:8+KQdOcW
>>159
python3に慣れておいた方がいい
2018/04/01(日) 23:02:55.06ID:ECJY99tL
漏れのWindows10・Ubuntu・WSL では、
which python3 (3.5)で、/usr/bin/python3 (3.5)

which python としても、そういうコマンドは無い。
そもそも、python2 か3か、あいまいだし

Windowsでは、元からpythonが入っていないから、
Anaconda をインストールするだけで良いけど、

Ubuntuだと、システムで使っているpythonが、元から入っているから、
もし、Anacondaのpythonのバージョンと異なると誤動作する

システムの方の/usr/bin/python3 を何かのアプリで使っている可能性があるから、
こちらは、うかつにバージョンアップできない

だから、Anacondaだけを仮想環境に閉じ込めて使えば、
自由にpythonのバージョンを変えても、システムに影響ない

Ruby on Rails を使うときの、rbenv みたいなもの。
Anacondaを、virtualenv(venv)で使えば?
2018/04/01(日) 23:17:11.91ID:Wu6copxJ
pyenvだろ
2018/04/01(日) 23:22:48.01ID:c8SUuMzE
conda createからのactivateするんじゃないの?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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