くだすれ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/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するんじゃないの?
165デフォルトの名無しさん
垢版 |
2018/04/02(月) 04:35:50.85ID:3ewhMOuh
先にやらんと手遅れになる
166デフォルトの名無しさん
垢版 |
2018/04/02(月) 09:28:50.22ID:s7mweyB2
>>162
仮想環境はインストールした後の話だろ。
Anacondaをインストールするだけならシステムには影響ない。
それとも、その「仮想環境」ってのはDockerとかVMのことを言っているのか?
2018/04/02(月) 09:31:53.60ID:YeEQ96Xi
そいつに触るな
2018/04/02(月) 09:43:17.23ID:YeEQ96Xi
時期柄もあるだろうから書いておく

>>162はRubyスレを含む多数のスレで適当なことを書いて煙たがられているユーザーだ
触らないように

レス番号以外の固定ハンドルをつけている奴にも触らないように
それらは基本的に自意識過剰か承認欲求で頭がおかしくなっている
2018/04/02(月) 18:13:02.77ID:eTpURbiZ
tupleをlistに変換したいのですが、ぐぐって見つけたコードを真似て入力してもTypeErrorになります。
t = ('one', 'two', 'three')
l = list(t)

なんか間違ってる?
2018/04/02(月) 18:35:49.91ID:DE0uBPvp
>>169
間違ってない
うちのPython3.6.4のコマンドウインドウにコピペして実行した結果は以下のとおり

>>> t = ('one', 'two', 'three')
>>> l = list(t)
>>> l
['one', 'two', 'three']
2018/04/02(月) 18:55:55.33ID:eTpURbiZ
本当だ、コマンドウィンドウだと問題ないな・・・
2018/04/02(月) 19:47:24.41ID:sa9ZyrCn
>>171
ファイル作ってもいけた

k = ('one', 'two', 'three')
l = list(k)
print(l)
2018/04/02(月) 22:26:30.77ID:wIbB0b4n
こういうのはゲームだと思ってやらなきゃ…
仕事と思っちゃダメだ…楽しまないと覚えられん…
…何から手をつけて良いか分からん泣
2018/04/02(月) 22:33:00.67ID:gbB6Aon1
仕事なら目標が明確だから何から手を付けていいかわからんてことはないだろう
175遊園地
垢版 |
2018/04/02(月) 23:48:30.12ID:LJEqcqCm
色々教えてくれた。スレ内の知り合いが、一年近く来ない。
今頃、どうしてるんだろう。
176デフォルトの名無しさん
垢版 |
2018/04/03(火) 00:56:56.37ID:cU9BUIMs
秋田
177162
垢版 |
2018/04/03(火) 02:02:15.57ID:hZewAlsv
漏れは、10言語ぐらい知ってるけど「みんなのPython」にも書いてある

Anaconda は、元からPython が入っていない、Windows を対象にしている。
元からPythonが入っていないから、
Pythonを入れても、バッティングしないから大丈夫

元からPythonが入っている環境では、
専門家じゃないと環境構築できないから、説明しないって書いてある

これは、Pythonを入れるとバッティングするから、
素人では環境構築できないっていう事

仮想OS とか、virtualenv(venv) とか、何らかの仮想環境を使わないと無理

漏れのWindows10・Ubuntu・WSL では、
which python3 (3.5)で、/usr/bin/python3 (3.5)

これを例えば、python3 を、3.5 とは異なるバージョンと結び付けたいのなら、
/usr/bin/python3 (3.5)よりも前方に、探索パスを追加しないといけない。
コマンドの実行ファイルは、探索パスの前方からの順に探されるから

だから、rbenv, virtualenv などで、activate すると、
$PATH の一番最初に、自分が使いたいバージョンのパスが追加される

PATH="$VIRTUAL_ENV/bin:$PATH"
まあ「python virtualenv 仕組み」で検索して

こういう仕組みを、初心者に説明するのが無理だから、
「みんなのPython」では説明していない

Linux の環境構築なんて、素人じゃ無理。
LPIC などの、Linux資格を持っていないと無理
2018/04/03(火) 04:44:48.90ID:QsfDg0d7
数だけ追うとこうなるという悪い見本
179デフォルトの名無しさん
垢版 |
2018/04/03(火) 08:24:49.81ID:G1GaWyXd
ダメだこりゃ。
2018/04/03(火) 09:32:07.49ID:u1C9H1Ty
きっとrubyが欠陥言語だからユーザーがこんなんなんでしょうな
2018/04/03(火) 09:49:39.77ID:7FhHUoJB
>>173
とりあえず覚えたいじゃなくて、仕事なら最初からやること決まってるじゃん?

自分は明確な目的がないから、思い付いたものはとりあえずpython で出来るかどうか試す、なんて無駄なことやってるぞ
この道に嵌まりたかったら、それで良いけど
182デフォルトの名無しさん
垢版 |
2018/04/03(火) 11:35:27.28ID:R6gDm2yr
実際やろうと思えば出来てしまう
183遊園地
垢版 |
2018/04/03(火) 15:14:47.21ID:oFzsxu0w
テキスト内のキーワード指定して、集計データ返してくれるなら、
スクリプトじゃなくて良い。ただ、なでしこ言語は挫折した。
184デフォルトの名無しさん
垢版 |
2018/04/04(水) 01:30:08.57ID:eXsheJZd
>>182
神降臨
2018/04/05(木) 01:01:12.89ID:Qe5jM9cj
画像のような仕組みは何と言えば良いのですか?

取得したデータをPythonで画像のように出力したいので、やり方か仕組みを調べようとしたのですが、何と検索して良いのか分かりません

https://i.imgur.com/4fXnUAH.jpg
2018/04/05(木) 02:04:09.01ID:COvjSQ0t
>>185
Windows なら python windows gui
Linux なら python linux gui
とかで検査
2018/04/05(木) 02:12:11.97ID:G4evJUNh
>>185
PythonならWebアプリにしてHTMLで出力したほうがいいよ
ネイティブGUIをPythonで作ろうと思うと、極めてマイナーなフレームワークにどっぷり浸かることになる
極めても全く価値のないスキルであり、時間の無駄だ
2018/04/05(木) 04:28:32.13ID:mpYxecTp
本についてなんですが、ソーテック社の「いちばんやさしいPython入門教室」って
本は良いですか?
2018/04/05(木) 07:39:52.11ID:fmq90VfQ
>>185
パワポ出力じゃあかんのか?
2018/04/05(木) 09:53:13.44ID:Qe5jM9cj
返答ありがとうございます

>>186
これがGUIというんですね…
よく耳にするTkinter がいいのかな?こちらも調べてみます

>>187
なるほどhtmlですか
こちらでも良さそう… 調べたら分かりやすかったので、こちらからやってみます スマホアプリにも出来そうですし
Python ってGUIを作るのが大変なんですね

>>189
その場でパッとデータを確認できたらいいことと、更新したら即データが反映されるようになってほしいので…
でも、パワポ出力は他で使えそうなのでまた調べてみます
191遊園地
垢版 |
2018/04/05(木) 10:47:59.49ID:yVXnCZRq
いつも、お世話に成ってますw

トランプからカードを引いて、マークつけを行いたいです。
関数Sample2の結果を返すにはどうすれば良いでしょうか?
教えて下さい。


https://ideone.com/085uNT
192デフォルトの名無しさん
垢版 |
2018/04/05(木) 15:22:14.86ID:pkmC89pn
sudo update-alternatives --config python
193デフォルトの名無しさん
垢版 |
2018/04/05(木) 18:37:25.68ID:166ySDeQ
>>186
怪しいので、身体を検査させてもらいます。
2018/04/05(木) 23:52:36.33ID:A+SSmePb
>>189
出力だけで入力イラネであればパワポやpdf出力の方がファイルセーブもできて良いよな。
2018/04/06(金) 23:17:04.19ID:4KCjI5eb
>>188
Amazonだと高評価だけどどうだろう
実際に本屋に行って見るのが良いかもね〜
かく言う俺もガチガチの初心者だから本探ししてる
196デフォルトの名無しさん
垢版 |
2018/04/06(金) 23:40:31.97ID:eal1pYjS
「みんなのPython 第4版、2017」が定本

そこに、なでしこの作者・クジラ飛行机が参入。
その後、掌田津耶乃・大津真など、多言語の作者も参入
2018/04/07(土) 03:30:14.58ID:0IMs8tmt
1 2 3
4 5 6
7 8 9
の入力があった時に行ごとの計算結果を出したいときってどうしたらいいですか?
2018/04/07(土) 04:03:02.27ID:ic1KeMb4
ちょっと状況分かんないけど
合計ならforで行ごとに
sum([1, 2, 3])
とか
2018/04/07(土) 06:51:19.63ID:WL4rZ6s4
Ruby なら、

text = <<'EOT'
1 2 3
4 5 6
7 8 9
EOT

text.each_line do |line| # 1行ずつ処理する
# 末尾の改行を削除して、空白区切りで、配列に入れる
numbers = line.chomp!.split
# 数値に変換してから、配列内のすべての数字を足す
puts numbers.map(&:to_i).inject(:+)
end
■ このスレッドは過去ログ倉庫に格納されています