[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/13 01:58 / Filesize : 261 KB / Number-of Response : 1026
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 16:32:25.91 ID:S1lkLDnv.net]
このスレッドは、他のスレッドでは書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますが、お礼は Python の布教と初心者の救済をお願いします。

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

前スレ
くだすれPython(超初心者用) その36
mevius.2ch.net/test/read.cgi/tech/1514805522/

401 名前:381 [2018/04/17(火) 00:13:29.86 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 01:55:18.50 ID:PvksN2Vg.net]
>>392
なんかすごいことをやっているな。俺には出来るレベルの物ではないな。
ただ、>>381のコードはそっくりそのままgithubよりもって来た物なのか?
それとも何がしらの変更を加えている?
>>381は、コードはgithubのままだけどそれだとエラー出るからエラー出ないように修正したいてことかな
ひょっとしたら、中身の画像によっては要コード修正なのかもしれないのかもしれないが

403 名前:デフォルトの名無しさん [2018/04/17(火) 04:43:58.56 ID:QMWYQNUe.net]
>>385
print(f'{area:.5f} {length:.5f}')

404 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 05:33:09.17 ID:Z6U7XFnZ.net]
>>381
ブロードキャスト出来ない状態だから、テンソル(numpyアレイ)の次元が合ってないんだろう
元ソースと自分のプログラムで両辺のshapeをプリントかデバッガで見て比較すれば間違えた箇所に気付くと思う

それでもダメ

405 名前:なら、もっと簡単なmnistサンプルとかでnumpyの処理を勉強し直した方がいいかも []
[ここ壊れてます]

406 名前:遊園地 mailto:age [2018/04/17(火) 11:03:58.69 ID:nd6YqIWE.net]
darknetで検出した結果だけをキャプチャーするのって、どうするの?
ダメなら、テラテイルで聞くわww

407 名前:381 [2018/04/17(火) 22:12:58.91 ID:3Zz6leMl.net]
>>393
いくつか変更というか、
どちらかが途中で変更されたみたいで
そのままだとエラー出る感じです

>>395
ありがとうございます
numpyほぼほぼわかってなかったので
numpy勉強して小さい画像サンプルで
元のと同じ条件でやってみたものと
自分のやってるものと比較してみます。
何をやっていいのかもわからなかったんで
書いてもらった単語調べるだけでヒントザクザクで助かります
ほんとありがとうございます

408 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 01:23:19.17 ID:2l4GI+/x.net]
chainerはデータのパックが面倒くさいからあまり好きじゃない
numpy→タプルデータセット→イテレータ→アップデータ→トレーナー

tensorflowはshape未定義のプレースホルダーのままテンソル演算をさせる所が分かりにくい
最終的にC++やC#のアプリに組み込みたい時はこれしかないけど

kerasはnumpyを縦ベクトル化してfit関数に渡すだけだから初心者向けで一番楽だと思う
日本語の解説本が少ないけどwebの記事はそれなりにあるはず

409 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 08:31:52.18 ID:aHPh72wK.net]
インポートエラー、format_excみたいなやつが永遠と出るんだがなぜでしょうか...
3日前から急に発症して、前回まで動いてたpyファイル全て実行できない...

python入れ直したり、anacondaで入れ直したりしたけど改善されないです



410 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 09:05:12.90 ID:IyxAGhJK.net]
何かが、自動update されたのかも

例えば、moduleA が、moduleB 2.2 に依存しているとする。
ここで、Bが2.3 に、updateされたため、Aが使えなくなったとか

それか、環境変数PATH を上書きしたとか

411 名前:遊園地 mailto:age [2018/04/18(水) 09:54:49.07 ID:EkJY2Tio.net]
anaconda入れ直すしか無いなw

412 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 13:23:44.85 ID:KAGSbSSN.net]
Anacondaでトラブってるの見る度に気持ち良くなるわ
バカすぎ

413 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 16:20:24.68 ID:WEKhN2py.net]
数字や数字を変えながら、ちょっとスクリプトを作る場合、
def(サブルーチン?関数?) の場所について、物理的に下側にないとエラーが出てしまう
プログラムの書き換える度に、下までカーソルを動かさないといけないし
地味に不便なんだけど、何とかならない?

414 名前:遊園地 mailto:sage [2018/04/18(水) 16:39:07.37 ID:EkJY2Tio.net]
深層部にif __name__ == '__main__':を持ってくるか。

clss XX():
def YY()
処理

なら、clss XXのdef YYを
def YY()
処理
として、classから外す。


タスクバーが邪魔なら、非表示か移動
スクロールが無いなら、スクロールが有るエディターに変更する。

出力結果なら、外部ファイルに保存して確認する。


クリックしたら、クリックした文字の横に移動できる。


状況が解らない。
 スクショ上げてくれたら、何か言えるかもな。

415 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 18:50:18.12 ID:RFL5vDmV.net]
>>399
×永遠と
○延々と

416 名前:デフォルトの名無しさん [2018/04/18(水) 23:23:28.17 ID:YRBnqMM/.net]
初めまして。
よろしければ回答お願いします!
大学でpython3を使いブロックスというゲームのプレイヤーAIを作ろうとしているのですが、効率の良い攻め方を実現する方法が分かりません。
盤面の状況次第で臨

417 名前:@応変に対処できるようにしたいです。
何か良いアイデアはないでしょうか。
因みにpythonを扱うのはこの授業が初めてです。

以下ブロックスの詳細です!
http://saikoro-table.com/2016/12/05/blokus/
[]
[ここ壊れてます]

418 名前:遊園地 mailto:sage [2018/04/18(水) 23:32:03.53 ID:EkJY2Tio.net]
??

 ??? ?? ???


モンテ使って、機械学習で数百万回読み込ませば良い。

419 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 23:43:26.51 ID:V0vvqvFn.net]
alpha zeroのパクりならgithubにいくつか転がってるぞ



420 名前:デフォルトの名無しさん [2018/04/18(水) 23:45:52.84 ID:YRBnqMM/.net]
>>407

すみません。自分含め班員もど素人しかいないので多分難しいです…

421 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 23:50:57.82 ID:V0vvqvFn.net]
難しくても丸パクりすればOK
理解は後からついてくる

422 名前:デフォルトの名無しさん mailto:sage [2018/04/18(水) 23:57:41.25 ID:V0vvqvFn.net]
ちなみに素のモンテカルロ木探索だけだとあんまり強さが出ないかべらぼうな時間がかかる可能性があるので注意

423 名前:デフォルトの名無しさん [2018/04/18(水) 23:58:42.71 ID:YRBnqMM/.net]
>>406

追記です。ボードの情報は board[X][Y]で与えられます。また、置ける場所をリスト?で返してくれる関数も与えられています。
ただこれをただ使ってるだけだと弱くて弱くて…笑
ということで、相手のピースとピースのつなぎ目を狙わせたいのですが、(そうすると強い)
いい方法解答お願いします。

424 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 00:03:06.90 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 00:20:52.00 ID:4n9OXawP.net]
>>403
関数の中にさらにインデントしたdefで関数を書けるから、ちょっとしたマクロっぽいことをしたい時は使う場所の近くに内部関数定義してる
あとは初心者には難しめだけどラムダ式とか

426 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 00:54:21.32 ID:zrUS025p.net]
>>413
このスレで有名になったperlさん?

427 名前:遊園地 mailto:age [2018/04/19(木) 02:43:06.18 ID:+uu+DOll.net]
>>413
単純にリストにしたら?

[ [ファイル名], [置き換え] ]


classで纏めれるdefは纏める。
それから、継承して行く形かな。

https://ideone.com/4X41rB

print部分を適当な配列に渡す。ぐらいかな。


最後のfor文は、アイデアが出ない。

428 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 03:37:44.72 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 03:39:32.00 ID:4mrmpy84.net]
ブロックスについては、将棋・囲碁みたいに、評価基準を考える必要がある

1. 敵ピースの角に置く
2. 1マスのピースは、勝負所まで取っておく

まず、こういう高評価される手を列挙して、点数を付ける

AI の研究は、何年も掛かる

431 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 03:50:24.69 ID:4mrmpy84.net]
>>413
別のファイルに分けて、import すれば?

変数をコマンドライン引数で渡すとか、
設定ファイルに書いて読み込むとか

エディタは普通、VSCode を使う。
ソースコードのある範囲だけを、右クリックメニューから実行できる

普通、動的言語は関数定義を上に書かないと、関数を呼び出せない。
例外は、JavaScript で、関数の巻き上げ

432 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 04:18:53.20 ID:T1rC3373.net]
>>406
つなぎ目ならx,yからx+1,y+1までの4箇所の判定で対角2つ埋まってて2つ空いてる所を探せば良さそう
置ける場所リストの周辺の盤面を検索して、対角パターンを優先して、さらに出来るだけ大きいブロックを選べばいいと思う

全部の角の判定が正確に出来なくても、部分的にでも判定出来ればそこそこ強くなると思う

433 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 04:24:10.12 ID:T1rC3373.net]
>>420
訂正
対角2つが敵、1つが自分、1つが空白だった

434 名前:デフォルトの名無しさん [2018/04/19(木) 08:55:16.93 ID:5y+3njqT.net]
>>418

ご回答ありがとです!因みに、あと二週間くらいで完成させなければならないのですが
点数つけるのは時間的にはどうなのでしょうか?

435 名前:デフォルトの名無しさん [2018/04/19(木) 09:02:53.03 ID:5y+3njqT.net]
>>420

回答ありがとです!これは自分もしたいなって考えてたのですが、どう書けばいいか分からなくてですね…

疑問点を列挙すると
@判定の仕方
A判定後の評価
B現在使ってる置ける場所を教えてくれる関数が返してくるリスト?をその評価でソートできるのか。

って感じで前途多難です( i _ i )

436 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 09:37:46.23 ID:4mrmpy84.net]
評価基準を決めるには、何年も掛かる。
点数を決めて、敵AI と何千局も対戦して、微調整を続ける

将棋・囲碁もそう

437 名前:遊園地 mailto:age [2018/04/19(木) 09:54:14.94 ID:+uu+DOll.net]
大前提がブロックスを完成済み。として、話が進んでるが、
ブッロク自体を作れてるのか気になる。

438 名前:デフォルトの名無しさん [2018/04/19(木) 10:09:51.11 ID:3+zW45NU.net]
ガキの宿題手伝う必要ないでしょ

439 名前:遊園地 mailto:age [2018/04/19(木) 10:15:02.85 ID:+uu+DOll.net]
期限が2週間も有り、大学費だしてるなら、

直接

  講師[先生]に聞いた方が良いよ。


むしろ、聞け。

 なんの為に学費だしてるんの?



440 名前:デフォルトの名無しさん [2018/04/19(木) 10:34:58.58 ID:5y+3njqT.net]
>>424

そうなんですね!それは厳しい…( i _ i )

>>425

ブロックはアルファベットaから21字が割り振られて最初から与えられていて
置ける場所を
(X座標、Y座標、ブロックの形、回転)
のリストで返してくれる関数?を使ってます。

441 名前:デフォルトの名無しさん [2018/04/19(木) 10:37:55.70 ID:5y+3njqT.net]
>>426

手伝っ

442 名前:てくれたら嬉しいです

>>427

先生が答えてくれない先生でですね…
聞いても調べてくださいとしか言われないので
こちらにお邪魔させていただきました…
[]
[ここ壊れてます]

443 名前:デフォルトの名無しさん [2018/04/19(木) 10:56:08.16 ID:j5tv0M09.net]
Pythonむずい!
なんでこんなむずいの?

444 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 12:13:54.17 ID:cIc2YD7o.net]
pythonてかやろうとしてることが難しいんじゃないの?
言語としては簡単な方でしょ、同じことを別の言語でやってみたら分かる

445 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 12:17:59.12 ID:4mrmpy84.net]
そりゃあ、ブロックスなんて答えが無いだろ

将棋・囲碁みたいに、対戦コミュニティがあるか?

まず、コミュニティへ行って、AI 同士で、何千局も対戦して、
微調整を続けないと、無理だろ

446 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 12:19:39.36 ID:2nanKMvG.net]
>>429
今時そんな殿様商売あるのかあやかりてぇ
いいなー先生様は

447 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 12:23:58.79 ID:4mrmpy84.net]
強いAI を作るのは無理だから、

とにかく、次に置けるマスだけを、リストに入れて、
その中からマスを適当に選んで、適当に選んだピースを置け

それで良い

448 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 13:12:52.70 ID:f7DkAV9f.net]
AIは可能な選択肢のうち、0点以上の最高得点手を打つ。同点時はランダム。初期値は0
AI同士に勝負させて、打った手は全部保存しておく。最終的に勝ったほうは手のそれぞれにプラス点、負け側はマイナス点
ってやろうぜw
それを二週間延々繰り返させたら強くなるんじゃなーい?

449 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 15:02:28.67 ID:c48O4SX1.net]
どんなゲームだか知らんけど
とある局面のとある手に対して、
その後は両者ランダムに打って終わらせる試行を100回くらい繰り返して
勝った回数をその手のスコアとすれば良い



450 名前:遊園地 mailto:age [2018/04/19(木) 16:16:23.30 ID:+uu+DOll.net]
遊べる。ブロックスAIと言う課題なら

目安だと[GUI]は5日

ブロックスのAIを課題にするぐらいだと、逆算して
本人が半日から1日でブロックス自体が完成させれる段階で
長くても2日

残りの3,4日で
CPU AI をコレまでに教えた内容で、調整して下さい。みたいなモノ


どう、考えても[推測上の一日の固定時間 9時から20時45分]
[一日の作業量(思考)2,3時間]と過程しても、
2週間は多すぎる。

1日2日は前後する可能性が有るけど、辻褄が合わないな。


F欄大学か、なんちゃって専門学校かな?

451 名前:デフォルトの名無しさん [2018/04/19(木) 17:59:06.99 ID:hcjjAGnl.net]
>>437

実験の一端でそもそもpythonもこの授業が初めてです。丸投げされました。

452 名前:デフォルトの名無しさん [2018/04/19(木) 18:01:31.06 ID:hcjjAGnl.net]
回答していただいた方ありがとうございます。
参考になります。

453 名前:デフォルトの名無しさん [2018/04/19(木) 18:40:08.42 ID:VWrPY/vr.net]
>>429
yahoo知恵袋の方がいいよ

454 名前:遊園地 mailto:sage [2018/04/19(木) 18:44:18.50 ID:+uu+DOll.net]
大学設定は嘘だな。

大学設定が本当だったら、今のお前に「そんな」課題だすアホ教員が悪いのか、
何も教えない大学で大金払ってる馬鹿なのか知らないけど、
質問内容で現在のレベルが分かる。

教えて貰うのに、
理解できてないなら、教えて貰ってないのと一緒。

455 名前:デフォルトの名無しさん [2018/04/19(木) 19:10:55.84 ID:ar7X8qES.net]
>>440

行ってみます!

>>441

なんか自分お邪魔みたいだったですね…失礼しました。勉強します。

456 名前:遊園地 mailto:sage [2018/04/19(木) 19:51:05.39 ID:+uu+DOll.net]
おう。
大学受験に失敗して6年引き篭もってる俺には、
大学生は邪魔だぞいww

457 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 20:10:30.03 ID:uEzvz53 ]
[ここ壊れてます]

458 名前:i.net mailto: 2週間ははっきり言って課題に対して期間がみじかすぎるよ。
python精通してる人でも強いAI作ろうとしたら2週間以上かかる。

まあルール部分は用意されてるようだからその分割り引くべきかもだけど。
[]
[ここ壊れてます]

459 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 21:02:34.32 ID:uEzvz53i.net]
2週間なら>>436くらいが適当だとおもう。
あんま強くならないだろうけど。



460 名前:遊園地 mailto:sage [2018/04/19(木) 22:34:07.23 ID:+uu+DOll.net]
(^p^)「あうあうあーwwwwwwww」

461 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 23:25:56.00 ID:K4+BGrIF.net]
>>416
コード紹介ありがとうございます。
まだ内容がしっかり決まって居無くってちょっと書き換えたいという時にはちょっと大げな感じになりますね
ある程度のコードの中が決まっていると良さそうですね


>>417
ありがとうございます
色々な方法があるのですね
今回の場合、mainを置く方法が手っ取り早そうです
ただ、試しに書いてみるとエラーが出ました
どこか間違えていますかね?


>>419
関数が巻き上げられるのはそこそこ一般的だと思っていました
IDEだとそんなこともできるのですか・・・
大昔、Exlipseを使っていたのですが重たくって重たくって使わなくなっていましたが検討してみようと思います
ありがとうございます。

462 名前:デフォルトの名無しさん mailto:sage [2018/04/19(木) 23:41:15.47 ID:FEDLlhkO.net]
eclipse

463 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 01:21:16.01 ID:p7k7S/mH.net]
新年度始まって間もないのにpythonでブロックス+AIの課題が出るような学科は情報系の学科なのかな。
情報系の学科なら今流行りの機械学習系のことも普通にやるんだろうな

464 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 03:06:20.06 ID:qxue6Zgp.net]
横からなのですが>>187さんのWebアプリにしてはpythonでサーバー建ててブラウザで表示するで合ってますか?

465 名前:遊園地 mailto:age [2018/04/20(金) 08:57:52.56 ID:xu4ZA7YN.net]
>>450

# sudo pip3 install bottle
# localhost:8080/hello/world

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 名前:デフォルトの名無しさん [2018/04/20(金) 10:29:12.98 ID:WJk0jxxj.net]
日本の大学じゃなさそう

467 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 11:53:43.70 ID: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 名前:デフォルトの名無しさん [2018/04/20(金) 12:18:17.84 ID:9v7e203Y.net]
ブロックスてそんなに有名なゲームなんか?聞いたことないわ

469 名前:デフォルトの名無しさん [2018/04/20(金) 12:29:06.14 ID:WJk0jxxj.net]
これか
https://studio.beatnix.co.jp/



470 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 12:52:36.38 ID:DDZisBas.net]
>>453
> def func(x,str):
の前に
> func(str(num))
の呼び出ししたらそりゃそうなるわな

471 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 12:59:05.08 ID:CLWy02Nm.net]
えっパイソンってホイストないの?
c系言語には大抵あるのに。
抽象度の高い処理頭の方に書いて、使用関数の実装はお尻のほうに置いとけて便利なのに

472 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:00:03.95 ID:bSpMfw5T.net]
>>456
ありがと
全部main()に入れるんだと勝手に思い込んでた

473 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:02:16.40 ID:bSpMfw5T.net]
Perlと比べてイライラすることがあったけど、
{
}
が不要なのはサクサク書けて良いな
Pythonの良いところまた1つ見つけた


>>457
perlしか知らないけど普段そういった使い方してたからあれば便利だよねー

474 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:43:32.65 ID:szszCkSU.net]
関数を書く順番はどうでも良いよ
関数は全部グローバルに書いといて、ファイルの最後でmainを呼べばオーケー

475 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:46:22.55 ID:szszCkSU.net]
ってか、>>453はdef funcのインデント下げれば動くだろう

476 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:49:06.94 ID: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 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 13:56:09.67 ID:bSpMfw5T.net]
>>461
それについては456で教えて貰って解決した>>458

>>462
訂正
def func2(y,str):
 print (x + "ello" + str)

def func2(y,str):
 print (y + "ello" + str)

478 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 14:06:06.09 ID:aZdt3WBn.net]
呼ぶ側がfunc2になってないから動かないと思うけど、だいたいそういうこと

479 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 15:27:31.37 ID:DDZisBas.net]
>>457
そもそもpythonのdefは実行文だから



480 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 17:50:44.02 ID:1rBd94+J.net]
spyder使ってるんだけど、defの中の変数が実行後の変数エクスプローラに表示されなくなるんだけど、表示させる方法ない?
もちろん実行時はその変数に値が格納されてるんだけど、defを出た瞬間に破棄されちゃうのかな。
いちいちprintしてデバッグするのめんどくさい

481 名前:デフォルトの名無しさん [2018/04/20(金) 17:54:59.99 ID:WJk0jxxj.net]
global

482 名前:デフォルトの名無しさん [2018/04/20(金) 19:16:25.14 ID:9TOBYLLi.net]
デバッガで何しようとしとんのやこのアホはw

483 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 21:19:08.77 ID:bNn+sorS.net]
デバッガはブレークポイント仕掛けたり1行ずつステップ実行しながら変数をウォッチするものだと思うので
実行中にリアルタイムで表示変えるのは超高速なエミュレータでもないと…;

484 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 22:57:24.69 ID:Xu3EKzy5.net]
>>467
globalにすれば出来るのは知ってるけど、いちいち関数化したのを戻すのが面倒だから他に方法がないのかと思って。

>>469
リアルタイムでみたいわけじゃなく、プログラム実行後にメモリに残った変数を確認したいって意味ね。

おかげ気づいたけど、defを抜ける直前にブレークポイント置いてそこで確認すりゃあいのかな。けど関数の分割多いと辛いな。

485 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 23:08:48.76 ID:k7m69UuR.net]
ログ吐くようにしとけよ

486 名前:デフォルトの名無しさん mailto:sage [2018/04/20(金) 23:18:23.85 ID:k7m69UuR.net]
printめんどくさいとか言ってるがある程度のサイズのあるプログラムはログ残したほうが結局は作業がはかどる。

487 名前:遊園地 mailto:age [2018/04/20(金) 23:47:55.05 ID:xu4ZA7YN.net]
ログはprintでは無いと言う事を肝に免じて置いて下さい。

488 名前:デフォルトの名無しさん [2018/04/21(土) 00:18:21.37 ID:NjF1F28w.net]
>>473
ログをprintで書くことで悦に入っています。

489 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 00:46:49.28 ID:SeoWSMd7.net]
>>472
printがめんどくさいと言う人ならログ出すように変更するのもめんどくさいになるだろう。
めんどくさいのいやだいやだで、(コードに手を入れないで)
ツール(デバッガ)で楽々出来るようにしたいにニダと言う感じだろう
実運用ではこのログはイラネなんだろうが。



490 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 01:00:05.67 ID:YdpuWmPR.net]
肝に免じてどうする
肝は銘ずる(刻みつける)ものだ

491 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 01:10:45.10 ID:SeoWSMd7.net]
>>476
遊園地のいるところは
肝に銘じてが
話し言葉で
>肝にめんじて
になるところなんだよ。
鉛(標準語では訛)がでたんだろ

492 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 01:40:30.99 ID:jRiYYFVC.net]
p2exeって日本語は扱えないのですか?

493 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 03:00:26.77 ID:HWyKzA01.net]
>>478
py2exeではなく?

494 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 03:26:11.52 ID:jRiYYFVC.net]
>>479
間違えました、py2exeです。日本語文字をprintしようとすると
UnicodeDecodeError: 'cp932' codec can't decode byte 0xef in position 0: illegal multibyte sequence
って出るんですよね。コードをutf-8にしたり、文字列の先頭にuを付けてみましたが、きちんとexeが生成されません

495 名前:デフォルトの名無しさん [2018/04/21(土) 07:09:29.13 ID:nN/toUY2.net]
肝免わろすwww

496 名前:遊園地 mailto:sage [2018/04/21(土) 07:29:31.66 ID:fW+0Fovn.net]
>>477
あああーーーー

  それは、アカンww


明治時代の初期までなら、隣の県に行けば
言葉が通じないのもザラだったしなwww

497 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 08:46:12.30 ID:HWyKzA01.net]
>>480
んでもってPythonは2系をつかってるのか?
あるいはWindowsのユーザー名が日本語なのか。

素直に3系つかうことと
py2exeするときはあきらめて日本語を含まないユーザー名を作って
そこからやる

498 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 15:11:14.68 ID:Jlfar8cI.net]
py2exeは3.6に対応してないから、バイナリ作るならpyinstallerの方がいいと思う
セットアップファイル作る必要もなくて楽だし

499 名前:デフォルトの名無しさん [2018/04/21(土) 15:16:38.37 ID:K9lD61bw.net]
bytesをfloat配列にする高速な方法無いでしょうか?
4バイトで1floatではなく、1バイトで0.0〜1.0の範囲の1floatの
同じ長さの配列が欲しいのですが



500 名前:デフォルトの名無しさん mailto:sage [2018/04/21(土) 16:19:45.05 ID:Jlfar8cI.net]
pyinstallerで詰まったのは、pandasを使うスクリプトでエラーが出ることぐらい
pandasを 0.20.0 に落とせば通る様になると思う






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<261KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef