18/03/27 13:32:18.34 ZLXZGkXc.net
class A,B,Cを継承したMainクラス内でそれぞれをsuper()するとき
(MAIN,self) (A,self) (B,self)となるのはどうしてなんですか
すごい気持ち悪いんですが、どうにかなりませんか?
128:デフォルトの名無しさん
18/03/27 15:46:36.73 7pnb7M0m.net
明示的は暗黙的より優れています
129:デフォルトの名無しさん
18/03/27 16:59:12.46 ZnJBL61E.net
Guido の重要な洞察のひとつに、コードは書くよりも読まれることの方が多い、というものがあります。
130:デフォルトの名無しさん
18/03/27 17:03:14.16 1GrWb10a.net
あ、いや、明示とか可読性の話じゃなくて
なんでsuper(A)~(C)じゃないのか、という疑問です
131:デフォルトの名無しさん
18/03/27 18:25:55.89 PajNg8Dj.net
開発者に聞いてこい
開発者の気持ちを答えなさいって国語の教師気取りかテメーはよ
132:デフォルトの名無しさん
18/03/27 20:32:11.17 AF1pc4aA.net
多重継承したらいかんよ、という暗黙戒め
133:デフォルトの名無しさん
18/03/27 20:48:27.46 SJRVUf0s.net
プログラマに文系が歓迎される理由が>>127のおかげでわかった
134:デフォルトの名無しさん
18/03/27 23:30:39.85 88y58jW2.net
エクセルソルバーのGRGみたいな非線形最適化制約有りをやりたいんだけど、Pythonでできる?
135:デフォルトの名無しさん
18/03/28 00:00:14.22 GSIqg02F.net
俺らに気持ちを悪さを>>123から読み解けだからな
文系なら、
>>123からなぜ気持ち悪いかがわかるし、どう何とかしても当然わかるんだろうな。
でも、理系だと無理で、>>126のような大補足が必要なんだろうな
理系だと手間がかかるからプログラマに文系が歓迎されるわけだ
>>123はPython開発者の気持ちを分かったうえで>>123なのかな
136:デフォルトの名無しさん
18/03/28 00:37:51.86 29gqJ3C5.net
いや単純に、superは引数の親クラスを呼んでくるということがわかってないために違和感生じてるんじゃないか
引数で指定したクラスの中身がそのまま使えるみたいな感覚でおるんでは?
137:デフォルトの名無しさん
18/03/28 00:46:45.55 3+G1HR/o.net
他の言語を色々やって、その経験からPythonはすごい気持ち悪いんですがなんじゃないのか?
138:デフォルトの名無しさん
18/03/28 02:14:08.09 817KgWeW.net
>130
scipy.optimize
を使ったらできるんじゃないかな
139:デフォルトの名無しさん
18/03/28 02:27:45.00 jH5P0ocQ.net
Pythonごときで気持ち悪いとか言ってる人は、Haskellみたら制約多過ぎて即死するだろうなw
140:デフォルトの名無しさん
18/03/28 07:14:12.27 ooTjeloS.net
>>134
ありがとうございます、やってみます
141:デフォルトの名無しさん
18/03/28 07:25:24.29 1/4U3eU2.net
>>135
気持ちのいい制約っていうのが大事なんだよ
142:デフォルトの名無しさん
18/03/28 07:55:50.50 WKkXmrtt.net
>>137
いいですね、気持ちのいい緊縛
143:デフォルトの名無しさん
18/03/28 14:46:32.18 TfqKuNVG.net
最近出たオライリーのHead First Python
第2版は買いですか?
144:デフォルトの名無しさん
18/03/28 15:32:48.18 wWS6mS4+.net
Foot Last Pythonが出るまで待ちです。
145:デフォルトの名無しさん
18/03/28 18:44:07.37 c16Hwi83.net
Head Firstは人を選ぶから自分で判断しなさい
俺はデザインパターンのを買ったが5ページで挫折した
あのノリにはついていけん
146:デフォルトの名無しさん
18/03/28 20:36:48.44 m/YBLUNl.net
Hip Middle Python
は、いつ出ますか?
尻好きの私は待ち遠しくてたまりません。
147:デフォルトの名無しさん
18/03/28 21:07:18.06 zdJ231FE.net
Head Firstは意識高い系な雰囲気が嫌い
Java系ばっかだと思ってたがPythonも出てんのね
148:デフォルトの名無しさん
18/03/30 15:05:36.16 jcL5BjSg.net
python2.xと3.xを同居させられないの。
#ifdef(PYTHON3)
print('world')
#else
print 'world'
#endif とか。
149:デフォルトの名無しさん
18/03/30 15:29:09.19 pqp5DZ1s.net
>>144
__future__ で両対応せよ
150:デフォルトの名無しさん
18/03/30 15:41:59.16 LJCUuJpX.net
>>144
sixていうライブラリが便利
151:デフォルトの名無しさん
18/03/30 15:49:21.37 Ll1emnsv.net
threading.Threadのrunにwin32com入れるにはpythoncom.CoInitialize()が必要というのは調べてわかったのですが、なぜこれが必要なのかわかりません
どなたかお教えいただければ幸いです
152:デフォルトの名無しさん
18/03/30 17:43:53.70 FxYI+k+J.net
>>147
Win32 というか COM 自体がスレッド毎に CoInitialize が必要だから
153:デフォルトの名無しさん
18/03/30 22:49:49.98 HIF6e78a.net
>>148
なるほどありがとうございます
154:デフォルトの名無しさん
18/03/31 01:31:01.40 HKQg3i4s.net
windows10
python 3.6.4です
multiprocessingについて教えていただけないでしょうか?
URLリンク(docs.python.jp)
↑を見て例題にある
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で動くようになりますか?
155:デフォルトの名無しさん
18/03/31 01:59:18.72 uh3Jaudz.net
>>150
普通に*.pyファイルに保存して、VisualStudioデバッガやPowerShellから動かせたけど・・・
対話モードだとダメっぽいね
156:デフォルトの名無しさん
18/03/31 04:31:36.97 2Z4gCLvW.net
__main__じゃないからな
157:150
18/03/31 22:04:28.61 HKQg3i4s.net
>>152
import しない限り__name__の中身って__main__になるんじゃなかったですっけ???
158:デフォルトの名無しさん
18/03/31 22:25:31.18 RRMYNfyR.net
気にしたこと無いけど取り敢えずプリントしてみなよ
159:150
18/03/31 22:52:00.57 HKQg3i4s.net
>>154
メインでますね。
>>> print(__name__)
__main__
160:デフォルトの名無しさん
18/03/31 23:02:30.33 RRMYNfyR.net
へぇ~
161:デフォルトの名無しさん
18/04/01 03:19:09.43 MskEivG4.net
自分のいる場所が __main__ でも
def f() で f が作られる場所の問題じゃね
global f
してみ
162:150
18/04/01 14:36:00.98 PqizwVxV.net
>>157
いたるところにglobal f 入れてみましたがpythonコマンドにコピペすると
動かないですね
def fのところの___name__調べてみましたが
あるところだけ__main__になってないですね・・・
sub=__main__ #ほかのdefをifの中で名前()で呼び出した場合
hello bob
mp=__mp_main__ #def fの中
mein=__main__ #ifの中
かといってif無しでやっても
おんなじエラー出ます。
とりあえず、.py保存してから実行なら動くから実際問題はないのかな?
163:デフォルトの名無しさん
18/04/01 19:37:25.39 i3M0z6WT.net
ubuntuにanacondaをインストールしたのですけど、
pythonでは起動できなくて、python3で起動するように
なってしまいました。
インストールをどこか間違ったのでしょうか?
164:デフォルトの名無しさん
18/04/01 20:31:59.52 d99K3tnG.net
echo $PATH
which python3
ってやってみろ
どうせパス通ってないだけ
165:デフォルトの名無しさん
18/04/01 21:27:08.68 8+KQdOcW.net
>>159
python3に慣れておいた方がいい
166:デフォルトの名無しさん
18/04/01 23:02:55.06 ECJY99tL.net
漏れの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)で使えば?
167:デフォルトの名無しさん
18/04/01 23:17:11.91 Wu6copxJ.net
pyenvだろ
168:デフォルトの名無しさん
18/04/01 23:22:48.01 c8SUuMzE.net
conda createからのactivateするんじゃないの?
169:デフォルトの名無しさん
18/04/02 04:35:50.85 3ewhMOuh.net
先にやらんと手遅れになる
170:デフォルトの名無しさん
18/04/02 09:28:50.22 s7mweyB2.net
>>162
仮想環境はインストールした後の話だろ。
Anacondaをインストールするだけならシステムには影響ない。
それとも、その「仮想環境」ってのはDockerとかVMのことを言っているのか?
171:デフォルトの名無しさん
18/04/02 09:31:53.60 YeEQ96Xi.net
そいつに触るな
172:デフォルトの名無しさん
18/04/02 09:43:17.23 YeEQ96Xi.net
時期柄もあるだろうから書いておく
>>162はRubyスレを含む多数のスレで適当なことを書いて煙たがられているユーザーだ
触らないように
レス番号以外の固定ハンドルをつけている奴にも触らないように
それらは基本的に自意識過剰か承認欲求で頭がおかしくなっている
173:デフォルトの名無しさん
18/04/02 18:13:02.77 eTpURbiZ.net
tupleをlistに変換したいのですが、ぐぐって見つけたコードを真似て入力してもTypeErrorになります。
t = ('one', 'two', 'three')
l = list(t)
なんか間違ってる?
174:デフォルトの名無しさん
18/04/02 18:35:49.91 DE0uBPvp.net
>>169
間違ってない
うちのPython3.6.4のコマンドウインドウにコピペして実行した結果は以下のとおり
>>> t = ('one', 'two', 'three')
>>> l = list(t)
>>> l
['one', 'two', 'three']
175:デフォルトの名無しさん
18/04/02 18:55:55.33 eTpURbiZ.net
本当だ、コマンドウィンドウだと問題ないな・・・
176:デフォルトの名無しさん
18/04/02 19:47:24.41 sa9ZyrCn.net
>>171
ファイル作ってもいけた
k = ('one', 'two', 'three')
l = list(k)
print(l)
177:デフォルトの名無しさん
18/04/02 22:26:30.77 wIbB0b4n.net
こういうのはゲームだと思ってやらなきゃ…
仕事と思っちゃダメだ…楽しまないと覚えられん…
…何から手をつけて良いか分からん泣
178:デフォルトの名無しさん
18/04/02 22:33:00.67 gbB6Aon1.net
仕事なら目標が明確だから何から手を付けていいかわからんてことはないだろう
179:遊園地
18/04/02 23:48:30.12 LJEqcqCm.net
色々教えてくれた。スレ内の知り合いが、一年近く来ない。
今頃、どうしてるんだろう。
180:デフォルトの名無しさん
18/04/03 00:56:56.37 cU9BUIMs.net
秋田
181:162
18/04/03 02:02:15.57 hZewAlsv.net
漏れは、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資格を持っていないと無理
182:デフォルトの名無しさん
18/04/03 04:44:48.90 QsfDg0d7.net
数だけ追うとこうなるという悪い見本
183:デフォルトの名無しさん
18/04/03 08:24:49.81 G1GaWyXd.net
ダメだこりゃ。
184:デフォルトの名無しさん
18/04/03 09:32:07.49 u1C9H1Ty.net
きっとrubyが欠陥言語だからユーザーがこんなんなんでしょうな
185:デフォルトの名無しさん
18/04/03 09:49:39.77 7FhHUoJB.net
>>173
とりあえず覚えたいじゃなくて、仕事なら最初からやること決まってるじゃん?
自分は明確な目的がないから、思い付いたものはとりあえずpython で出来るかどうか試す、なんて無駄なことやってるぞ
この道に嵌まりたかったら、それで良いけど
186:デフォルトの名無しさん
18/04/03 11:35:27.28 R6gDm2yr.net
実際やろうと思えば出来てしまう
187:遊園地
18/04/03 15:14:47.21 oFzsxu0w.net
テキスト内のキーワード指定して、集計データ返してくれるなら、
スクリプトじゃなくて良い。ただ、なでしこ言語は挫折した。
188:デフォルトの名無しさん
18/04/04 01:30:08.57 eXsheJZd.net
>>182
神降臨
189:デフォルトの名無しさん
18/04/05 01:01:12.89 Qe5jM9cj.net
画像のような仕組みは何と言えば良いのですか?
取得したデータをPythonで画像のように出力したいので、やり方か仕組みを調べようとしたのですが、何と検索して良いのか分かりません
URLリンク(i.imgur.com)
190:デフォルトの名無しさん
18/04/05 02:04:09.01 COvjSQ0t.net
>>185
Windows なら python windows gui
Linux なら python linux gui
とかで検査
191:デフォルトの名無しさん
18/04/05 02:12:11.97 G4evJUNh.net
>>185
PythonならWebアプリにしてHTMLで出力したほうがいいよ
ネイティブGUIをPythonで作ろうと思うと、極めてマイナーなフレームワークにどっぷり浸かることになる
極めても全く価値のないスキルであり、時間の無駄だ
192:デフォルトの名無しさん
18/04/05 04:28:32.13 mpYxecTp.net
本についてなんですが、ソーテック社の「いちばんやさしいPython入門教室」って
本は良いですか?
193:デフォルトの名無しさん
18/04/05 07:39:52.11 fmq90VfQ.net
>>185
パワポ出力じゃあかんのか?
194:デフォルトの名無しさん
18/04/05 09:53:13.44 Qe5jM9cj.net
返答ありがとうございます
>>186
これがGUIというんですね…
よく耳にするTkinter がいいのかな?こちらも調べてみます
>>187
なるほどhtmlですか
こちらでも良さそう… 調べたら分かりやすかったので、こちらからやってみます スマホアプリにも出来そうですし
Python ってGUIを作るのが大変なんですね
>>189
その場でパッとデータを確認できたらいいことと、更新したら即データが反映されるようになってほしいので…
でも、パワポ出力は他で使えそうなのでまた調べてみます
195:遊園地
18/04/05 10:47:59.49 yVXnCZRq.net
いつも、お世話に成ってますw
トランプからカードを引いて、マークつけを行いたいです。
関数Sample2の結果を返すにはどうすれば良いでしょうか?
教えて下さい。
URLリンク(ideone.com)
196:デフォルトの名無しさん
18/04/05 15:22:14.86 pkmC89pn.net
sudo update-alternatives --config python
197:デフォルトの名無しさん
18/04/05 18:37:25.68 166ySDeQ.net
>>186
怪しいので、身体を検査させてもらいます。
198:デフォルトの名無しさん
18/04/05 23:52:36.33 A+SSmePb.net
>>189
出力だけで入力イラネであればパワポやpdf出力の方がファイルセーブもできて良いよな。
199:デフォルトの名無しさん
18/04/06 23:17:04.19 4KCjI5eb.net
>>188
Amazonだと高評価だけどどうだろう
実際に本屋に行って見るのが良いかもね~
かく言う俺もガチガチの初心者だから本探ししてる
200:デフォルトの名無しさん
18/04/06 23:40:31.97 eal1pYjS.net
「みんなのPython 第4版、2017」が定本
そこに、なでしこの作者・クジラ飛行机が参入。
その後、掌田津耶乃・大津真など、多言語の作者も参入
201:デフォルトの名無しさん
18/04/07 03:30:14.58 0IMs8tmt.net
1 2 3
4 5 6
7 8 9
の入力があった時に行ごとの計算結果を出したいときってどうしたらいいですか?
202:デフォルトの名無しさん
18/04/07 04:03:02.27 ic1KeMb4.net
ちょっと状況分かんないけど
合計ならforで行ごとに
sum([1, 2, 3])
とか
203:デフォルトの名無しさん
18/04/07 06:51:19.63 WL4rZ6s4.net
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
204:デフォルトの名無しさん
18/04/07 10:55:48.14 0nAeQwXs.net
酷いなRuby。Perlの悪しき轍を踏んでいるのか。
205:デフォルトの名無しさん
18/04/07 12:08:10.14 BR
206:hgC8GS.net
207:デフォルトの名無しさん
18/04/07 12:49:26.90 vUF6Z2rf.net
Flaskを使ってWebサービスを作ろうと思っています。
その裏ではある処理を行うPythonのプログラムがあって、
その結果をリアルタイムにWebページに反映するという仕組みを作りたいのです。
例えるなら時計のページのようなものです。
このようなものを実現する方法として、どの様にするのが良いでしょうか?
自分なりに考えてみたところでは次のようなやり方で出来るかなと思うのですが
なんだか無駄が多いような気がして、もっとスマートに実現出来るのでは?という気がします。
アドバイスを頂けると嬉しいです、よろしくお願いします。
(1)バックグラウンド処理の部分をthreadingを継承したクラスで作成し
(2)Webサービス本体となるapp.pyで、(1)をインスタンス化して実行
(3)(1)からの処理結果はapp.pyにコールバックで返却
(4)app.pyのコールバック関数はsocketioを使ってWebページに処理結果を送る
(5)websocketを受け取ったWebページは、処理結果をページに反映させる
208:デフォルトの名無しさん
18/04/07 13:00:52.26 BRhgC8GS.net
Brython
209:デフォルトの名無しさん
18/04/07 14:26:32.33 z2/bO+GF.net
>>188
「めんどうなことはpythonにさせよう」が面白かった。
210:デフォルトの名無しさん
18/04/07 14:35:20.07 nRtWZzWw.net
>>202
リアルタイムで更新したいならフロントエンドにreactを使え
211:遊園地
18/04/07 15:07:01.03 77S40Xyy.net
>>197
#スペース区切りの数字を受け取り 3回
#l=[list(map(int,input().split())) for _ in range(3)]
#完成するデータ
l=[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
#横の合計
[print(sum(i)) for i in l]
#改行
print()
#縦の合計
[print(sum(i)) for i in list(zip(*l))]
212:デフォルトの名無しさん
18/04/07 15:17:10.46 2Xz4c+5M.net
こんくらいブラウザでやれば?
`
1 2 3
4 5 6
7 8 9
`
.trim().split`\n`
.map(row => row.split` `.map(Number).reduce((a, b) => a + b))
.forEach(rowSum => console.log(rowSum));
213:デフォルトの名無しさん
18/04/07 17:08:57.70 p0Pua3Pc.net
javaみたいな気持ち悪さ
214:デフォルトの名無しさん
18/04/07 17:27:49.50 7ZRXk+Y5.net
なんで最近のプログラミング界ではforが迫害されてmapやreduceがもてはやされてるの?
初心者には分かりにくいと思うんだが。
215:デフォルトの名無しさん
18/04/07 17:49:01.49 4dLkJWTk.net
初心者のことなど知らん
216:デフォルトの名無しさん
18/04/07 20:07:36.83 VRHJEDN5.net
s.split(",")
s.replace(",","\t")
",".join(s)
joinだけ何故こんな文法に?
217:デフォルトの名無しさん
18/04/07 20:15:43.06 WHguHUHL.net
>>209
基本的には、パフォーマンス上のメリットがあるから。
けれど、PythonやJavaScript(ES6)の場合はジェネレータもあるので、
パフォーマンスを保ちつつ、for文を使ったやさしい書き方もできる。
Javaだと、ガチで>>207の書き方しかできない。
218:デフォルトの名無しさん
18/04/07 20:19:53.21 iO/NW/s5.net
>>211
join を文字列のメソッドにしたかったから
219:デフォルトの名無しさん
18/04/07 20:26:18.12 Iu5gYSvH.net
Python の join() が文字列型のメソッドである理由
URLリンク(www.lifewithpython.com)
220:デフォルトの名無しさん
18/04/07 22:15:55.69 u6SiCNsb.net
>>210
仕事でソフト開発している人が、初心者のために分かりやすいコーディングをしているとは思えないよな。
221:188
18/04/07 22:55:32.20 UAWtR4Cc.net
>>195
あっ、レス付いてる
ありがとうございます
注文することにしました
読んでみたらレビューしますね
222:デフォルトの名無しさん
18/04/08 00:14:01.39 j+FIppRr.net
>>202
このスレのレベルを超えた質問で場違いな感じの質問だな
223:デフォルトの名無しさん
18/04/08 01:12:18.12 s6V+xdvY.net
>>215
逆だよ。仕事でソフト開発している人が、難読コードを書いちゃいかんだろ。
224:デフォルトの名無しさん
18/04/08 01:18:01.50 kOs0IpX+.net
>>218
例えば、リスト内包表記は慣れたらめちゃくちゃわかりやすいんだけど、初心者には不評
でも慣れてる人にはわかりやすいから内包表記を使いまくるってことだろう
225:デフォルトの名無しさん
18/04/08 01:33:34.80 ikNNlzZg.net
>>212
>>207よりこっちのほうが分かりやすいと?そうかなぁ?
昔ながらのfor文に慣れてるからそう思うだけで、初心者に聞いてみたらむしろ逆なんじゃない?知らんけど
何より識別子が増えて名付けが辛い。
const mat = `
1 2 3
4 5 6
7 8 9
`.trim();
for (const row of mat.split`\n`) {
const rowAry = row.split` `;
let rowSum = 0;
for (const cel of rowAry) {
rowSum += Number(cel);
}
console.log(rowSum);
}
226:デフォルトの名無しさん
18/04/08 02:22:57.13 jNVGKdq/.net
joinは文字列の連結がウリなのに、引数を一個しか指定できないのが謎過ぎる
",".join("A","B","C")ってやりたい時に、実際はあらかじめ"A","B","C"をリストに入れるか
+で連結しとかんといかんって本末転倒だろ
227:デフォルトの名無しさん
18/04/08 02:36:06.55 6R1G24Uu.net
>>221
[ ]で囲むだけだろ
Pythonでは可変長引数はあまり好まれない
228:デフォルトの名無しさん
18/04/08 06:58:14.21 gxaJAEYd.net
>>210
ここ超初心者のスレ。
229:デフォルトの名無しさん
18/04/08 10:08:27.26 kOs0IpX+.net
>>223
いや、>>210は>>209への返答よ?
230:デフォルトの名無しさん
18/04/08 11:41:56.18 YK+KPtHu.net
>>209
初心者はどっちから教えても一緒だと思う
231:デフォルトの名無しさん
18/04/08 11:55:02.04 9/UswNDz.net
>>225
俺も大差ないと思う
forでダラダラ書くより、map,reduce,filterで簡素に書けるなら使ったほうがいいからな
232:デフォルトの名無しさん
18/04/08 16:29:56.48 MFf7xIr6.net
こんにちは
タイムカードを処理するアプリを作りたいと思っていて、月の勤務記録を一括で読み込んで実労働時間を出そうと思ってます。
1行毎(1日毎)に実労働時間を出して最後にそれを全て足そうと思っているのですが、行ごとの処理の仕方がわからないんです…
ご回答よろしくお願いします。
233:デフォルトの名無しさん
18/04/08 16:43:00.39 GoOLzpCW.net
一行分の入力データと
一行分の入力データから得たい出力データを記載しろ
234:デフォルトの名無しさん
18/04/08 16:48:16.19 MFf7xIr6.net
1行分の入力 2017/03/01 12:00-15:00 16:00-24:00
出力 11
こんな感じです
そもそもsys.stdin.readlines()で処理するのが正しいんですかね
235:デフォルトの名無しさん
18/04/08 16:59:45.98 nkM5b3tX.net
pandas.read_from_hogehoge
236:デフォルトの名無しさん
18/04/08 17:46:41.40 6sp2I/Ld.net
>>> import datetime
>>> import pandas
>>> from io import StringIO
>>> mindif = lambda s: (lambda x: td(x[1])-td(x[0]))(s.split('-'))
>>> td = lambda s: (lambda x: datetime.timedelta(hours=x[0], minutes=x[1]))(list(map(int, s.split(':'))))
>>> f = StringIO('''\
2017/03/01 12:00-15:00 16:00-24:00
2017/03/01 12:00-15:00 16:00-24:00
2017/03/01 12:00-15:00 16:00-24:00
2017/03/01 12:00-15:00 16:00-24:00
''')
>>> a = pandas.read_table(f, header=None, sep=' ')
>>> a[3] = a[1].map(mindif)
>>> a[4] = a[2].map(mindif)
>>> a
0 1 2 3 4
0 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00
1 2
237:017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00 2 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00 3 2017/03/01 12:00-15:00 16:00-24:00 03:00:00 08:00:00
238:デフォルトの名無しさん
18/04/08 17:50:59.38 6sp2I/Ld.net
>>> a[3] = a[1].map(mindif)
>>> a[4] = a[2].map(mindif)
この2行は
>>> a[3] = a[1].map(mindif) + a[2].map(mindif)
だけで良かった 👀
Rock54: Caution(BBR-MD5:0be15ced7fbdb9fdb4d0ce1929c1b82f)
239:デフォルトの名無しさん
18/04/08 18:54:45.02 1mmlbc0v.net
Ruby だと、時刻に、24時は無いけど。
23まで
午前中は、どう表記してる?
03:05, 3:05 のどっち?
240:遊園地
18/04/08 20:12:56.50 gmVtfD5c.net
>>229
ごめん。仕様ミスで行数が増えたら対処できない。
そこは改変してくれ。
URLリンク(ideone.com)
241:遊園地
18/04/08 20:22:54.67 gmVtfD5c.net
なんか、知らんけど腕が落ちてる。
242:デフォルトの名無しさん
18/04/08 20:26:08.17 3hKhfzCU.net
拾っとけ拾っとけ1割もらえるかもよ
243:遊園地
18/04/08 20:30:56.58 gmVtfD5c.net
そっちじゃねえよww
244:デフォルトの名無しさん
18/04/08 21:23:41.29 MFf7xIr6.net
>>233
午前中は5:00まで29:00の仕様です
245:デフォルトの名無しさん
18/04/08 21:24:04.77 MFf7xIr6.net
助かります。参考に書いてみます
246:デフォルトの名無しさん
18/04/08 21:46:24.45 5trngRbI.net
>>238
5時がタイムカード上では29時なんか
夜23時から早朝の5時勤務の場合
タイムカードは23:00-29:00
夜23時から早朝の6:00時勤務の場合
タイムカードは23:00-06:00
夜1時から早朝の5時勤務の場合
タイムカードは25:00-29:00
とかになるのか
247:デフォルトの名無しさん
18/04/08 22:02:44.17 MFf7xIr6.net
>>240
そうです
なのであり得ませんがフル勤務の場合は5:00-29:00になりますね
248:デフォルトの名無しさん
18/04/08 22:54:58.64 eu3b+r+J.net
>>238
それって残業代どうなるの?深夜勤務、8時間超えたら、〇時間超えたら何割増しってあるんでしょ?
249:遊園地
18/04/08 23:52:48.14 gmVtfD5c.net
規模によるがw
数百万から数千万の未払金が発生するなww
ただの問題サイトのテストケースだろうけどなw
250:デフォルトの名無しさん
18/04/09 04:01:32.98 WaD3v69G.net
>>242
そこからは自力で書いてみようと思ってます
251:デフォルトの名無しさん
18/04/09 10:27:28.30 l0CeQllx.net
>>229
医師とかだとこういう勤務形態になるのかな
252:遊園地
18/04/09 10:40:52.05 Ptdpw/63.net
朝4時に起きとか、怖過ぎ。
253:デフォルトの名無しさん
18/04/09 10:59:02.77 s1r7cemC.net
月200時間以上ざんぎょーしてた頃がなつかしーわー
3れんきん(中日は24時間勤務)とかふつうにあった
書類上は
5分仕事 15分休憩
の繰り返しになってた
254:遊園地
18/04/09 14:05:06.99 Ptdpw/63.net
仕様が決定して有るなら、作業みたいなモノだろうに。
そんなに仕事を抱え込めるのかな?
管理も兼任してたら、オーバーフローでオーバーロードですな。ww
255:デフォルトの名無しさん
18/04/09 14:23:31.09 GdkyYm9A.net
rubyスレにマルチするのやめれ
256:デフォルトの名無しさん
18/04/09 15:40:06.66 WaD3v69G.net
>>234
これ曜日って出せますか?
257:デフォルトの名無しさん
18/04/09 16:03:42.19 M/BmQ9Z1.net
Ruby スレに書き込んだのは、python スレの書き込みとは別人。
ID も異なるはず
python スレの書き込みを見て、
Ruby ではどうプログラミングするべきか、考えてみたが難しかった
258:デフォルトの名無しさん
18/04/09 20:54:36.31 dNOi8uH1.net
pythonで書けてrubyで難しいなんてことがあるのか。
ちょっと意外
259:遊園地
18/04/09 21:07:06.94 Ptdpw/63.net
>>250
出せるけど、書式変更が あーーー
URLリンク(ideone.com)
調べても2,3分で実装まで5分掛からないんだから、頑張ろうな。
実質、2行増えただけだしな。
260:デフォルトの名無しさん
18/04/09 21:37:50.56 0kSx2Pnj.net
>調べても2,3分で実装まで5分掛からないんだから、頑張ろうな。
"超"初心者=>調べることができない、調べようとしない、頑張ることができない人
超初心者に不可能なことを要求するなよ。初心者ならこれらのことは出来るんだが
261:遊園地
18/04/09 22:13:27.53 Ptdpw/63.net
>>255
>>244 で
自分で書いてみます。って書いてるやん
262:遊園地
18/04/09 22:26:44.43 Ptdpw/63.net
とは言え。偉そうにしたのはスマンかった。
>>250
ごめん。ちょっと調子に乗ってた。
失礼しました。
263:デフォルトの名無しさん
18/04/10 00:18:50.47 RB2jjZ4g.net
>>255
いえいえとんでもないです
本当にありがとうございます!調べても分からなかったところだったので…
264:遊園地
18/04/10 09:44:44.25 QiXBaC3n.net
検索の仕方は
言語 項目
python 日付
python 曜日
とかで、hitする。と思う。
265:遊園地
18/04/10 09:48:10.16 QiXBaC3n.net
素直に行くなら、
公式Documentを落として、
英語で、ファイル内検索
かな。
266:遊園地
18/04/10 11:25:34.63 QiXBaC3n.net
URLリンク(ideone.com)
267:デフォルトの名無しさん
18/04/10 20:30:36.44 CXD6eMLO.net
for index, row in mr.iterrows():
a = row.ix[0]
a.replace(u"月","a")
月をaに置換したいんだけどうまくいかない・・・どうすればいい?
268:デフォルトの名無しさん
18/04/10 21:31:07.93 6CkCb20Q.net
'nichi月🔥水moku金do'.replace(/月/gu, 'a');
269:デフォルトの名無しさん
18/04/10 22:15:50.26 tEeQ8k7E.net
>261
panda は使ったことないのでよくわからないけれど、
str.replace(s, t) について言うと
文字列はイミューダブルだから、replaceでstrが書き換わるわけではない。
書き換わった値が返ってくるので、それを変数に代入することが必要。
つまり、a = a.replace(s, t) のようにする。
さらに、aに再代入しても、
iter.ix[0]の中身は変わらない。
なので、
iter.ix[0]=iter.ix[0].replace(s, t)
のようにする必要があるのだと思う。
外してたらゴメン
270:デフォルトの名無しさん
18/04/10 22:22:55.45 CXD6eMLO.net
>>263
まさに知りたかった答えです助かりました!
>>262
セミコロンが付いてるし、他の言語かな?
271:デフォルトの名無しさん
18/04/11 00:45:52.55 5V3NvSPI.net
rrrubyyy
272:デフォルトの名無しさん
18/04/11 08:15:34.43 vlh3mMKJ.net
Githubで公開されていたライブラリ?モジュール?を利用したプログラムを書いているのですが、
このライブラリの関数の中に、WebからJson形式で値を取得するものがあります。
これを実行するとコンソールにズラーっと結果がPrintされるのですが、
このPrintを無効にしてコンソール上に出力しないようにする事は出来るでしょうか?
デバッグ用のPrint等が流れて読めなくなってしまい、邪魔なので出さないようにしたいです。
よろしくお願い致します。
273:デフォルトの名無しさん
18/04/11 09:01:53.43 qa2FEnRq.net
ライブラリなら普通はlogging使ってるはずだから設定で消せる
もし直接printしてるようならそんなものは今すぐ投げ捨てて他を探せ
そんな低品質なゴミを使ってると後々取り返しのつかないトラブルの原因になりかねない
274:デフォルトの名無しさん
18/04/11 09:35:50.44 cUARpOdH.net
>>266
頭が良い奴なら、ソース弄らないで動的に関数内のprint部分だけコメントになるようにするとかできるんだろうが(デコレータのような使い方で)。
でも、そんな奴は5chのpythonスレにはいないだろう
275:遊園地
18/04/11 10:02:21.51 y+NDlg77.net
無効にする割合は、40ぐらいに設定して置いた方が無難
276:遊園地
18/04/11 10:13:12.84 y+NDlg77.net
優秀な奴が、労力をかける場所を間違わないと思うけどな。
ほんの1つのライブラリなんだから、他を探すのが正解だと思うぞい!ww
277:デフォルトの名無しさん
18/04/11 12:37:06.54 bG1z7LTF.net
マジレスするとstdoutのトラップで桶
278:デフォルトの名無しさん
18/04/11 14:41:24.70 nGNQyhwo.net
意地悪な憶測だがライセンスも読んでないに違いない
279:デフォルトの名無しさん
18/04/11 23:09:57.05 QNR3RY4l.net
まじめにライセンスを読むのはいかがわしい事を考えてる奴だけ説
280:デフォルトの名無しさん
18/04/11 23:13:13.16 DormuVYu.net
ぐう正論
281:デフォルトの名無しさん
18/04/11 23:54:01.75 VAa2HaB9.net
①GPS取得
↓
②ネットにあるjsonを取得
↓
③GPS内容・json内容を0.5秒おきに出力
↑の処理をするプログラムを組んでいます。
①はすぐ処理が終わるので問題ありませんが、②は使用環境が外でモバイル通信を使用しているためか②の処理だけで最大5秒かかることがあって③の処理が大幅に遅れてしまいます。
②のみ裏で処理して、①と③をループさせたいのですが、いい方法ありますでしょうか?
282:275
18/04/12 00:05:44.68 qBx4xR6B.net
先ほどの書き方だとjsonを0.5秒以内に取得するということになってしまうので修正します。
①GPS取得(0.5秒ごとに処理)
↓
②ネットにあるjsonを取得(10秒ごとに処理)
↓
③GPS内容・json内容を出力(0.5秒ごとに処理)
10秒に1回以外は①と③のループなので問題ありませんが、↑の処理だと10秒に1回は②を処理するときに時間がかかってしまって③の処理が0.5秒で処理できなくなってしまうのが問題です。
283:デフォルトの名無しさん
18/04/12 00:15:41.74 4IaDzy3O.net
2を実行するために1の結果が要らないならご自由に
284:275
18/04/12 00:53:20.19 qBx4xR6B.net
スレッドという処理があったのでこれを使えばいけそうでした
自己解決すみません。
285:デフォルトの名無しさん
18/04/12 00:58:33.43 3KpeTxH4.net
俺ならGPSロギングとJSON取得はそれぞれ全く別個に作って別プロセスで動かすわ
結果はタイムスタンプを使って後で結合すればいい
286:デフォルトの名無しさん
18/04/12 01:08:15.09 iaId0hiD.net
f = open("precictor_result.txt","a")
f.write(result," ",predict," ",data_test,"\n" )
f.close()
これだと、引数が多いとエラーが出る
,の代わりに+を使うと、数値として計算するようで、
TypeError: ufunc 'add' did not contain a loop with signature matching types dtype('<U21') dtype('<U21') dtype('<U21')
とエラーが出る
とりあえず、簡単に出力させて中身を確認したいがどのようするのがスマートだろうか?
287:デフォルトの名無しさん
18/04/12 01:20:58.84 ViqCrKfL.net
変数が何なのかは知らんが
>数値として計算する
なら文字列に変換すれば良いだろ
288:デフォルトの名無しさん
18/04/12 01:27:04.11 iaId0hiD.net
>>281
レスありがとうございます
変数全てに対して文字列に変換するのが面倒で・・・
例えば、
print(result," ",predict," ",data_test,)
であれば問題なく出力されますので
ファイルに保存する場合ももっとスマートにできる方法があれば助かります
289:遊園地
18/04/12 01:37:46.68 tAnO53/m.net
これで、良いのかな?
f = open('text.txt', 'r')
for i in f:
print (str(i))
f.close()
290:遊園地
18/04/12 01:39:14.90 tAnO53/m.net
見たら分かると思うけど、
f.write( str(i) )
と言う構想
291:デフォルトの名無しさん
18/04/12 02:29:34.74 iaId0hiD.net
ありがとうございます。
f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" )
でうまくいきました。ただ、大量の変数を出力する場合、
標準出力ではうまくいくわけですから、全て文字列にキャストするのはちょっと面倒と感じています。
例えば、
print(result," ",predict," ",data_test) #実際にはもっと多くの変数が並ぶ
こんな場合、これではエラーが出ますが、イメージとしては、
f.write( str((result," ",predict," ",data_test)) )
のような物でもあればもっと気軽にファイル出力できるような感じです
292:デフォルトの名無しさん
18/04/12 03:01:07.44 M9kW+xEA.net
str = [result, predict, data_test]
for i in str
f.write()
これで動くっけ?
293:デフォルトの名無しさん
18/04/12 04:00:58.45 T93bDVFD.net
>>275-279
スレッドは、同一プロセスだろ。
こういうのは、別のプロセスでよくある
数秒毎に書き込むプロセスAと、1秒毎に読み込むプロセスBがある
B は、ファイルをスタンプを見て、
新たに書き込まれた情報が無ければ、. を出力して、
新情報があれば、o を出力するみたいなやつ
制御・組み込み系で多い
...o....o...o.....o....o..
294:デフォルトの名無しさん
18/04/12 04:10:10.14 T93bDVFD.net
name = 'John'
age = 20 + 3
print "名前は #{name}、年齢は #{age}歳"
Ruby では、テンプレート文字列って言うのかな?
文字列の中で、式を展開できる。
最終的に、変数が文字列型に変換される
Python には、こういう機能が無いのか?
295:デフォルトの名無しさん
18/04/12 04:49:22.42 t3ixnFe0.net
>>280
printは引数を強制的に文字列に変換するうえに
キーワードオプションで出力先を変更できるから
以下で通るはず。空白も改行も勝手に入る
詳しくはドキュメントの「Python標準ライブラリ-組み込み関数」を参照
print(result, predict, data_test, file=f)
296:デフォルトの名無しさん
18/04/12 06:25:29.02 t3ixnFe0.net
>>288
文字列中での式展開はPython3.6から実装された
3.6以前ではこの機能がなく、%記法やstr.formatメソッドを使う
%記法
print("名前は %s、年齢は %d" % (name, age))
str.formatメソッド
print("名前は {}、年齢は {}".format(name, age))
フォーマット済み文字列リテラル
print(f"名前は {name}、年齢は {age}")
297:遊園地
18/04/12 09:27:33.72 tAnO53/m.net
>>285
データ構造が不明だから、何とも言えない。
何処かで、
書き込むべき内容を1つのリストに纏めたり
できない?
298:デフォルトの名無しさん
18/04/12 10:53:13.19 iaId0hiD.net
>>291
Pythonを初めて2日目でデータ構造についても正直よく分かってないです
import pandas as pd
from sklearn.ensemble import RandomForestClassifier
from sklearn import cross_validation, metrics
from sklearn.externals import joblib
import warnings
warnings.filterwarnings("ignore")
mr = pd.read_table("test-data.txt",header=-1)
mr = mr[0:70]
clf = RandomForestClassifier()
clf = joblib.load('cars.pkl');
for row_index, row in mr.iterrows():
result = row.ix[0]
data_test = row.ix[1:]
predict = clf.predict(data_test)
f = open("test.txt","a")
print (result," ",predict," ",data_test )
f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" )
# 標準出力を、ちょっとファイルに出力して中身を確認したいだけで全てキャスト(今は3つなので良いが10くらいになると面倒)するのは面倒なので上の行をもう少し簡素にしたい
f.close()
299:デフォルトの名無しさん
18/04/12 10:53:50.49 iaId0hiD.net
>>289
標準出力にその機能があるなら、writeでも何とかならないでしょうかね?
>>286
str = [result, predict, data_test]
for i in str:
f.write(i)
残念ながら、
TypeError: write() argument must be str, not numpy.int64
という結果が�
300:\示されます
301:デフォルトの名無しさん
18/04/12 11:12:19.94 t3ixnFe0.net
>>293
これはprint関数の機能だからwriteでは使えないよ
こう変えるだけなんだけど、どうしてもwriteじゃなきゃいけないの?
f.write( str(result) + " " + str(predict) + " " + str(data_test) + "\n" )
↓
print(result, predict, data_test, file=f)
302:デフォルトの名無しさん
18/04/12 11:18:36.95 JyHXEe/D.net
resultとかの各変数の中身が文字列じゃない気がする
303:遊園地
18/04/12 11:38:42.18 tAnO53/m.net
pandasは触った事ないから、協力できない。
差支えが無ければ、test-data.txtの中身(記述形式)を教えてくれ。
でたらめな数値や造語で良い。そうしたら、何か分かるかも。
304:デフォルトの名無しさん
18/04/12 12:03:51.11 iaId0hiD.net
>>294
出力されたデータをExcelでグラフにしたり検証したい時などとりあえずテキストデータにしたいのです
普段はperlを使っているのですがそれだとprintそのままにファイルハンドルを付けるだけで
標準でもテキストでも好きに出力できるので同じような使い方ができればと思っています
どちらも出力させて、画面で分かるものはそれでいいですし、
詳細な検討がしたい場合はファイルをExcelなどで開いて再検討する感じです
また、pythonやpandasに慣れて居らずその結果が不安で適宜Excelの結果と照合したいというのもあります
本当はperlでやりたいのですが機械学習について調べているとPythonのモジュールを使う物ばかりで・・・
>>296
生データそのままです
0 1 1 100 99 98 97 101
0 1 1 101 100 99 98 97
1 1 1 97 101 100 99 98
1 1 1 98 97 101 100 99
1 0 1 99 98 97 101 100
1 0 0 100 99 98 97 101
1 0 0 101 100 99 98 97
305:デフォルトの名無しさん
18/04/12 12:10:53.36 CLTBB0jT.net
画面に出力する(普通にprintする)プログラムを作って、
ファイルに保存したい場合には
foo.py > filename
という風に実行する、
というやり方はご存知ですか?
306:デフォルトの名無しさん
18/04/12 12:16:50.63 rOwLVxdy.net
てかパンダ使ってるならそっちで出力すれば?
307:デフォルトの名無しさん
18/04/12 12:40:44.41 T93bDVFD.net
in/out を、標準入出力にしておけば、パイプでファイルにつなげられる
スクリプトファイル < 入力ファイル > 出力ファイル
308:デフォルトの名無しさん
18/04/12 12:44:49.97 iaId0hiD.net
>>298,300
おぉーその方法がありましたか
大昔DOSで使ったことがありますが完全に忘れていました!
>>299
とりあえずサンプルプログラムをそのままでpandasもpythonもまだ使いこなせていません
色々なtypeがある場合でも、さくっと出力してくれますか?
309:遊園地
18/04/12 12:53:53.14 tAnO53/m.net
聞けば聴くほど分からなくなってくる。
取りあえず出力したいなら、
>>290
310:デフォルトの名無しさん
18/04/12 13:02:34.85 O7jP9sqH.net
>>301
Pythonを初めて2日目じゃ何もわからないだろう
ここの連中が言っているアドバイスすら理解不能だろ
一通りさっとでもPython学習をやってから>>292のようなコードに臨んだほうが良い
311:デフォルトの名無しさん
18/04/12 17:20:28.88 t3ixnFe0.net
>>297
print(result, predict, data_test) # 標準出力に出力
print(result, predict, data_test, file=f) # ファイルハンドル f のファイルに出力
これが理解できないならもうワシは知らん
312:デフォルトの名無しさん
18/04/12 21:11:22.45 iaId0hiD.net
>>303
貰ったアドバイスは一応理解できてると思う
ただ、以前perlを覚えた頃は掲示板をネットで調べたり、大量のサンプルプログラムを眺めたり
書き換えたりしながら完全に独学で覚えたから用語などがいまいち分からない
良い勉強方法があるなら知りたい
↓についても、その勉強方法ならアドバイスを聞くだけで分かりそう?
>>304
ありがとうございます
お手数おかけしましたが無事動作しました
fh.write()
としていて動作が失敗していました
コメントアウトしたら動作しました
313:遊園地
18/04/12 22:31:11.19 tAnO53/m.net
俺もperl5やってたけど、公式ドキュメントが有った。
それと同じ様にpython公式ドキュメントをやれば良い。
314:デフォルトの名無しさん
18/04/13 19:12:20.04 vvfD6Twp.net
pythonスレでperlとかrubyとか言い出す奴は
やべー奴ってことか
315:デフォルトの名無しさん
18/04/13 19:46:32.40 fIxp3q6f.net
そりゃCバリバリ書ける奴から見ればそうだろうな
316:デフォルトの名無しさん
18/04/14 00:27:21.50 fnrer+0Y.net
どこスレでもCとか言い出す奴はアルティメットアンタッチャブル
317:デフォルトの名無しさん
18/04/14 00:27:46.56 yt2qqJ9Q.net
>>307
このスレでperlとかrubyとか言い出す奴はperlとかrubyを超使えるやべーレベルの人だからな
そんな人からすればpythonは言語としてperlとかrubyより使えねーとなるだろうな。
318:デフォルトの名無しさん
18/04/14 00:46:34.06 EDFUWN6E.net
perlやruby使いが出てきたら、「機械学習」って唱えれば退散するよw
319:デフォルトの名無しさん
18/04/14 01:05:01.45 dSQ5MB/j.net
配列の要素数が、
len(list)
Python は、頭おかしいw
この式を、どう解釈せえっちゅーんや!
一方、Ruby では、オブジェクト指向。
ary.length
320:デフォルトの名無しさん
18/04/14 01:25:52.09 4BsAOclQ.net
>>310
いや、python使えねーって言うやつはある程度pythonを知っているやつだろう。知らなければ批判も感想もないわけだから。
俺もほとんどわからないから何とも言えない。これまでPerlやCばっかり使っててpythonやろうと思わなかったから。
321:デフォルトの名無しさん
18/04/14 01:59:01.25 yt2qqJ9Q.net
>>313
perlの人はPythonを少しは知っているだろ
Pythonプログラム書いているんだし
Perlの人はPythonならPython1日目よりsklearn、pandaを使ったプログラム書ける自信があるという感じで始めたんだろうが。
その自信の元はperlを超使えるやべーレベルな気がする
でも、スレで無様をさらすことになってしまったが
322:デフォルトの名無しさん
18/04/14 02:08:23.29 yt2qqJ9Q.net
ここは超初心者スレだからコミュ能力ないのはしょうがないのかもしれないが
perlの人のやりたかったのは>>280からだいぶ後の>>340の
>普段はperlを使っているのですがそれだとprintそのままにファイルハンドルを付けるだけで
>標準でもテキストでも好きに出力できるので同じような使い方ができればと思っています
なんだろう。
最初にこれを出せば、面倒を連呼しなくて済んだのにな
323:デフォルトの名無しさん
18/04/14 02:23:44.32 RyWPXEl9.net
>>314
超使える訳じゃないけど、そもそもperlしか知らない
そのperlもまともに勉強したわけではなく
サバイバル英語の勉強方法みたいな感じで覚えたから元から無様ですよ
上でも書いたけど、作りたいプログラムを見つけてきたら
それをいじりながら勉強する感じでやってきた
とりあえず、様々なエラーが出たけど、エラーもでることなく10時間CPU回しっぱなしで動作してる
よく分からないながらでも、とりあえず書けば機械学習ができてしまうのは便利だと思ってる
>>311
まじそれ。perlでできるならわざわざ新しい言語を覚えようとは思わなかった
スコープの使い方まで違うし慣れるまで色々嵌りながら学習する必要があると思うと泣けてくる
324:デフォルトの名無しさん
18/04/14 02:37:37.23 BdA0jLra.net
perlってテキスト処理ぐらいしかやったことないけど
え、それだけ? ってぐらい簡単に書けちゃうとこがあって面白いね
325:デフォルトの名無しさん
18/04/14 02:57:00.89 lnTeyTPJ.net
>340 に期待
326:デフォルトの名無しさん
18/04/14 02:59:10.50 lnTeyTPJ.net
>>316-317
書き捨てならperlでも良いと思う
何ヶ月後か何年後かにメンテするときに
忘れてから(あるいは他人のもののメンテ)が勝負
pythonの方にしといて良かったと思える
327:デフォルトの名無しさん
18/04/14 06:03:31.69 5tg9pgD6.net
>>312
頭悪いなあ
Rubyにだってstrとかreadlineとかgsubとかあるだろ
pythonのlen(x)は中でx.__len__()を呼んでお
328:り、お前の好きなオブジェクト指向(笑)だ 完全に実装者任せのrubyとは違い、Pythonがlen関数を使うことには下記の2つの意味がある ・メソッド名を確実に統一する(Rubyみたいに自由だとcountとか誤った名前を付ける奴が出てくる) ・__len__の返した結果が規約(必ず整数であること)に従っていることをチェックして保証する Pythonの方がより規約を重視した高度な仕組みなんだよ
329:デフォルトの名無しさん
18/04/14 10:47:57.74 RyWPXEl9.net
>>317
本当にかんたんに書けるよな
Perl使ってる身からすれば、同じP言語だし可能な限りPythonでも簡単にできる方法が知りたくなる
>>319
他の言語は殆ど知らないので何とも・・・メンテかんたんなら良いね
Javaとかネットで良いと言われて、2週間頑張ったけど、長すぎる命令文が覚えきれずタイプが面倒で諦めた
今となっては当時作ったJavaアプリは命令文すら覚えていないから書き直すことすらできないけどね
330:遊園地
18/04/14 11:49:28.86 osRawEaB.net
35歳の話ですか?
331:デフォルトの名無しさん
18/04/14 22:11:15.45 nq6U0FpM.net
一回importしたモジュールを取り消すことできますか?
332:デフォルトの名無しさん
18/04/15 00:11:09.27 LyYRjAz1.net
気の持ちようで過去の事実は変えられる
333:デフォルトの名無しさん
18/04/15 00:43:39.53 zL8vaRCQ.net
関数の中でimportしたら、関数処理が終わるごとに解放されるの?
334:デフォルトの名無しさん
18/04/15 01:30:36.11 fSFvvger.net
>>325
Pythonはすごい賢い言語だから、importを頭に書いても
必要になった時に動的にインポートし、不要になったら解放してくれるんじゃないのかな。
335:デフォルトの名無しさん
18/04/15 01:37:25.53 fSFvvger.net
ただ、毎回インポート・解放すると時間が消費するから
そんなのやめて常駐にしたいときには、キャッシュしといてと指示すれば解放しないで常駐するように
する機能とかも提供している気がする。
336:デフォルトの名無しさん
18/04/15 02:41:37.97 K+msyNFc.net
なんだ妄想か
337:デフォルトの名無しさん
18/04/15 03:19:09.43 9PmxhzhB.net
試してないけどdel モジュール名はできないの
明示的に参照消したらさすがにガベコレしてくれるだろ
って妄想
338:デフォルトの名無しさん
18/04/15 03:26:45.07 9PmxhzhB.net
あまり行儀良くないけど、
使う関数の中でローカルにインポートしてもいいんだよ
いつ使うか分からんからどう扱うか知らんけど、ライブラリとか読んでると後始末に使うモジュールは大体そうしてる
例えば
def Quit():
import sys, os
各々のexit関数を試みる
みたいな感じで
これらは軽いからあまりいい例では無いと思うが、ちょっと他の例が思い出せないので
339:デフォルトの名無しさん
18/04/15 05:43:37.19 VXOW+WoG.net
>>321
Perl なら、Python ではなく、Ruby
340:デフォルトの名無しさん
18/04/15 07:48:45.50 TD/JmgSS.net
Ruby大好きおっさんかあんちゃん。爺さんはないだろうが。
341:デフォルトの名無しさん
18/04/15 10:28:50.02 bGi543fi.net
>>331
機械学習が目的だから無理
342:デフォルトの名無しさん
18/04/15 10:37:38.96 E1b18XLI.net
rubyはルピーとかルーピーを連想させるから無理
343:デフォルトの名無しさん
18/04/15 11:04:43.82 HCEWsKeI.net
Rubyは名前を呼んではいけない(アンカーをつけてはいけない)あの人みたいになると思うと無理
344:デフォルトの名無しさん
18/04/15 11:25:09.21 mh4srQnS.net
(´・ω・`)あのーパイソンって小学生でもひと月ぐらいでできるぐらいかんたんってきいたけどほんとなの?
らんらんもプログラマーになれるかなー?
345:デフォルトの名無しさん
18/04/15 11:26:32.65 mh4srQnS.net
(´・ω・`)アマゾンで参考書さがしてるけどおすすめ
346:の参考書はありますか? パイソンの本ってむちゃくちゃ多いからまようー
347:デフォルトの名無しさん
18/04/15 12:06:53.97 VXOW+WoG.net
この本が、定本。
みんなのPython 第4版、2017
Python は、Ruby よりも難しい。
先に、この本を読め
たのしいRuby 第5版、2016
北大の湊真一が作った、ZDD なら、Ruby gem もある
348:デフォルトの名無しさん
18/04/15 12:23:12.55 E1b18XLI.net
>>336
webサイトで充分
349:デフォルトの名無しさん
18/04/15 12:33:40.04 Y8r4uZmH.net
パイチンくんの本がいっぱい出すぎで
どれを買っていいかわからないよ
みんなのパイチンくん
スラスラわかるパイチンくん
パイチンくん1年生
いちばんやさしいパイチンくんの教科書
いきなりパイチンくん
やさしいパイチンくん
パイチンくんからはじめる数学入門
独習パイチンくん入門
ホンキで覚えるパイチンくん
パイチンくん機械学習プログラミング
350:デフォルトの名無しさん
18/04/15 12:36:21.44 VXOW+WoG.net
「みんなのPython」が定本
そこへ、なでしこの作者・クジラ飛行机が参入した。
そこへ掌田津耶乃・大津真などの、多言語の作者も参入
351:デフォルトの名無しさん
18/04/15 12:45:05.14 E1b18XLI.net
rubyの本も急に沢山出た時期があるけど
流行りで出てくる本の九割以上は糞本
スルーでOK
352:デフォルトの名無しさん
18/04/15 13:27:09.55 BcrfAPr/.net
まあ流行りで本が沢山出るならまだ良い方だよ。それだけ売れるってことで、それはつまりやってる人が多いということだから。
353:デフォルトの名無しさん
18/04/15 13:35:32.50 fpkgMDqC.net
ディレクトリを指定してその中にあるファイルのパスをリストで取得できるモジュールとかないですか?
354:デフォルトの名無しさん
18/04/15 13:51:11.42 VXOW+WoG.net
Ruby なら、Dir.glob だけど、
「python list dir glob」で検索!
355:デフォルトの名無しさん
18/04/15 13:58:56.84 K+msyNFc.net
rubyが廃れた理由が分かるな。
いやrailsのバッテリーとして余生は安泰かwww
356:デフォルトの名無しさん
18/04/15 14:28:51.90 bGi543fi.net
Pythonではタブ記号の代わりにスペースを使う人が多いですが移動が面倒です。
タブ記号だと例えば、インデントが4つあっても4回の右キーを押すだけで移動できますが、
スペースの場合、16回くらい押す必要がありますよね。
どのようにしたらいいでしょうか?
エディタは秀丸を使っています。
357:デフォルトの名無しさん
18/04/15 14:30:19.66 Cnmy+aq2.net
>>347
・Sakuraエディタにのりかえる
・インデント機能を使った後、Tab->空白機能を使う
358:デフォルトの名無しさん
18/04/15 14:40:56.80 bGi543fi.net
>>348
Sakuraエディタは使ったことないけど、多分秀丸にも同じ機能はあると思うが、
タブにスペースを使うことが問題で
タブがスペースだと結局は16回、もしくは、ショートカットキーで飛ぶことになり面倒でない?
Tab->空白変換 機能は使ってるけど、
サンプルプログラムと手書きを何度もやりとりしてると
タブとスペースの混在で結構良い頻度でエラーになってしまう
統一したいと思ったり・・・
359:デフォルトの名無しさん
18/04/15 14:46:01.79 5EOPJhuZ.net
今時秀丸?
VSCodeとか使おうよ
360:デフォルトの名無しさん
18/04/15 14:47:30.46 CMfqpLbm.net
>>349
pythonファイルならスペース4つを一回で移動できるエディタたくさんあるよ
361:デフォルトの名無しさん
18/04/15 14:57:48.74 fpkgMDqC.net
>>345
globってそういう時に使うのですか
サンクス
362:デフォルトの名無しさん
18/04/15 15:27:17.39 Cnmy+aq2.net
>>349
うちは秀丸の設定で1タブ4半角スペース固定にしてる
それで
書いたらはしらせる直前に
全選択して Tab->空白
363:デフォルトの名無しさん
18/04/15 15:37:38.38 731FtqJf.net
ソフトタブだっけ?
俺Atomだけどスペース混在がどうのとか気になったことない
364:デフォルトの名無しさん
18/04/15 16:10:57.24 Cnmy+aq2.net
今ってたしか
タブとスペースの混在は('A`)ヴァーで
タブは(・A・)イクナイ
スペース4つにしましょうキャンペーン中じゃなかったっけ
365:デフォルトの名無しさん
18/04/15 16:22:10.02 7xK+P7p1.net
秀丸最強
366:デフォルトの名無しさん
18/04/15 16:25:40.21 7xK+P7p1.net
>>344
os.walk()
os.path.walk()
os.listdir()
367:aiueo
18/04/15 16:44:03.35 xfCmajNI.net
windows10
Python 3.6.5 C:\pythonにインストール済み
pip install -U selenium でseleniumインストール済み
ChromeDriver 2.37 インストール済み
C:\chromedriverに入れて、Pathも通しました
aiueo.pyを作って、C:\myscriptフォルダに入れています
中身は、下になります
from selenium import webdriver
driver = webdriver.Chrome()
これを実行すると、
C:\myscript>python aiueo.py
Traceback (most recent call last):
File "aiueo.py", line 1, in <module>
from selenium import webdriver
File "C:\python\lib\site-packages\selenium\webdriver\__init__.py", line 18, in <module>
from .firefox.webdriver import WebDriver as Firefox # noqa
File "C:\python\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 20, in <module>
import http.client as http_client
File "C:\python\lib\http\client.py", line 72, in <module>
import email.message
File "C:\python\lib\email\message.py", line 10, in <module>
import uu
File "C:\myscript\uu.py", line 7, in <module>
options = webdriver.ChromeOptions()
AttributeError: module 'selenium.webdriver' has no attribute 'ChromeOptions'
エラーで実行できません。。助けてください
368:aiueo
18/04/15 17:08:28.73 xfCmajNI.net
できたー!!エラー治りました!
同じフォルダに入っていた、uu.pyというファイルを消したところ治りました
なぜ消したら治ったのか原因がよくわかりません
uu.pyをフォルダに入れると、またエラーが発生します
作っちゃいけないファイル名などがあるのでしょうか。。
369:デフォルトの名無しさん
18/04/15 17:21:04.60 CIuag2/D.net
>>359
ライブラリと同じファイル名使ってるだけ
URLリンク(docs.python.org)
370:aiueo
18/04/15 17:30:47.57 xfCmajNI.net
>>360
ありがとうございます。もともとuu.pyというファイルがあったのですね
適当にaa.py test.py cc.py kkk.pyとか適当ファイルいろいろ作って試してました・・
勉強になりました、ありがとうございます
371:デフォルトの名無しさん
18/04/15 17:45:04.14 CIuag2/D.net
>>361
ライブラリ作ってるならこの辺りも見ておいた方がいい
URLリンク(docs.python.org)
372:aiueo
18/04/15 17:51:34.26 xfCmajNI.net
>>362
プログラミングやったことない超初心者です。
スクレイピングでやりたいことがあるのでpythonインストールしてみました。
ライブラリとファイル名、かち合わないように気を付けます
わざわざありがとうございます!
373:デフォルトの名無しさん
18/04/15 18:14:44.88 WdW8h5cl.net
openpyxlを使ってExcelファイルのA2セルの値を取り出そうとしたんだけど
そのセルに書かれている計算式が取り出せました。
計算式ではなく、計算結果を取り出すにはどうしたらよいの?
こう書きました→print(ws['A2'].value)
374:デフォルトの名無しさん
18/04/15 18:33:21.95 5wGddKlA.net
>>364
使ったことないけどここら辺の話かな?
URLリンク(cloudsquare.jp)
375:デフォルトの名無しさん
18/04/15 22:39:51.61 UX4y5Mn1.net
ありが㌧
376:デフォルトの名無しさん
18/04/15 23:29:55.35 9jzNqCls.net
長文になって申し訳ないけど、メソッドに関する質問。
1.Pythonで始めから使えるメソッド(.replace()とか)に呼び名はある?
ビルトインメソッド?、ビルトイン関数?、メソッド?それとも他の呼び名?
2.help()関数のようにビルトインメソッド(仮)の定義を見ることはできるか?
print(help(replace))と入力すると
>>>NameError: name 'replace' is not defined となるため見れない
3.ビルトインメソッド(仮)はなぜ存在しているのか?ビルトイン関数で代替できないのか?
メソッドがオブジェクト指向版の関数という自分の解釈なら、
メソッドはライブラリかユーザー定義用だけにしておいて、
ビルトインオブジェクト(クラス)のメソッドなんて用意するべきではないと思うから。
以上3点です。よろしくお願いします。
377:デフォルトの名無しさん
18/04/15 23:32:53.30 xpwShDOv.net
help(str.replace)
378:デフォルトの名無しさん
18/04/15 23:42:33.10 9jzNqCls.net
>>368
ほんとだ。ありがとうございます。
メソッドを呼び出す際は、ここでもオブジェクトが必要だったんですね。
そして、print()関数は不要でしたねすみません。
379:デフォルトの名無しさん
18/04/15 23:44:00.12 xpwShDOv.net
1.間違い
3.何が言いたいのか意味が判らない
380:デフォルトの名無しさん
18/04/16 00:48:43.62 +F/asDGP.net
>>370
1.はクラスメソッド、スタティックメソッドのことを言っているような気がするが、
XXXclass.replace()なクラスメソッド、スタティックメソッドはあったっけな感じだが....
>>367
3.に関してはPythonを作っている奴らにきくのが一番良い
ついでにjava,rubyも同様だからjava,rubyスレでも尋ねたほうが良いかも
381:遊園地
18/04/16 07:50:52.76 AgptP9w5.net
>>367
3
クラス継承したら良いと思う。
382:デフォルトの名無しさん
18/04/16 12:31:15.81 xRFNapub.net
ビルトイン型のメソッドはその型固有の機能だから
ビルトイン関数とは用途が違うんじゃないの
383:デフォルトの名無しさん
18/04/16 13:13:36.14 qlfABgAK.net
Ruby では、継承できて、インスタンスを作れる、class と、
継承もできず、インスタンスも作れない、module の2つがある
classに、moduleをインクルードして、機能を付け加えることを、Mix-in と言う
module内の関数は、多くのクラスで使えるような、汎用的なもの
384:遊園地
18/04/16 16:33:02.84 AgptP9w5.net
Recognizing hand-written digits
画像ファイルを読み込んで結果だけ取得したい。
どの様なコードになりますか?
この場合は、421です。
URLリンク(fast-uploader.com)
385:デフォルトの名無しさん
18/04/16 16:40:52.73 r1/f7Sud.net
captcha禁止
386:遊園地
18/04/16 17:43:27.26 AgptP9w5.net
これなら、大丈夫ですか?
URLリンク(fast-uploader.com)
387:デフォルトの名無しさん
18/04/16 17:56:18.32 ZFIHRn8x.net
>>376
ちなみに何で?
388:遊園地
18/04/16 18:50:38.80 AgptP9w5.net
>>378
URLリンク(animeflv.net)
OK? Low grade
389:デフォルトの名無しさん
18/04/16 19:33:30.30 gUfDVwYo.net
url見てから回避余裕でした。アニ豚死ね
390:デフォルトの名無しさん
18/04/16 20:14:00.57 5B9l6nEL.net
chainer_pix2pixを自前で用意した画像でやってみたんですが
updater.pyの70行辺りで
x_in[i,:] = xp.asarray(batch[i][0])
Exception in main training loop: Broadcasting failedというエラーが出ました
なんとかnumpyのコピーのエラーという事が分かったのですが
どう直したらいいのか分かりません・・・お助け下さい・・・
batch[0][0]とx_in[i,:]の中身の画像これです
URLリンク(imgur.com)
pix2pix
URLリンク(github.com)
ここの解説見ながらちょっとづつやってみたんですがほぼほぼわかってないです・・・。
URLリンク(spjai.com)
windows 10です
391:デフォルトの名無しさん
18/04/16 20:37:00.64 OxnvPd0M.net
エラーはわかるが、お前が何をやってるのか全くわからんから答える気にならん
392:デフォルトの名無しさん
18/04/16 21:02:19.87 5B9l6nEL.net
>>382
すいませんでした
参考にしたサイトにある魚の線画を描くと魚っぽい写真になるの逆で
カラーの線画のない画像から黒い線画を書かせるという事がやりたいです。
393:遊園地
18/04/16 21:06:58.35 AgptP9w5.net
失礼ww IQ220ぐらい有るんですけど
>>375
が解りません
教えて下さい
URLリンク(fast-uploader.com)
ぶひぶひぃ ぶひうぃいぃぃぃぃいいっwwww
ぶひぃいいいいいいいいいいいいいいいwwwwwwwwwww
394:デフォルトの名無しさん
18/04/16 21:26:32.35 M9Gf/bCG.net
プログラミング自体初心者&独学です
aizu online judgeを順に解いていっているのですが以下のコードでRuntime Errorが出てしまいました。
なにが悪いのかまったくわからないので教えてください!
URLリンク(judge.u-aizu.ac.jp)
pi = 3.14159265359
r = int(input())
area = pi*pi*r
length = pi*r*2
print('{:.5f}'.format(area),'{:.5f}'.format(length))
395:遊園地
18/04/16 21:31:05.09 AgptP9w5.net
計算式が違う
396:デフォルトの名無しさん
18/04/16 21:39:21.07 M9Gf/bCG.net
小学生からやり直します(汗)
以下に修正しても同じエラーになるんですがなぜでしょうか(泣)
pi = 3.14159265359
r = int(input())
area = r*r*pi
length = 2*r*pi
print('{:.6f}'.format(area),'{:.6f}'.format(length))
397:デフォルトの名無しさん
18/04/16 21:47:49.19 M9Gf/bCG.net
なんかこれで通りました。
import math
r = float(input())
pi=math.pi
s = ( r ** 2 ) * pi
l = 2 * r * pi
print(s, l)
398:遊園地
18/04/16 21:49:02.84 AgptP9w5.net
試したけど、受け取り値がint型だけど、実際のテストケースではフロート型
399:遊園地
18/04/16 21:53:12.17 AgptP9w5.net
既に解決してるけど、12.3が123として計算されてるな。
400:デフォルトの名無しさん
18/04/16 23:24:15.51 ovdjG7M8.net
>>390
ありがとうございました!
401:381
18/04/17 00:13:29.86 3Zz6leMl.net
>>382
すいませんどこまで何をやったか、という事ですよね???
解説サイトにあったものをfacade_dataset.pyに丸っと上書き保存して
色のみの画像500枚をfacade/labelフォルダー
線のみの画像を500枚をfacade/baseフォルダーにいれて
同じように評価用画像もtest_dにdetabaseからとれるようにちょっと変えて
python train_facade.py -g 0 -o image --snapshot_interval 100実行したところエラーがでたって感じです
(学習用と教師用の画像は500枚用意はしたんですが
動くかどうかも怪しいのでいまは三枚づつしかフォルダーに入れてません)
402:デフォルトの名無しさん
18/04/17 01:55:18.50 PvksN2Vg.net
>>392
なんかすごいことをやっているな。俺には出来るレベルの物ではないな。
ただ、>>381のコードはそっくりそのままgithubよりもって来た物なのか?
それとも何がしらの変更を加えている?
>>381は、コードはgithubのままだけどそれだとエラー出るからエラー出ないように修正したいてことかな
ひょっとしたら、中身の画像によっては要コード修正なのかもしれないのかもしれないが
403:デフォルトの名無しさん
18/04/17 04:43:58.56 QMWYQNUe.net
>>385
print(f'{area:.5f} {length:.5f}')
404:デフォルトの名無しさん
18/04/17 05:33:09.17 Z6U7XFnZ.net
>>381
ブロードキャスト出来ない状態だから、テンソル(numpyアレイ)の次元が合ってないんだろう
元ソースと自分のプログラムで両辺のshapeをプリントかデバッガで見て比較すれば間違えた箇所に気付くと思う
それでもダメ
405:なら、もっと簡単なmnistサンプルとかでnumpyの処理を勉強し直した方がいいかも
406:遊園地
18/04/17 11:03:58.69 nd6YqIWE.net
darknetで検出した結果だけをキャプチャーするのって、どうするの?
ダメなら、テラテイルで聞くわww
407:381
18/04/17 22:12:58.91 3Zz6leMl.net
>>393
いくつか変更というか、
どちらかが途中で変更されたみたいで
そのままだとエラー出る感じです
>>395
ありがとうございます
numpyほぼほぼわかってなかったので
numpy勉強して小さい画像サンプルで
元のと同じ条件でやってみたものと
自分のやってるものと比較してみます。
何をやっていいのかもわからなかったんで
書いてもらった単語調べるだけでヒントザクザクで助かります
ほんとありがとうございます
408:デフォルトの名無しさん
18/04/18 01:23:19.17 2l4GI+/x.net
chainerはデータのパックが面倒くさいからあまり好きじゃない
numpy→タプルデータセット→イテレータ→アップデータ→トレーナー
tensorflowはshape未定義のプレースホルダーのままテンソル演算をさせる所が分かりにくい
最終的にC++やC#のアプリに組み込みたい時はこれしかないけど
kerasはnumpyを縦ベクトル化してfit関数に渡すだけだから初心者向けで一番楽だと思う
日本語の解説本が少ないけどwebの記事はそれなりにあるはず
409:デフォルトの名無しさん
18/04/18 08:31:52.18 aHPh72wK.net
インポートエラー、format_excみたいなやつが永遠と出るんだがなぜでしょうか...
3日前から急に発症して、前回まで動いてたpyファイル全て実行できない...
python入れ直したり、anacondaで入れ直したりしたけど改善されないです
410:デフォルトの名無しさん
18/04/18 09:05:12.90 IyxAGhJK.net
何かが、自動update されたのかも
例えば、moduleA が、moduleB 2.2 に依存しているとする。
ここで、Bが2.3 に、updateされたため、Aが使えなくなったとか
それか、環境変数PATH を上書きしたとか
411:遊園地
18/04/18 09:54:49.07 EkJY2Tio.net
anaconda入れ直すしか無いなw
412:デフォルトの名無しさん
18/04/18 13:23:44.85 KAGSbSSN.net
Anacondaでトラブってるの見る度に気持ち良くなるわ
バカすぎ
413:デフォルトの名無しさん
18/04/18 16:20:24.68 WEKhN2py.net
数字や数字を変えながら、ちょっとスクリプトを作る場合、
def(サブルーチン?関数?) の場所について、物理的に下側にないとエラーが出てしまう
プログラムの書き換える度に、下までカーソルを動かさないといけないし
地味に不便なんだけど、何とかならない?
414:遊園地
18/04/18 16:39:07.37 EkJY2Tio.net
深層部にif __name__ == '__main__':を持ってくるか。
clss XX():
def YY()
処理
なら、clss XXのdef YYを
def YY()
処理
として、classから外す。
タスクバーが邪魔なら、非表示か移動
スクロールが無いなら、スクロールが有るエディターに変更する。
出力結果なら、外部ファイルに保存して確認する。
クリックしたら、クリックした文字の横に移動できる。
状況が解らない。
スクショ上げてくれたら、何か言えるかもな。
415:デフォルトの名無しさん
18/04/18 18:50:18.12 RFL5vDmV.net
>>399
×永遠と
○延々と
416:デフォルトの名無しさん
18/04/18 23:23:28.17 YRBnqMM/.net
初めまして。
よろしければ回答お願いします!
大学でpython3を使いブロックスというゲームのプレイヤーAIを作ろうとしているのですが、効率の良い攻め方を実現する方法が分かりません。
盤面の状況次第で臨�
417:@応変に対処できるようにしたいです。 何か良いアイデアはないでしょうか。 因みにpythonを扱うのはこの授業が初めてです。 以下ブロックスの詳細です! http://saikoro-table.com/2016/12/05/blokus/
418:遊園地
18/04/18 23:32:03.53 EkJY2Tio.net
??
??? ?? ???
モンテ使って、機械学習で数百万回読み込ませば良い。
419:デフォルトの名無しさん
18/04/18 23:43:26.51 V0vvqvFn.net
alpha zeroのパクりならgithubにいくつか転がってるぞ
420:デフォルトの名無しさん
18/04/18 23:45:52.84 YRBnqMM/.net
>>407
すみません。自分含め班員もど素人しかいないので多分難しいです…
421:デフォルトの名無しさん
18/04/18 23:50:57.82 V0vvqvFn.net
難しくても丸パクりすればOK
理解は後からついてくる
422:デフォルトの名無しさん
18/04/18 23:57:41.25 V0vvqvFn.net
ちなみに素のモンテカルロ木探索だけだとあんまり強さが出ないかべらぼうな時間がかかる可能性があるので注意
423:デフォルトの名無しさん
18/04/18 23:58:42.71 YRBnqMM/.net
>>406
追記です。ボードの情報は board[X][Y]で与えられます。また、置ける場所をリスト?で返してくれる関数も与えられています。
ただこれをただ使ってるだけだと弱くて弱くて…笑
ということで、相手のピースとピースのつなぎ目を狙わせたいのですが、(そうすると強い)
いい方法解答お願いします。
424:デフォルトの名無しさん
18/04/19 00:03:06.90 K4+BGrIF.net
>>404
===test.py====
def learn(learn_mr,predict_mr):
maxrange = 15000
#・・・・・・・・・・・・
def iroiro:
maxrange = 15000
#・・・・・・・・・・・・
def iroiro2:
maxrange = 2
#・・・・・・・・・・・・
# def が大量に続く
###
input_file = 's1_x33x.txt' 例えばこの辺りを時々更新したい
f = open(input_file, 'r', encoding='utf-8')
Allf = f.read()
f.close()
Allf = Allf.replace("y","0 1 0 0 0") 例えばこの辺りを時々更新したい
row_step = 200
for row in range( row_step , 208900 ): 例えばこの辺りを時々更新したい
l_mr = mr[ row-row_step : row ]
p_mr = mr[ row : row+1 ]
dummy = learn(l_mr,p_mr)
dummy2 = iroiro(Allf)
print ("予備テスト完了") 例えばこの辺りを時々更新したい
###
エディタは秀丸で###と###の間を時々更新するばあい、言語によっては###間を先頭に書いて
下にサブルーチンをだらだら書いて必要に応じて呼び出す使い方ができるけどPythonだとどうすればいいかと思って
ショートカットキーで移動したり方法はあるけど、ファイルを開いてちょっと編集して閉じるみたいな使い方をすると意外とストレスで
425:デフォルトの名無しさん
18/04/19 00:20:52.00 4n9OXawP.net
>>403
関数の中にさらにインデントしたdefで関数を書けるから、ちょっとしたマクロっぽいことをしたい時は使う場所の近くに内部関数定義してる
あとは初心者には難しめだけどラムダ式とか
426:デフォルトの名無しさん
18/04/19 00:54:21.32 zrUS025p.net
>>413
このスレで有名になったperlさん?
427:遊園地
18/04/19 02:43:06.18 +uu+DOll.net
>>413
単純にリストにしたら?
[ [ファイル名], [置き換え] ]
classで纏めれるdefは纏める。
それから、継承して行く形かな。
URLリンク(ideone.com)
print部分を適当な配列に渡す。ぐらいかな。
最後のfor文は、アイデアが出ない。
428:デフォルトの名無しさん
18/04/19 03:37:44.72 T1rC3373.net
>>413
forループの中でしか使わない関数なら、forループ内で内部関数としてdefをすることも可能
関数が大きい場合は、調整が必要な部分だけ内部関数に書いて、その関数
429:内でもう一度外側の関数を呼ぶ二段方式もある def outfunc(x): 外側の関数 for i in range(10): def infunc(y): 調整が必要な部分 outfunc() infunc() # 内部関数呼び出し 変更箇所が少ない関数を下に置きたいだけなら、メインシーケンスを def main(): などで囲んで関数化してから、 一番最後にインデント無しの main() か、if __name__ == '__main__': と インデント付き main() を一緒に書く def main(): メインの処理 func() def func(x): 外部関数の処理 if __name__ == '__main__': main() # この時点で名前解決出来ていればエラーにならない
430:デフォルトの名無しさん
18/04/19 03:39:32.00 4mrmpy84.net
ブロックスについては、将棋・囲碁みたいに、評価基準を考える必要がある
1. 敵ピースの角に置く
2. 1マスのピースは、勝負所まで取っておく
まず、こういう高評価される手を列挙して、点数を付ける
AI の研究は、何年も掛かる
431:デフォルトの名無しさん
18/04/19 03:50:24.69 4mrmpy84.net
>>413
別のファイルに分けて、import すれば?
変数をコマンドライン引数で渡すとか、
設定ファイルに書いて読み込むとか
エディタは普通、VSCode を使う。
ソースコードのある範囲だけを、右クリックメニューから実行できる
普通、動的言語は関数定義を上に書かないと、関数を呼び出せない。
例外は、JavaScript で、関数の巻き上げ
432:デフォルトの名無しさん
18/04/19 04:18:53.20 T1rC3373.net
>>406
つなぎ目ならx,yからx+1,y+1までの4箇所の判定で対角2つ埋まってて2つ空いてる所を探せば良さそう
置ける場所リストの周辺の盤面を検索して、対角パターンを優先して、さらに出来るだけ大きいブロックを選べばいいと思う
全部の角の判定が正確に出来なくても、部分的にでも判定出来ればそこそこ強くなると思う
433:デフォルトの名無しさん
18/04/19 04:24:10.12 T1rC3373.net
>>420
訂正
対角2つが敵、1つが自分、1つが空白だった
434:デフォルトの名無しさん
18/04/19 08:55:16.93 5y+3njqT.net
>>418
ご回答ありがとです!因みに、あと二週間くらいで完成させなければならないのですが
点数つけるのは時間的にはどうなのでしょうか?
435:デフォルトの名無しさん
18/04/19 09:02:53.03 5y+3njqT.net
>>420
回答ありがとです!これは自分もしたいなって考えてたのですが、どう書けばいいか分からなくてですね…
疑問点を列挙すると
①判定の仕方
②判定後の評価
③現在使ってる置ける場所を教えてくれる関数が返してくるリスト?をその評価でソートできるのか。
って感じで前途多難です( i _ i )
436:デフォルトの名無しさん
18/04/19 09:37:46.23 4mrmpy84.net
評価基準を決めるには、何年も掛かる。
点数を決めて、敵AI と何千局も対戦して、微調整を続ける
将棋・囲碁もそう
437:遊園地
18/04/19 09:54:14.94 +uu+DOll.net
大前提がブロックスを完成済み。として、話が進んでるが、
ブッロク自体を作れてるのか気になる。
438:デフォルトの名無しさん
18/04/19 10:09:51.11 3+zW45NU.net
ガキの宿題手伝う必要ないでしょ
439:遊園地
18/04/19 10:15:02.85 +uu+DOll.net
期限が2週間も有り、大学費だしてるなら、
直接
講師[先生]に聞いた方が良いよ。
むしろ、聞け。
なんの為に学費だしてるんの?
440:デフォルトの名無しさん
18/04/19 10:34:58.58 5y+3njqT.net
>>424
そうなんですね!それは厳しい…( i _ i )
>>425
ブロックはアルファベットaから21字が割り振られて最初から与えられていて
置ける場所を
(X座標、Y座標、ブロックの形、回転)
のリストで返してくれる関数?を使ってます。
441:デフォルトの名無しさん
18/04/19 10:37:55.70 5y+3njqT.net
>>426
手伝っ
442:てくれたら嬉しいです >>427 先生が答えてくれない先生でですね… 聞いても調べてくださいとしか言われないので こちらにお邪魔させていただきました…
443:デフォルトの名無しさん
18/04/19 10:56:08.16 j5tv0M09.net
Pythonむずい!
なんでこんなむずいの?
444:デフォルトの名無しさん
18/04/19 12:13:54.17 cIc2YD7o.net
pythonてかやろうとしてることが難しいんじゃないの?
言語としては簡単な方でしょ、同じことを別の言語でやってみたら分かる
445:デフォルトの名無しさん
18/04/19 12:17:59.12 4mrmpy84.net
そりゃあ、ブロックスなんて答えが無いだろ
将棋・囲碁みたいに、対戦コミュニティがあるか?
まず、コミュニティへ行って、AI 同士で、何千局も対戦して、
微調整を続けないと、無理だろ
446:デフォルトの名無しさん
18/04/19 12:19:39.36 2nanKMvG.net
>>429
今時そんな殿様商売あるのかあやかりてぇ
いいなー先生様は
447:デフォルトの名無しさん
18/04/19 12:23:58.79 4mrmpy84.net
強いAI を作るのは無理だから、
とにかく、次に置けるマスだけを、リストに入れて、
その中からマスを適当に選んで、適当に選んだピースを置け
それで良い
448:デフォルトの名無しさん
18/04/19 13:12:52.70 f7DkAV9f.net
AIは可能な選択肢のうち、0点以上の最高得点手を打つ。同点時はランダム。初期値は0
AI同士に勝負させて、打った手は全部保存しておく。最終的に勝ったほうは手のそれぞれにプラス点、負け側はマイナス点
ってやろうぜw
それを二週間延々繰り返させたら強くなるんじゃなーい?
449:デフォルトの名無しさん
18/04/19 15:02:28.67 c48O4SX1.net
どんなゲームだか知らんけど
とある局面のとある手に対して、
その後は両者ランダムに打って終わらせる試行を100回くらい繰り返して
勝った回数をその手のスコアとすれば良い
450:遊園地
18/04/19 16:16:23.30 +uu+DOll.net
遊べる。ブロックスAIと言う課題なら
目安だと[GUI]は5日
ブロックスのAIを課題にするぐらいだと、逆算して
本人が半日から1日でブロックス自体が完成させれる段階で
長くても2日
残りの3,4日で
CPU AI をコレまでに教えた内容で、調整して下さい。みたいなモノ
どう、考えても[推測上の一日の固定時間 9時から20時45分]
[一日の作業量(思考)2,3時間]と過程しても、
2週間は多すぎる。
1日2日は前後する可能性が有るけど、辻褄が合わないな。
F欄大学か、なんちゃって専門学校かな?
451:デフォルトの名無しさん
18/04/19 17:59:06.99 hcjjAGnl.net
>>437
実験の一端でそもそもpythonもこの授業が初めてです。丸投げされました。
452:デフォルトの名無しさん
18/04/19 18:01:31.06 hcjjAGnl.net
回答していただいた方ありがとうございます。
参考になります。
453:デフォルトの名無しさん
18/04/19 18:40:08.42 VWrPY/vr.net
>>429
yahoo知恵袋の方がいいよ
454:遊園地
18/04/19 18:44:18.50 +uu+DOll.net
大学設定は嘘だな。
大学設定が本当だったら、今のお前に「そんな」課題だすアホ教員が悪いのか、
何も教えない大学で大金払ってる馬鹿なのか知らないけど、
質問内容で現在のレベルが分かる。
教えて貰うのに、
理解できてないなら、教えて貰ってないのと一緒。
455:デフォルトの名無しさん
18/04/19 19:10:55.84 ar7X8qES.net
>>440
行ってみます!
>>441
なんか自分お邪魔みたいだったですね…失礼しました。勉強します。
456:遊園地
18/04/19 19:51:05.39 +uu+DOll.net
おう。
大学受験に失敗して6年引き篭もってる俺には、
大学生は邪魔だぞいww
457:デフォルトの名無しさん
18/04/19 20:10:30.03 uEzvz53
458:i.net
459:デフォルトの名無しさん
18/04/19 21:02:34.32 uEzvz53i.net
2週間なら>>436くらいが適当だとおもう。
あんま強くならないだろうけど。
460:遊園地
18/04/19 22:34:07.23 +uu+DOll.net
(^p^)「あうあうあーwwwwwwww」
461:デフォルトの名無しさん
18/04/19 23:25:56.00 K4+BGrIF.net
>>416
コード紹介ありがとうございます。
まだ内容がしっかり決まって居無くってちょっと書き換えたいという時にはちょっと大げな感じになりますね
ある程度のコードの中が決まっていると良さそうですね
>>417
ありがとうございます
色々な方法があるのですね
今回の場合、mainを置く方法が手っ取り早そうです
ただ、試しに書いてみるとエラーが出ました
どこか間違えていますかね?
>>419
関数が巻き上げられるのはそこそこ一般的だと思っていました
IDEだとそんなこともできるのですか・・・
大昔、Exlipseを使っていたのですが重たくって重たくって使わなくなっていましたが検討してみようと思います
ありがとうございます。
462:デフォルトの名無しさん
18/04/19 23:41:15.47 FEDLlhkO.net
eclipse
463:デフォルトの名無しさん
18/04/20 01:21:16.01 p7k7S/mH.net
新年度始まって間もないのにpythonでブロックス+AIの課題が出るような学科は情報系の学科なのかな。
情報系の学科なら今流行りの機械学習系のことも普通にやるんだろうな
464:デフォルトの名無しさん
18/04/20 03:06:20.06 qxue6Zgp.net
横からなのですが>>187さんのWebアプリにしてはpythonでサーバー建ててブラウザで表示するで合ってますか?
465:遊園地
18/04/20 08:57:52.56 xu4ZA7YN.net
>>450
# sudo pip3 install bottle
# URLリンク(localhost:8080)
from bottle import route, run, template
@route('/hello/<name>')
def index(name):
return template('<b>Hello {{name}}</b>!', name=name)
run(host='localhost', port=8080)
466:デフォルトの名無しさん
18/04/20 10:29:12.98 WJk0jxxj.net
日本の大学じゃなさそう
467:デフォルトの名無しさん
18/04/20 11:53:43.70 bSpMfw5T.net
>>447
コード貼り付け忘れていました
# ===test.py===
def main():
x = "H"
for num in range(5):
func(str(num))
def func(x,str):
print (x + "ello " + str)
if __name__ == '__main__':
main()
# UnboundLocalError: local variable 'func' referenced before assignment
468:デフォルトの名無しさん
18/04/20 12:18:17.84 9v7e203Y.net
ブロックスてそんなに有名なゲームなんか?聞いたことないわ
469:デフォルトの名無しさん
18/04/20 12:29:06.14 WJk0jxxj.net
これか
URLリンク(studio.beatnix.co.jp)
470:デフォルトの名無しさん
18/04/20 12:52:36.38 DDZisBas.net
>>453
> def func(x,str):
の前に
> func(str(num))
の呼び出ししたらそりゃそうなるわな
471:デフォルトの名無しさん
18/04/20 12:59:05.08 CLWy02Nm.net
えっパイソンってホイストないの?
c系言語には大抵あるのに。
抽象度の高い処理頭の方に書いて、使用関数の実装はお尻のほうに置いとけて便利なのに
472:デフォルトの名無しさん
18/04/20 13:00:03.95 bSpMfw5T.net
>>456
ありがと
全部main()に入れるんだと勝手に思い込んでた
473:デフォルトの名無しさん
18/04/20 13:02:16.40 bSpMfw5T.net
Perlと比べてイライラすることがあったけど、
{
}
が不要なのはサクサク書けて良いな
Pythonの良いところまた1つ見つけた
>>457
perlしか知らないけど普段そういった使い方してたからあれば便利だよねー
474:デフォルトの名無しさん
18/04/20 13:43:32.65 szszCkSU.net
関数を書く順番はどうでも良いよ
関数は全部グローバルに書いといて、ファイルの最後でmainを呼べばオーケー
475:デフォルトの名無しさん
18/04/20 13:46:22.55 szszCkSU.net
ってか、>>453はdef funcのインデント下げれば動くだろう
476:デフォルトの名無しさん
18/04/20 13:49:06.94 bSpMfw5T.net
>>460
こういうこと?
# ===test.py===
def main():
x = "H"
y = "h"
for num in range(5):
func(x,str(num))
func(y,str(num))
def func(x,str):
print (x + "ello" + str)
def func2(y,str):
print (x + "ello" + str)
if __name__ == '__main__':
main()
477:デフォルトの名無しさん
18/04/20 13:56:09.67 bSpMfw5T.net
>>461
それについては456で教えて貰って解決した>>458
>>462
訂正
def func2(y,str):
print (x + "ello" + str)
def func2(y,str):
print (y + "ello" + str)
478:デフォルトの名無しさん
18/04/20 14:06:06.09 aZdt3WBn.net
呼ぶ側がfunc2になってないから動かないと思うけど、だいたいそういうこと
479:デフォルトの名無しさん
18/04/20 15:27:31.37 DDZisBas.net
>>457
そもそもpythonのdefは実行文だから
480:デフォルトの名無しさん
18/04/20 17:50:44.02 1rBd94+J.net
spyder使ってるんだけど、defの中の変数が実行後の変数エクスプローラに表示されなくなるんだけど、表示させる方法ない?
もちろん実行時はその変数に値が格納されてるんだけど、defを出た瞬間に破棄されちゃうのかな。
いちいちprintしてデバッグするのめんどくさい
481:デフォルトの名無しさん
18/04/20 17:54:59.99 WJk0jxxj.net
global
482:デフォルトの名無しさん
18/04/20 19:16:25.14 9TOBYLLi.net
デバッガで何しようとしとんのやこのアホはw
483:デフォルトの名無しさん
18/04/20 21:19:08.77 bNn+sorS.net
デバッガはブレークポイント仕掛けたり1行ずつステップ実行しながら変数をウォッチするものだと思うので
実行中にリアルタイムで表示変えるのは超高速なエミュレータでもないと…;
484:デフォルトの名無しさん
18/04/20 22:57:24.69 Xu3EKzy5.net
>>467
globalにすれば出来るのは知ってるけど、いちいち関数化したのを戻すのが面倒だから他に方法がないのかと思って。
>>469
リアルタイムでみたいわけじゃなく、プログラム実行後にメモリに残った変数を確認したいって意味ね。
おかげ気づいたけど、defを抜ける直前にブレークポイント置いてそこで確認すりゃあいのかな。けど関数の分割多いと辛いな。
485:デフォルトの名無しさん
18/04/20 23:08:48.76 k7m69UuR.net
ログ吐くようにしとけよ
486:デフォルトの名無しさん
18/04/20 23:18:23.85 k7m69UuR.net
printめんどくさいとか言ってるがある程度のサイズのあるプログラムはログ残したほうが結局は作業がはかどる。
487:遊園地
18/04/20 23:47:55.05 xu4ZA7YN.net
ログはprintでは無いと言う事を肝に免じて置いて下さい。
488:デフォルトの名無しさん
18/04/21 00:18:21.37 NjF1F28w.net
>>473
ログをprintで書くことで悦に入っています。
489:デフォルトの名無しさん
18/04/21 00:46:49.28 SeoWSMd7.net
>>472
printがめんどくさいと言う人ならログ出すように変更するのもめんどくさいになるだろう。
めんどくさいのいやだいやだで、(コードに手を入れないで)
ツール(デバッガ)で楽々出来るようにしたいにニダと言う感じだろう
実運用ではこのログはイラネなんだろうが。
490:デフォルトの名無しさん
18/04/21 01:00:05.67 YdpuWmPR.net
肝に免じてどうする
肝は銘ずる(刻みつける)ものだ
491:デフォルトの名無しさん
18/04/21 01:10:45.10 SeoWSMd7.net
>>476
遊園地のいるところは
肝に銘じてが
話し言葉で
>肝にめんじて
になるところなんだよ。
鉛(標準語では訛)がでたんだろ
492:デフォルトの名無しさん
18/04/21 01:40:30.99 jRiYYFVC.net
p2exeって日本語は扱えないのですか?
493:デフォルトの名無しさん
18/04/21 03:00:26.77 HWyKzA01.net
>>478
py2exeではなく?
494:デフォルトの名無しさん
18/04/21 03:26:11.52 jRiYYFVC.net
>>479
間違えました、py2exeです。日本語文字をprintしようとすると
UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 0: illegal multibyte sequence
って出るんですよね。コードをutf-8にしたり、文字列の先頭にuを付けてみましたが、きちんとexeが生成されません
495:デフォルトの名無しさん
18/04/21 07:09:29.13 nN/toUY2.net
肝免わろすwww
496:遊園地
18/04/21 07:29:31.66 fW+0Fovn.net
>>477
あああーーーー
それは、アカンww
明治時代の初期までなら、隣の県に行けば
言葉が通じないのもザラだったしなwww
497:デフォルトの名無しさん
18/04/21 08:46:12.30 HWyKzA01.net
>>480
んでもってPythonは2系をつかってるのか?
あるいはWindowsのユーザー名が日本語なのか。
素直に3系つかうことと
py2exeするときはあきらめて日本語を含まないユーザー名を作って
そこからやる
498:デフォルトの名無しさん
18/04/21 15:11:14.68 Jlfar8cI.net
py2exeは3.6に対応してないから、バイナリ作るならpyinstallerの方がいいと思う
セットアップファイル作る必要もなくて楽だし
499:デフォルトの名無しさん
18/04/21 15:16:38.37 K9lD61bw.net
bytesをfloat配列にする高速な方法無いでしょうか?
4バイトで1floatではなく、1バイトで0.0~1.0の範囲の1floatの
同じ長さの配列が欲しいのですが
500:デフォルトの名無しさん
18/04/21 16:19:45.05 Jlfar8cI.net
pyinstallerで詰まったのは、pandasを使うスクリプトでエラーが出ることぐらい
pandasを 0.20.0 に落とせば通る様になると思う
501:デフォルトの名無しさん
18/04/21 16:38:34.70 Zke6MJB8.net
>>485
精度落ちて良いならいくらでもある
502:デフォルトの名無しさん
18/04/21 16:42:03.35 K9lD61bw.net
>>487
精度は構いませんので是非
503:デフォルトの名無しさん
18/04/21 16:58:38.10 V+d3uri5.net
正の数だけ?
504:デフォルトの名無しさん
18/04/21 17:04:24.09 yl7d1HXp.net
精度気にしないなら
0x00 = 0.0
0x01 = 0.004
0x02 = 0.008
...
0xFA = 1.0
0xFB~0xFF は使わない
とか勝手に決めれば良いだけ
505:デフォルトの名無しさん
18/04/21 17:09:59.96 K9lD61bw.net
>>489
0.0~1.0の正の数だけです
506:デフォルトの名無しさん
18/04/21 17:22:36.40 6J3G0l4e.net
>>490
それ普通に255.0で割る方が速いだろw
507:デフォルトの名無しさん
18/04/21 17:26:25.82 yl7d1HXp.net
そうか?
>>490 も 250 で割るだけだから速度は一緒だぞ
508:デフォルトの名無しさん
18/04/21 17:30:44.93 6J3G0l4e.net
>>493
250.0で割るのだと元のバイト列にある251~255を1.0に丸める処理が必要になるだろ。
考えてから発言する習慣付けなよ。
509:デフォルトの名無しさん
18/04/21 17:34:55.64 yl7d1HXp.net
どうせ使わないんだからいいだろ
510:デフォルトの名無しさん
18/04/21 17:45:08.29 nWGazij5.net
おいおい256.0だろ…
おまえは1を0.1にするのに9で割ると言うのかい?
511:デフォルトの名無しさん
18/04/21 18:23:41.65 bgp2zzOH.net
>>485
256 しかないんだから float f
512:[256] の配列作って変換すればいいんじゃね?