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] の配列作って変換すればいいんじゃね?
513:デフォルトの名無しさん
18/04/21 18:33:33.34 ZHkY3Ka/.net
頭いいな
514:デフォルトの名無しさん
18/04/21 18:37:22.51 CHrbK6wg.net
>>483 >>484
素直にパイインストーラーを使うことにします。ありがとうございました!
515:遊園地
18/04/21 19:45:18.90 fW+0Fovn.net
windows辞めて、Ubuntuにしたらデフォルトでpython2,python3入ってるよ。
なんつってwwww これぞwww 悪魔の囁きwwwww
516:デフォルトの名無しさん
18/04/21 19:47:16.89 fJguH7wu.net
いやシステムのPythonは使わないのか基本だぞ
517:デフォルトの名無しさん
18/04/21 19:51:23.74 Af+18o1F.net
それな
むしろデフォで入っていることが余計なトラブルの元になってる
518:デフォルトの名無しさん
18/04/21 19:53:02.17
519:SpcYsUEG.net
520:デフォルトの名無しさん
18/04/21 20:04:52.49 nN/toUY2.net
>>501
何に騙されてそんなガセネタ信じとるんやwwwww
521:デフォルトの名無しさん
18/04/21 20:09:07.60 +jzprnKY.net
UbuntuとかMacとかはpyenv入れてからAnaconda入れてとか結構面倒くさい
522:遊園地
18/04/21 20:54:58.27 fW+0Fovn.net
Ubuntu系のlinux mintにAnaconda入れてる。
起動確認の初回しか、動かしてない。
523:遊園地
18/04/21 21:45:02.32 fW+0Fovn.net
オブジェクトをヒープ上にメモリ確保する場面は
どんな時ですか?
524:デフォルトの名無しさん
18/04/21 22:00:51.41 ZHkY3Ka/.net
逆にヒープ以外にどこにメモリを確保するんだ?
それが答えじゃね?
525:デフォルトの名無しさん
18/04/21 22:05:01.51 zxSpDS2l.net
>>504
開発環境とシステム分けておくの大事だぞ
526:遊園地
18/04/21 22:16:07.69 fW+0Fovn.net
実行できない。
へるぷ
def grade(score, breakpoints=[60, 70, 80, 90], grades='FDCBA'):
□i = bisect(breakpoints, score)
□return grades[i]
[grade(score) for score in [33, 99, 77, 70, 89, 90, 100]]
527:デフォルトの名無しさん
18/04/21 23:13:25.47 ZHkY3Ka/.net
実行できないってどういうことよ
エラーメッセージがあるならそれも載せろよ
まあわざと載せてないのかもしれないけど
528:デフォルトの名無しさん
18/04/21 23:56:54.79 XrHLCoEo.net
>>510
>>509が言っているだろ。開発環境とシステム分けてないから実行できないんだよ
529:遊園地
18/04/22 07:24:22.58 S/aJuoMN.net
NameError: name 'bisect' is not defined
関数内にglobal と書いてもダメだった。
530:遊園地
18/04/22 07:35:06.34 S/aJuoMN.net
import bisect
で、TypeError: 'module' object is not callable
$ sudo pip3 install bisect で
Could not find a version that satisfies the requirement bisect (from versions: )
No matching distribution found for bisect
要件bisectを満たすバージョンを見つけることができませんでした(バージョンから:)
二等分線に一致する分布が見つかりませんでした
531:デフォルトの名無しさん
18/04/22 07:59:57.89 6LlZ0HWt.net
「みんなのPython」に書いてある
Anaconda は、Windows など予め、Python が入っていないOS が対象です。
Linux など、最初からPython が入っている場合は、プロに聞いて下さい。
この本では教えませんw
つまり、Pythonがバッティングするから。
Python3 というコマンドが、Python 3.4, 3.5 のどれを指すのか、
OSとAnacondaで、異なるバージョンの場合に厄介だから
$ which python3
/usr/bin/python3
$ which python3.5
/usr/bin/python3.5
$ file /usr/bin/python3
/usr/bin/python3: symbolic link to python3.5
つまり、Windows10・WSL・Ubuntu16.04 では、python3 → python3.5
異なるバージョンを使いたければ、仮想環境のvirtualenv(venv)を使って、
環境変数PATH を上書きしないといけない
activate ってすると、PATHが上書きされて、
システムとは異なるバージョンと結び付けられる
それか、Docker を使うとか
532:遊園地
18/04/22 08:55:24.40 S/aJuoMN.net
Anaconda使ってないよw
Geanyから起動してる。
linux mint18 mate
python 3.6.3
533:遊園地
18/04/22 08:56:08.08 S/aJuoMN.net
システムバージョンの
python 3.5.2でも試したけど、一緒のエラー内容だった。
534:遊園地
18/04/22 09:06:16.89 S/aJuoMN.net
公式から、ライブラリ落として
入れないと駄目とか?
分からない。
535:遊園地
18/04/22 09:28
536::09.74 ID:S/aJuoMN.net
537:遊園地
18/04/22 09:30:23.48 S/aJuoMN.net
皆さん、いろいろと
ありがとう、ございました。
538:デフォルトの名無しさん
18/04/22 10:07:45.92 clJAmZnE.net
help(help)について
help関数の定義を見たくてhelp(help)を実行したところ、
以下のような出力がありました。
Help on _Helper in module _sitebuiltins object:
class _Helper(builtins.object)
| Define the builtin 'help'.
|
| This is a wrapper around pydoc.help that provides a helpful message
| when 'help' is typed at the Python interactive prompt.
|
| Calling help() at the Python prompt starts an interactive help session.
| Calling help(thing) prints help for the python object 'thing'.
|
| Methods defined here:
|
以下略
見たいのは_Helper in module _sitebuiltinsではなくhelp function、
以下のような説明です。
help(object): help on object or class of object, except
help('name'): help on object/module named 'name'
help(): run utility, which starts with utility help
どうしてそれが出ないのか、ご教授いただけるとありがたいです。
Python3.6、pycharmを使用しています。
539:デフォルトの名無しさん
18/04/22 10:29:12.32 Nfi3M0G/.net
>>519
質問をすることでしか得られない、回答やアドバイスがある。
15分調べてもわからないことは、質問しよう!
何このサイト
入門者でも質問OKなのかな?
このスレだと15分調べて質問したらggksとか言われそうなんだが
540:遊園地
18/04/22 10:35:53.40 S/aJuoMN.net
>>522
このレベルから受け付けてる。
URLリンク(teratail.com)
541:デフォルトの名無しさん
18/04/22 11:17:20.23 Nfi3M0G/.net
>>523
色々な意味で驚いた
間口が広いはずの、2/5chの存在意義が・・・
ただ、入門者だと実際ここで躓く事もあるし
ディレクトリ構造って実際理解するの結構大変
分かってるとツリーになってると言えるし、そもそも何が大変なのか説明する方が難しいレベルだし・・・
そういえば、最近のOSってアドレスにあるパスが一部しか書いてなかったりするけどみんな困らないのかな?
昔のOS使ってるとパス辿ればいいと分かるけど、パスの概念を勉強する機会が減りそう
542:デフォルトの名無しさん
18/04/22 11:28:31.70 WmJ9TmOv.net
>>524
同意を求めるのじゃなくて質問すれば答えてくれんじゃね?そうゆうの?
543:デフォルトの名無しさん
18/04/22 11:45:11.71 3qJWMYht.net
python導入の仕方がわからない。。。
544:デフォルトの名無しさん
18/04/22 12:05:00.81 8GLco50w.net
>>526
teratailで質問するとここと違いやさしく丁寧に教えてくれるよ
545:デフォルトの名無しさん
18/04/22 12:18:40.18 bQIDMX1u.net
>>526
グーグルでpython インストール で検索。
以上。
546:遊園地
18/04/22 13:19:51.68 S/aJuoMN.net
>>526
ネタだと思うけど、公式から自分が使用してるOSを選ぶ。
URLリンク(www.python.org)
32bit PCだと 64bit版は動かせない。
x86 32bit
x86-64 64bit
547:デフォルトの名無しさん
18/04/22 13:21:25.71 6LlZ0HWt.net
ここは、Python の初心者用のスレだろ。
言語だけの初心者
PC・OS・情報処理の初心者用ではない。
Python以外の事は、知っているべき
548:遊園地
18/04/22 13:21:58.00 S/aJuoMN.net
win機で特に理由が無いなら、
Windows x86-64 executable installer
Ubuntuならコッチみてくれ。
URLリンク(www.python.jp)
549:遊園地
18/04/22 13:23:09.27 S/aJuoMN.net
>>530
最初に、どれ動かして良いのか分からなかったからww
全部ダウンロードして、試した俺が居るぞww
550:デフォルトの名無しさん
18/04/22 14:04:12.27 Nfi3M0G/.net
>>530
でもなぁー
毎日PCの電源を入れている人ならともかく
例えば高校数学にコンピュータあるけどあれするだけでもプログラミングソフトのセットアップって
重要で意外と難易度が高い
かといって、WindowsOS向け、Pythonセットアップスレとか作っても多分はやらない
ただ、少し慣れてきてUbuntuとかtensorflow-gpuとか入れろと言われるとトラブってる人も多いし
その記事だけでアフィが成り立つレベルだよ
551:デフォルトの名無しさん
18/04/22 16:22:41.42 3qJWMYht.net
526です。pythonのコード書くのはコマンドプロントだけ?
552:デフォルトの名無しさん
18/04/22 16:26:30.71 3qJWMYht.net
pythonのエディタはWindowsのコマンドプロントだけ?
553:デフォルトの名無しさん
18/04/22 16:57:42.88 /RR+q6wr.net
>>533
学校も含めて他人のPCにインスコするときは
VM用意してその中で遊ぶのがマナー
554:デフォルトの名無しさん
18/04/22 17:08:09.84 PsQCMKRd.net
>>530
言語だけの初心者=PC・OS・情報処理の初心者やけど
よっておまえもなw
555:遊園地
18/04/22 17:52:06.12 S/aJuoMN.net
>>536
それは無いよ。
USBブートで遊ぶべき。
556:デフォルトの名無しさん
18/04/22 19:12:05.56 Nfi3M0G/.net
>>536
VMってシステムに深く入り込むから大変なことになる
というかLANが使えなくなって半日嵌った
557:デフォルトの名無しさん
18/04/22 19:37:52.67 HOpx3haN.net
他にもいっぱいあるよ
558:デフォルトの名無しさん
18/04/22 19:48:31.90 H/AU6k7y.net
>>539
???
VMware PlayerとかVirtualPCなんかだと普通のアプリケーションと変わらんぞ
ゲスト側のネットワーク設定はちょっとコツが要るけど
559:デフォルトの名無しさん
18/04/22 21:53:07.67 2Fk6o3gK.net
アップデートしたら、仮想SW死んだことがある
環境的に物理的なトラブルと切り分けが調べられなくて泣きそうになった
560:デフォルトの名無しさん
18/04/22 21:57:51.54 2Fk6o3gK.net
hyper-vだったけどね
561:デフォルトの名無しさん
18/04/22 22:24:34.38 SkZxcoIM.net
wxpythonでボタンをクリックしたら別のpyに書いたウィンドウを表示させているのですが、開いたpyウィンドウを閉じるともとのボタンをクリックしても再実行されません。
importは一度だけというのはわかっているのですが・・・
どのような記述をすれば閉じても何度でも再実行できるようになるのでしょうか。
教えて下さい。
562:遊園地
18/04/22 23:01:16.94 S/aJuoMN.net
>>544
URLリンク(ideone.com)
に全部 ソース貼れw
それを見てから応える
563:デフォルトの名無しさん
18/04/22 23:03:22.02 6LlZ0HWt.net
wxpython を説明している、サイトを見て、勉強する
564:デフォルトの名無しさん
18/04/22 23:35:12.62 GW1847bJ.net
>>544
5chのPythonスレのレベルを超えた質問
teratailで尋ねたほうが良いよ
>>546
このスレで出来る回答はそんなもんだよな
565:デフォルトの名無しさん
18/04/23 08:33:18.26 1C6OTR8X.net
URLリンク(ideone.com)です!
566:遊園地
18/04/23 10:37:49.00 /QV9I6Db.net
>>548
実行ボタン処理が定義されて無いから?
詳しい人、どうぞww
567:デフォルトの名無しさん
18/04/23 11:17:30.25 DP/vD1RL.net
pythpn初心者だけどオブジェクト指向分からな過ぎて死にそうです
何かおすすめの本ありますか?
568:デフォルトの名無しさん
18/04/23 11:18:44.42 zsG77YNH.net
死んだ方がいいよ
569:遊園地
18/04/23 11:30:33.57 /QV9I6Db.net
厳し過ぎやろ
俺が引いてんじゃねぇか!ww
[遊園地は]使い分けると深みに嵌まるから、この形式
570:だけ抑えて後は垂れ流しだな。 https://ideone.com/VuRClI
571:デフォルトの名無しさん
18/04/23 13:03:27.78 HUlTGC1I.net
>>548
とりあえず、ボタン押してフレーム出すのはこう。
import wx
class ChildFrame( wx.Frame ):
def __init__( self, parent ):
super().__init__(parent, wx.ID_ANY)
sizer = wx.BoxSizer(wx.VERTICAL)
lb = wx.StaticText(self, wx.ID_ANY, "Hello!")
sizer.Add(lb)
self.SetSizer(sizer)
sizer.Fit(self)
class MainFrame( wx.Frame):
def __init__(self):
super().__init__(None, wx.ID_ANY )
sizer = wx.BoxSizer(wx.VERTICAL)
btn = wx.Button(self, wx.ID_ANY, "Push Me!")
sizer.Add(btn)
self.SetSizer(sizer)
sizer.Fit(self)
btn.Bind(wx.EVT_BUTTON, self.on_button)
def on_button( self, evt ):
child_window = ChildFrame(self)
child_window.Show()
if __name__ == "__main__":
app = wx.App()
frame = MainFrame()
frame.Show()
app.MainLoop()
572:スッキリ厨
18/04/23 13:31:39.89 jMm7sVs3.net
>>550
まずこの本で、オブジェクト指向を学ぶ。
スッキリわかる Java入門 第2版、2014
その後、この2冊をこの順に読む。
たのしいRuby 第5版、2016
みんなのPython 第4版、2017
この順番でやらないと、理解できないはず。
特に、オブジェクト指向の本は「スッキリ」しか存在しない
573:デフォルトの名無しさん
18/04/23 14:31:38.43 Lf5qXYif.net
>>553さん
ありがとうございます!
ただボタンを押した後のフレームを出す処理を他のファイルに書いています。
そういうやり方は一般的ではないのでしょうか?
def on_button( self, evt ):
import aaa
のようにaaa.pyを呼び出して処理させたいのですが、一回表示させて閉じると再表示させることができません。
574:デフォルトの名無しさん
18/04/23 14:47:47.40 HUlTGC1I.net
>>555
ファンクションの中でimportして、しかもそれだけでウィンドウを出すってのはすごく変。
四の五のいわずにやめた方がいい。
大体そんなやり方してたら親ウィンドウすら渡せない。
575:デフォルトの名無しさん
18/04/23 14:51:26.42 HUlTGC1I.net
>>555
子ウィンドウのコードを別のファイルにしたいなら、ChildWindowの定義部分を別ファイルにしてimportすればいい。
576:デフォルトの名無しさん
18/04/23 15:10:44.56 Sx+lupQ0.net
>>555
偉大なるこのスレの遊園地様が必死に質問しているteratailで聞いたほうがいいよ
処理を書いている他のファイルも提示して動くようにしてくださいと依頼すれば良い
577:デフォルトの名無しさん
18/04/23 15:15:35.49 sVI7fOBi.net
importは読み込んで実行というより
定義や宣言を読み込むため(だけ)に使うのが普通よね
578:デフォルトの名無しさん
18/04/23 15:19:13.02 Sx+lupQ0.net
>>557
>ChildWindowの定義部分を別ファイルにしてimportすればいい
ChildWindowの定義部分がある別ファイルのaaa.pyをimportしているのが
on_buttonのimport aaaなんだろ
579:デフォルトの名無しさん
18/04/23 15:32:45.72 sVI7fOBi.net
import aaa
…
def on_button(…):
child_window = aaa.ChildFrame(…)
child_window.xxx = yyy
…
こんな感じかね
580:デフォルトの名無しさん
18/04/23 15:57:59.47 sVI7fOBi.net
ついでにimportで1回しか実行されない原因はこれ
URLリンク(python.matrix.jp)
C言語でいうインクルードガード的なのが働いてる
581:デフォルトの名無しさん
18/04/23 17:22:58.10 Lf5qXYif.net
ありがとうございます、大変勉強になりました。
頑張ります!
582:デフォルトの名無しさん
18/04/23 17:39:53.20 HUlTGC1I.net
>>560
wx.Frame.Showをimportするファイルに書くなって意味なんだけど、伝わりませんか、、、そうですか、、、すみません。
583:デフォルトの名無しさん
18/04/23 18:24:03.12 NdLOIshu.net
わたしに
584:は伝わりました!
585:遊園地
18/04/23 18:38:50.30 /QV9I6Db.net
>>555
.pyファイルを1つの関数が代わり使うとは大胆だな。
単純に、 >>561
import aaa
aaa.pyファイルの中身を関数かクラスにする。
586:遊園地
18/04/23 18:42:03.15 /QV9I6Db.net
遊園地ww 公式ですと、こんな感じですなww
----aaa.py----
import bbb
bbb.A()
----bbb.py-----
def A():
print('Hello World')
587:デフォルトの名無しさん
18/04/23 20:14:08.95 vFsvQnxK.net
>>555
もしかしてimportするスクリプトにグローバルに書いてるのか
もしそうなら、面倒でも何か関数をdefして(例えばopen_window() とか名前を付けて)
その中にグローバルで書いてた処理を移動すべし
def on_button( self, evt ):
import aaa
aaa.open_window()
という風にすれば、on_button() を呼び出す度にopen_window()が確実に実行される
588:デフォルトの名無しさん
18/04/23 21:07:24.03 6SrNRF4N.net
568さん、今日1日でここまで教えていただけると思わなかったです!
ほんとありがとうございます!
589:デフォルトの名無しさん
18/04/23 21:34:33.91 Mytq4Fn/.net
>def on_button( self, evt ):
>import aaa
のaaa.pyのどんなことを書いてあるんだろ?
>>569は
>>553のdef on_button( self, evt ): の処理部をaaa.pyに書いて
動くように出来る?
590:553
18/04/23 21:59:54.79 3UVOgM3N.net
ああわかったよ、書けばいいんだろ、、、
>>>aaa.py
import wx
class ChildFrame(wx.Frame):
<中略>
>>>main.py
import wx
from aaa import *
class MainFrame(wx.Frame):
<中略>
def on_button(self, evt):
child_frame = new ChildFrame(self, wx.ID_ANY)
child_frame.Show()
591:553
18/04/23 22:06:09.88 3UVOgM3N.net
すまん、インデントが消えた。
ちなみにwxの子ウィンドウには親の参照渡しとかないと、親を閉じたときにアプリケーションが勝手に終了してくれないから
アプリケーションのメインウィンドウ以外には親を渡した方が良い。
これはaaa.pyに子ウィンドウを表示するグローバル関数を定義する場合も同じ(関数の引数として親を渡せるようにする)
じゃないと、出したフレーム片っ端から閉じないとプログラム終了しなくなる。
592:553
18/04/23 22:17:49.55 3UVOgM3N.net
new ってなんだよ、、俺。
「new ChildFrame(・・・」のnewはいりません、ごめんなさい。
593:デフォルトの名無しさん
18/04/23 22:22:44.80 6SrNRF4N.net
奥深いっす…でも楽しみです!
ありがとうございます!
594:デフォルトの名無しさん
18/04/23 22:34:59.73 M4g+UNEZ.net
>>572
俺、超低脳でさっぱり分からないんだけど、
>wxの子ウィンドウには親の参照渡しとかないと、親を閉じたときにアプリケーションが勝手に終了してくれない
その親の参照渡しは>>571のどこに記述されているんだ?
595:デフォルトの名無しさん
18/04/23 22:36:33.56 3UVOgM3N.net
>>575
ChildFrameのコンストラクタの第一引数。
596:デフォルトの名無しさん
18/04/23 22:40:44.90 3UVOgM3N.net
ていうとわかりにくいか?
child_frame=ChildFrame(self・・・
のself
597:デフォルトの名無しさん
18/04/23 22:51:42.66 jJWBqt/a.net
遊園地召喚
598:デフォルトの名無しさん
18/04/23 23:04:48.51 M4g+UNEZ.net
>>577
俺の知識では理解は無理だが、その部分なのか(そもそも、クラスを理解している奴なら質問しないだろうが)
ついでに、
>>553で>>571のような回答をくれればよかったんだろうがな(元の質問が別ファイルに子windowの記述がある)
一方、>>574は素直に>>553を>>570のようにするにはどうすれば良い?と質問すればよかったんだろうが
超初心者は俺もだがコミュ力ないから回答得るのに遠回りするよな
このスレは>>576で出たコンストラクタも、これ何?レベルの奴が質問だろうからな
599:デフォルトの名無しさん
18/04/23 23:14:47.88 3UVOgM3N.net
すまんね。
553書いたときはクラス一つ別のファイルに移動してそれを使うことが出来ない人がwx使ってウィンドウ出せるなんて思ってなかったんだよ。
600:デフォルトの名無しさん
18/04/23 23:27:13.13 M4g+UNEZ.net
>>553
コミュ力ない人の質問だと本当に教えてほしいことが相手に伝わらないことが多いから
回答する人は要エスパー力だからな
601:デフォルトの名無しさん
18/04/23 23:31:46.35 M4g+UNEZ.net
>>58
602:1は>>580へ
603:デフォルトの名無しさん
18/04/23 23:52:25.59 2sWKRyd2.net
以下のコードを実行するとエラーになります
どうすればいいのでしょうか・・・
y = 10
print(f'test y = {y}')
604:デフォルトの名無しさん
18/04/23 23:56:38.04 2sWKRyd2.net
すいません3.6から実装されたf文字列というんですね
3.5だからエラーになるわけだ(´・ω・`)
605:遊園地
18/04/24 08:01:24.83 G5LttnIJ.net
別バージョンのpython入れてから、物凄いトラブってる。
dpkg-deb: エラー: サブプロセス ペースト がシグナル (Broken pipe) によって強制終了されました
処理中にエラーが発生しました:
フォーカスの処理とかしてないが、呼び出すだけなら、コレで良い?
試しては無い。
def Sample():
sub_win = Tkinter.Toplevel()
sub_win.title(u"Sub Process")
sub_win.geometry("400x300")
Sample()
606:デフォルトの名無しさん
18/04/24 08:37:58.18 AdXJnnP5.net
馬鹿には無理
607:デフォルトの名無しさん
18/04/24 10:09:50.76 jhtbgK3V.net
jupyter labとnotebookどっも括弧やクォーテーションの補完が効かないんだけどデフォ?
それともなんかおかしい?
608:デフォルトの名無しさん
18/04/24 14:47:46.65 xQCRvp4n.net
553さんは普段仕事でpython利用されてるんですか??
609:デフォルトの名無しさん
18/04/24 14:48:37.60 QI4dBYy7.net
マルチ拝観
610:デフォルトの名無しさん
18/04/24 15:37:30.64 WvdWgq+O.net
現場ですぐに使える! Pythonプログラミング逆引き大全 313の極意
って初心者向き?
611:デフォルトの名無しさん
18/04/24 16:20:06.53 dUrN2wLw.net
>>587
デフォルトでは補完されることになつているはず。
今の状態だとIpythonでも補完できないと思うが?
612:デフォルトの名無しさん
18/04/24 17:07:25.08 Mdvhp2Yn.net
すみません、質問です。
初歩的なことかもしれませんが、
Pythonを使うエディタで秀丸使ってるんですけど、
他のsublimeとかのほうが使いやすいですか?
秀丸だとインデント打つのが面倒で・・・。
ご回答よろしくお願いします。
613:デフォルトの名無しさん
18/04/24 17:26:32.99 KvfUX4Up.net
そのうちプログラム打つのが面倒とか言い出しそうだな
614:デフォルトの名無しさん
18/04/24 17:28:48.89 QI4dBYy7.net
秀丸は割と良い方
615:デフォルトの名無しさん
18/04/24 17:39:44.58 1D4v+3Mx.net
VSCode は?
616:デフォルトの名無しさん
18/04/24 17:41:28.56 ftYeuzTX.net
>>588
本業はc++
そっちでwx使ってるから、wx周りはそこそこ詳しいってだけ。
pythonは趣味。
617:デフォルトの名無しさん
18/04/24 18:12:28.83 eLoUapjt.net
意地張ってないでpycharmにしなさい。どうせpythonしか書かないでしょ。
618:デフォルトの名無しさん
18/04/24 19:36:02.20 8pq7pLvE.net
>>592
俺は扱えないけど、プログラムのためのエディタはvimが良いらしいらしいよ
>>597
低脳にはそんな素晴らしいIDEは猫に小判だろう
書くPythonだって100行もいかないだろうし、そして、モジュールの中を見ることもないだろう
619:デフォルトの名無しさん
18/04/24 19:47:17.37 h25jwsU+.net
>>591
ipythonでも補完できない。なんかなくちゃいけないファイルが無いんかなあ、探してみます。
620:デフォルトの名無しさん
18/04/24 20:18:42.40 Mdvhp2Yn.net
>>598
vimは関係ないですよ。
プログラミング書くのに適してませんし。
>>598
趣味でPythonやっている>>553さんに「低脳」って言うのは言い過ぎだと思いますよ。
621:デフォルトの名無しさん
18/04/24 20:28:24.71 PPDUXdzL.net
Vimが適してないとかアホか
お前がプログラミングに適してねえよマヌケ
一生懸命ひでまるおしてろ
622:デフォルトの名無しさん
18/04/24 20:35:04.99 Mdvhp2Yn.net
vimでプログラミングするって冗談じゃなかったのかw
これは真性だな・・・
俺はもう実務でPython扱ってるよ
すでに300行以上書いた
明日からちゃんとしたエディタインストールするわ
あとみんなレスするときはアンカー(>>)をつけるように
誰に対して言ってるのかわからない独り言みたいだからね
623:デフォルトの名無しさん
18/04/24 20:46:20.64 yGK7zMMt.net
配列の例題なのですが
str = "Hello"
str2 = ""
for n in str:
str2 = str2 + (n * 2) + '~'
print(str2)
これのstr2 = ""は何をする為に必要なんでしょうか?
624:デフォルトの名無しさん
18/04/24 20:55:41.97 8pq7pLvE.net
>>603
試しに、str2 = "" を #str2 = "" して見ればOK
str2 = [] や str=0でもOKだが
625:デフォルトの名無しさん
18/04/24 20:57:15.34 JriH9xMX.net
試しにコメントアウトしてみ?
626:デフォルトの名無しさん
18/04/24 20:58:23.94 JriH9xMX.net
あら、先越されたw
627:デフォルトの名無しさん
18/04/24 20:59:12.40 Mdvhp2Yn.net
>>604
えらい!
ちゃんとアンカーつけられたじゃないかw
今日も仕事頑張ったし
もう寝るわ
おやすみノシ
628:デフォルトの名無しさん
18/04/24 21:04:38.83 yGK7zMMt.net
コメントアウトしたらNameErrorと出ました。
これはstr2=""でとりあえず文字として定義してるってことですかね
629:デフォルトの名無しさん
18/04/24 21:07:01.25 8KBFlzDM.net
>>600
「 ̄ `ヽ、 ______
L -‐ '´  ̄ `ヽ- 、 〉
/ ヽ\ /
// / / ヽヽ ヽ〈
ヽ、レ! { ム-t ハ li 、 i i }ト、
ハN | lヽ八l ヽjハVヽ、i j/ l !
/ハ. l ヽk== , r= 、ノルl lL」
ヽN、ハ l ┌‐┐ ゙l ノl l
ヽトjヽ、 ヽ_ノ ノ//レ′
r777777777tノ` ー r ´フ/′
j´ニゝ l|ヽ _/`\
〈 ‐ 知ってるが lト、 / 〃ゝ、
〈、ネ.. .lF V=="/ イl.
ト |お前の態度が とニヽ二/ l
ヽ.|l 〈ー- ! `ヽ. l
|l気に入らない lトニ、_ノ ヾ、!
|l__________l| \ ソ
630:デフォルトの名無しさん
18/04/24 21:07:54.72 ChFyzKk0.net
>>607
まだ見てるよね
ちょっとお母さんと代わってくれる?
お宅のお子さんはちゃんと小学校に通わせましたか?
お猿の学校では駄目ですよ
って教えてあげないといけないんだ
631:デフォルトの名無しさん
18/04/24 21:20:09.03 8pq7pLvE.net
>vimは関係ないですよ。
>プログラミング書くのに適してませんし。
vimを使っている奴は、真性だな・・・と主張しているのか
632:デフォルトの名無しさん
18/04/24 21:33:10.24 dUrN2wLw.net
>>603
変数にstrが許されるのは小学生まで
633:デフォルトの名無しさん
18/04/24 21:46:40.49 gtAr5qY0.net
俺はvim使ってるけど確かにここの超初心者には勧めたくはないな
634:デフォルトの名無しさん
18/04/24 21:48:12.19 UZrLd4N8.net
まさかのリアル厨房ワロタw
635:デフォルトの名無しさん
18/04/24 21:48:59.19 T7P20eIK.net
実際vimでコーディングする人は多いよ
きちんとカスタマイズしてやればIDEより軽いし機能も必要十分で普通に実用的
636:デフォルトの名無しさん
18/04/24 21:52:23.15 8pq7pLvE.net
>>608
何のために、str2=""でとりあえず文字として定義が必要と思った?
str2 = str2 + (n * 2) + '~'
を
str2 += (n * 2) + '~'
として、とりあえず文字として定義を止めるとNameErrorと出るか?
ついでに、大きく変更して
str2 = 1 + 1 にしたら、str2はNameErrorとでるか?
最後に、NameErrorと出たのは
str2 = str2 + (n * 2) + '~'
のどれだ?(一番目のstr2、2番目のstr2、(n * 2)、'~')
中学あたりの数式計算で、
x = 1
y = y+x
としたとき、yの値は得られると思うか
637:デフォルトの名無しさん
18/04/24 21:55:10.72 BAt1Eldp.net
ぶっちゃけ君ら何歳?
638:デフォルトの名無しさん
18/04/24 21:56:45.13 T7P20eIK.net
>>608
for文の中でstr2から値を参照しようとしてる
定義していない変数を参照することは出来ないから、空でもいいから初期化しないといけない
初期化していないと「空であるかどうか」すら判定出来ない
639:デフォルトの名無しさん
18/04/24 22:00:19.23 UZrLd4N8.net
オレ2年やけど体壊して1年休学してるから本当は3年やからな
なめんじゃねーぞ
640:遊園地
18/04/24 22:24:57.07 G5LttnIJ.net
授業で入るなら、小中学生が増えてもおかしない。
ただ、5chに来るかは来ないかだと、来ないだろうけど。
641:遊園地
18/04/24 22:26:08.73 G5LttnIJ.net
>>592
Geany使ってる。
642:デフォルトの名無しさん
18/04/24 22:32:00.39 yGK7zMMt.net
>>616
>>618
空っぽの変数として定義する必要があったってことですね。
プログラム初心者なもんで申し訳ない・・