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


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

くだすれPython(超初心者用) その52【まず1嫁】



1 名前:デフォルトの名無しさん mailto:sage [2021/01/09(土) 05:22:25.24 ID:IpHIsox4.net]
当スレに★Python以外のプログラミング言語での回答類を書くべからず★
派生言語はそれぞれ専スレがあるのでそっち池。
「Ruby」「某言語では」をNGワード登録推奨。荒らしは、完全スルー放置が一番きらいです。

このスレッドは「お勉強」スレのほうには書き込めない超低レベル、
もしくは質問者自身何が何だか分からない質問を、勇気を持って書き込むスレッドです。
へび使いが優しくコメントを返しますので、お礼は Python の布教と初心者の救済をお願いします。

★エラーを解決したい場合は、
  表示されてるエラー全文(勝手に省略やスクショうp等の横着クソ行為禁止)と、
  実行環境(Pythonのバージョン・OSとIDEの種類とバージョン)をシッカリ書くこと。

【【【複数の連続半角スペースはなかったことになる・タブがうまく入らない5chの仕様】】】に注意!
Pythonの★ソースコードをそのまま5ちゃんにコピペすると、インデントが崩れてチヌ★ので
  ↓等の、いわゆるコードうp用サイトに貼ってこいください。
ttps://techiedelight.com/compiler/  Run Code機能あり。
ttp://ideone.com/      デフォ設定はC用のため、言語選択ボタン押下がピコ手間かも。
ttp://codepad.org/      ほぼ直感的に使える。Run codeボタンあり。
ttp://pastebin.com/     まずまずシンプル。
ttp://dpaste.com/      とてもシンプル。消えるまでの日数は十分長ーく指定のこと。

◇Python公式サイト◇ www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

〇前スレ〇 くだすれPython(超初心者用) その51【まず1嫁】
https://mevius.5ch.net/test/read.cgi/tech/1602896738/

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###

321 名前:デフォルトの名無しさん [2021/02/04(木) 21:04:09.36 ID:c560f9Nc.net]
python界隈は、ピップだのピップエンブだのパイパイだのパイエンブだの、固有名詞がダサすぎないかい。

322 名前:デフォルトの名無しさん mailto:sage [2021/02/04(木) 21:06:02.85 ID:Rmua4RGj.net]
そもがモンティパイソンだからしゃーない

323 名前:デフォルトの名無しさん [2021/02/04(木) 21:16:08.40 ID:WFDJ+byI.net]
並列で実行しておきたい関数があって
ある条件に一致したら終了する関数なのですが
終了して、まだキューになく並列実行してなかったら再度並列実行したいと思ってます

下記で同時実行しているタスク数や実行しているか確認することはできるのでしょうか
実行中はTrueが入っていると思ったらちがいました

executor = concurrent.futures.ThreadPoolExecutor(max_workers=1)
f = executor.submit(test_sub,1)

if f=True:
f = executor.submit(test_sub,1)

324 名前:デフォルトの名無しさん [2021/02/04(木) 21:30:50.18 ID:xGlwnT6u.net]
競プロかなんかで時間ギリギリまで問題解きたいのか?

325 名前:デフォルトの名無しさん [2021/02/04(木) 23:46:00.85 ID:WzBF5t1f.net]
>>321
ぱいぱい!!

326 名前:デフォルトの名無しさん [2021/02/05(金) 07:49:10.98 ID:PjtyCIQW.net]
>>323
fはFutureオブジェクト

327 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:11:59.04 ID:aDktR5P1.net]
pythonのエラーの対応について教えて下さい
環境は3.6でエディタはAtomを使っています。

VBAとかだとどこでエラーが起きてもエラメッセージが帰ってくる思うのですが、
pythonだと関数から呼び出した関数で起きたエラーは、コンソールウィンドウに表示されず
メッセージ無しで止まってしまいます。
エラー対応で検索すると、Tryを使うとのことなのですが、
関数の始まりからtryで囲うやり方がベストなのでしょか?
全関数を以下の通り対応するのはスマートではないなと・・

def test():
try:
関数の中の全部の処理

except ****:

328 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 09:44:19.31 ID:j/7809a/.net]
普通に出力されるが

329 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 12:49:18.87 ID:T/OPgv07.net]
>>327
関数使うときにtryしたほうが良くね?



330 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 13:03:15.92 ID:mRakDWTP.net]
>>327
try使うときは
エラーがおきるかもしれない最小範囲のみをくくるべし

331 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 15:18:46.74 ID:f8nqzbTK.net]
最初にやった方法からさらにいい方法思いついてデータ量や実行時間が大幅に減らせたときの快感がたまらん

332 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:02:31.28 ID:zkrcBcSu.net]
それで、コードの可読性を損ねて、
後でどこを直せばいいかわからなくなることもしばしば

333 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:08:30.83 .net]
try:
 エラーでそうな処理
except:

334 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 16:11:08.41 .net]
途中で送信してしまいました
def
try:
 エラーでそうな処理
 return 11
except:
 エラー出たときの処理
 return 22

このエラー出たときに、エラー以外の処理を返すようなやり方はやめた方がいいですか?
エラーのときはExceptionなりでエラーをそのまま返す
みたいな

335 名前:デフォルトの名無しさん [2021/02/05(金) 17:19:11.95 ID:oYpVlEXM.net]
>>334
「エラー出たときの処理」でエラーから復旧したと言えるならそれでいいんじゃないか
呼び出し側で対応が必要ならExceptionを返すべき

336 名前:デフォルトの名無しさん [2021/02/05(金) 17:21:11.97 ID:oYpVlEXM.net]
× Exceptionを返す
○ Exceptionをraiseする

337 名前:デフォルトの名無しさん [2021/02/05(金) 21:02:16.92 ID:N5jEb7lV.net]
Jsonファイルのリストの中から、
価格の情報だけを比べて、
一番大きい価格を取り出す方法が分かりません。

{
"status": 0,
"data": {
"list": [
{
"price": "4172840",
"symbol": "BTC",
},
{
"price": "4104400",
"symbol": "BTC",
}
}
こんなようなJSONがあって、
リストの中の、priceだけを比較して、
一番大きい、priceを取り出す方法が分かりません、
上の例だと、max( "price": "4172840" "price": "4104400")
となると思うのですが、
どうやってリストの中の価格だけを取り出して、
一番大きい値を取り出せばいいか分からないです。

338 名前:デフォルトの名無しさん [2021/02/05(金) 22:23:34.72 ID:6/zDXCCK.net]
item = max(json_obj["list"], lambda i: i["price"])

339 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 22:36:41.20 ID:ltTaykUg.net]
ジェイソン!



340 名前:デフォルトの名無しさん mailto:sage [2021/02/05(金) 22:57:54.64 ID:T/OPgv07.net]
410万ビットコインって幾らになるんだろう?17億円くらいかな?

341 名前:デフォルトの名無しさん [2021/02/05(金) 23:29:03.53 ID:N5jEb7lV.net]
>>338
ありがとうございます!
string indices must be integers
とエラーがでてまだ取れてないけど、、
もう少し調べて頑張ってみます。

342 名前:デフォルトの名無しさん [2021/02/06(土) 08:39:05.31 ID:UyfeHPoO.net]
今までpcで動かしてた機能をandroidで動かしたい
apkを作るにはkivy とbuildozerを使うらしい
こっちの環境作るのにも詰まってるけどそもそも今動いてる.py をそのまま使えるのかも分からない
何か書き換えとか必要?
そして環境構築方法詳しく載ってるサイトがあったら教えてください。

343 名前:デフォルトの名無しさん [2021/02/06(土) 10:54:46.58 ID:PohEB++t.net]
sl4a

344 名前:デフォルトの名無しさん [2021/02/06(土) 11:42:13.31 ID:IR3wWC2w.net]
sl4aは見つけたけどapkにしたいんだ....

345 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:29:12.16 ID:ROiZJzWf.net]
python のメソッドって
def hoge(x,y):
以下中身
まではわかるんだけど
終わりの区切りはどうなってるの?
空行できたらそこで終わり?
returnとかあればいいの?

346 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:40:24.90 ID:FU+/gIxh.net]
>>345
カラ行は無視で
なんか書いてある行のインデントの深さが変わったらそのブロックはおしまい

347 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 13:54:35.07 ID:ROiZJzWf.net]
>>346
インデントか
なるほど
ありがとうございます

勉強になりました

348 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 14:24:19.00 ID:FU+/gIxh.net]
>>347
体系化ずみのサイトなりテキストなりを一冊読んだ方が
遠回りにみえるかもしらんが
一番早道だぉ
ノシ

349 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:12:36.40 ID:6eQmSTNr.net]
>>337
Ruby では、文字列の値を、数値へ変換すればよい。
と言うか、変換するのが面倒なので、最初から数値で、やり取りすれば良いだけ

require 'json'

# 値が数値
json_1 = <<'JSON'
{ "a":1, "b":2 }
JSON

p JSON.load( json_1 ) #=> {"a"=>1, "b"=>2}

# 値が文字列
json_2 = <<'JSON'
{ "a":"1", "b":"2" }
JSON

p hash = JSON.load( json_2 ) #=> {"a"=>"1", "b"=>"2"}

# 文字列の値を、数値へ変換する
hash.each { |key, val| hash[ key ] = val.to_i }
p hash #=> {"a"=>1, "b"=>2}



350 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 15:26:54.07 ID:sxvkqNg5.net]
NG推奨ワード: Ruby

351 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 19:20:59.71 ID:8pppcqNFl]
>>337
https://ideone.com/2IifLw

352 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 22:21:18.88 ID:WYrAP15n.net]
for num in range(5):
print(num)
if num==3:
num=num-1

ていうのを動かすと
0,1,2,3,4
ていう結果になる。

0,1,2,3,3,3,......
ていう結果にしたいんだけどどうすればい?
下のような動きにしたい。
for i=0 to 5
print i
if i=3 then i=i-1
next

353 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:05:26.75 ID:l1Q4fjMo.net]
https://ideone.com/IjrjUd

354 名前:デフォルトの名無しさん [2021/02/06(土) 23:08:53.63 ID:s8ZQn1/T.net]
その例のコードで 0,1,2,3,3,3,...... って出力されるの?
やべーねその言語

355 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:10:49.88 ID:B5gVBJsh.net]
forじゃなくてwhileを使うのでは…

356 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:11:47.83 ID:Ye4r/rjw.net]
for i in range(5):
print (min(i, 3))

357 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:12:43.26 ID:9BgHZVUo.net]
for i in range(5):
____if i > 3 : i=3
____print(i)

358 名前:デフォルトの名無しさん mailto:sage [2021/02/06(土) 23:15:55.88 ID:1hxtRDLK.net]
やりたいことはジェネレーターで無限ストリームっぽい気がする

359 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 00:16:21.39 ID:jpmL2+yv.net]
こういうこと?

i = 0
while True:
x = i
if i > 2:
x = 3
i = i + 1
print(x)



360 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 02:02:20.67 ID:QRtsbk1z.net]
[i if i < 3 else 3 for i in range(5)]

361 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 04:46:16.11 ID:9cKdY56s.net]
printせえよ

362 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 08:50:24.56 ID:JR5bkMUq.net]
>>352
まじほんと>>354だは…
351は偽Pythonをつかまされているのでは

363 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 09:10:55.34 ID:FFuFCGQD.net]
sorted関数はwindowsの名前順と同じようにソートするんですか?
natsort?

364 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:44:13.68 ID:KNf11SZT.net]
dictの型ヒント書こうとしているんだけど、TypeScriptみたいにキー毎に
値の型を指定するような芸当は無理だよね?

365 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 10:57:54.98 ID:7XkuYEp+.net]
>>364
typeddictとかいうの無かったっけ
tsと同じようなことできた気がする

366 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:24:42.44 ID:KNf11SZT.net]
すげぇ。ありがとう。

367 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 11:44:28.72 ID:kn8KLgWd.net]
>>363
Windowsのソート順は分からないけど

368 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 13:56:45.22 ID:+o5/+U2b.net]
>>367
windows上で、フォルダの中に名前順に並んだ複数ファイルがあって
これをそのままの順番で取得したいんですが、glob+sortedでいいのでしょうか?
windows上での並び順と異なる場合があるとかだと困るのです

369 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:00:38.24 ID:NCHwUWPY.net]
>>368
なんで困るの?



370 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:10:44.92 ID:7XkuYEp+.net]
sortedはnatsortじゃないです

371 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:11:22.42 ID:3B496xZd.net]
_1 と _01 の話でしょう。
エクスプローラは長さ判定の方が
優先順位が高いアルよ

372 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 14:33:32.29 ID:mFk3/GAA.net]
エクスプローラーのソート順は全角半角同一視とかロケール依存もあるでよ

373 名前:デフォルトの名無しさん [2021/02/07(日) 15:22:35.38 ID:FFuFCGQD.net]
スクリプト使用者は日本語環境のwindows
フォルダ内に任意の命名規則の連番ファイルが数種類混在する
つかわれる文字種は全半角日本語英語、数字と記号(文字化けした中国語っぽいやつはありえる)
例えば
.01.02
.あ001.い001
._01a._01b
という3ルールがひとつのフォルダ内にあって、命名規則は制限できない
エクスプローラー上で表示される名前順の並びに意味があるので、順番を保持したデータ構造を取得したい

です!

374 名前:デフォルトの名無しさん [2021/02/07(日) 15:31:29.22 ID:0RC+Q+w9.net]
あ、個々の連番ファイル作成者も日本語windowsのエクスプローラーで順番を確認してます

375 名前:デフォルトの名無しさん [2021/02/07(日) 15:39:10.65 ID:LHj1ntdf.net]
sortedは単なる辞書順

376 名前:デフォルトの名無しさん [2021/02/07(日) 15:54:16.47 ID:UfsgAoOW.net]
natも違う
windowsは.01→01と並べるけどnatは逆になる

377 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:09:32.73 ID:QRtsbk1z.net]
それを使って何がしたいのか分からないと見当違いになるかも知れないけど
ファイルへの処理を疎結合にはできないの?

あとはこれもnatsortと同じなのかな
sorted(paths, key = lambda x: int(x.name))

378 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:13:58.14 ID:kn8KLgWd.net]
そもそもWindowsと同じ並びにしなければならない理由が理解できないんだけど
どういう理由なの?
もし並び順に依存した処理が必要なんだっていうならばその実装がおかしいと思うけどな

379 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:22:59.73 ID:NCHwUWPY.net]
エクスプローラー上で表示される名前順に依存しなきゃいけないシステムってのがよくわからないけど
とりあえずnatsortのos_sorted()を試してみたら?
Windowsの場合はエクスプローラが使ってるAPIを使ってる

エクスプローラのソート仕様を100%把握するのは無理な気がするので
どういうテストケースを通ればOKとするかは事前に決めておかないと後で困りそう



380 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 16:25:23.50 ID:KNf11SZT.net]
windowsと同じにって言っても、ファイルシステムがFAT系とNTFSでも違った気がする。

381 名前:デフォルトの名無しさん [2021/02/07(日) 17:00:56.73 ID:FFuFCGQD.net]
>>379
あーこれですね。たぶん
ちょっと様子見つつ、動かしてみます。ホント助かりました

>>377
a, bさんがそれぞれ独自の連番データを持ってて、Aというひとつのフォルダに入力します
bさんは“エクスプローラーの名前順で”aさんのデータのあとに自分のデータを置くこと
aさんとbさんは異なる命名ルールを使って、第三者が“命名ルールを見て”群を区別できるようにすること
がルールです

そうして出来たAフォルダの中身を、自分が上から順に読み込んで処理する

みたいな…

382 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:11:24.53 ID:QRtsbk1z.net]
正規表現で群を分割してそれぞれの群に対して逐次処理していく
とかだと駄目なのかな?

単純にソートして順に処理していくとファイル漏れがあった時とかにバグりそう

383 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:25:25.92 ID:kn8KLgWd.net]
早々に破綻しそう
ユーザー名や更新日時を基準に考え直した方が早いよ

384 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:31:05.90 ID:JR5bkMUq.net]
ういんどーずあぷでーとである日地獄になりそう

385 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 17:42:05.53 ID:kn8KLgWd.net]
まずaさんとbさんのデータをわけなよ
その上でファイル名を正規化してソート出来る形にする
ソートの基準が違うものをソートしようとしてるから物事が複雑になる
なのでまずはソートの基準を揃えることから始めたら良いんじゃねーかな

386 名前:デフォルトの名無しさん [2021/02/07(日) 17:59:41.51 ID:Ezbk+4+j.net]
要するに
[".1", "10", "2", "1", ".2", "1"]
をwindowsエクスプローラー上の名前順
[".1", ".2", "01", "1", "2", "10"]
にソートするにはどうすればいいか的な話でしょ?

つか状況がクソだぞって指摘はしてあげるべきだろうが
そこを変えろって回答は論外じゃ…

387 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:10:18.26 ID:/kKFnkGm.net]
システムはエクスプローラーとか、特定のアプリのアルゴリズムに依存すべきじゃない。
ある日突然、変わるかも知れない。
API・規格が無保証だろ

自分のアプリは、自分で規格を定義すべき。
そうしないと、可搬性がなくなる

OS・ファイルシステムが異なると、結果が違ってくるから

388 名前:デフォルトの名無しさん [2021/02/07(日) 18:12:05.44 ID:RFMN3ZYm.net]
こういうメンドクセーもんは大抵はどっかの誰かが既に作ってあるハズだからpypiで探すか
標準で提供されてると見当つけて公式サイトを探す

自分が欲しいと思ったモンは99.99%の確率で他の誰かが既に実装してる

389 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:12:49.36 ID:NCHwUWPY.net]
>>386
命名ルールがわからないからそれで十分かどうかはわからない
ある時点のあるPCで見たエクスプローラの名前順をPythonで再現したいという話

命名ルールも再現したいエクスプローラのソート仕様の範囲も不明確なので事故るかどうかは運任せ



390 名前:デフォルトの名無しさん [2021/02/07(日) 18:31:26.56 ID:4v/nAOdw.net]
>>368
windows って explorer で表示したときの並び順と
プロンプトで dir で表示したときの並び順が
違うって知ってた?
0000
0001
1
111
10
20
みたいなファイル名で試してみ

391 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:39:15.86 ID:JR5bkMUq.net]
>>390
エクスプローラのソートとひとくちにいっても、
ターゲットのフォルダをあけた状態と
そこから左カラム右クリック新しいウインドウから開く でもいっこあけた窓の中で
順番変わる

392 名前:デフォルトの名無しさん [2021/02/07(日) 18:53:51.92 ID:cgYbYP7a.net]
この言い訳の山よw

393 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 18:54:51.98 ID:JR5bkMUq.net]
>>392
見本コードはようp

394 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:04:34.30 ID:uQM/ElP7.net]
並列処理をしているときに、何が実行されているか確認することって出来ますか?
キューに入って順番待ちになっているタスクも確認したいです。
WEBページを2〜3ページ並列で取得するようにしてるのですが、並列にしたときにデバッグで確認することも難しく教えていただければと思います。

395 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:05:55.85 ID:kn8KLgWd.net]
Pythonだとcelery

396 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 19:25:21.61 ID:3B496xZd.net]
9x年代の「accessの美しいsort順」の
再来かよw

アレの実装も凄いな

397 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 20:09:13.36 ID:kn8KLgWd.net]
>>386
そもそもユーザーがソート順変えたら破綻する仕組みに依存した設計とかどうしようもないだろ

398 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 20:11:08.97 ID:JR5bkMUq.net]
ユーザーが2個目のウインドウ開けてそっち見たらおしまいな件

399 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:30:52.36 ID:HPp7Agld.net]
https://docs.microsoft.com/ja-jp/windows/win32/api/shlwapi/nf-shlwapi-strcmplogicalw
windowsのpythonのos_sortedはこれで判定してる



400 名前:デフォルトの名無しさん mailto:sage [2021/02/07(日) 21:33:41.58 ID:xkZ6C6tJ.net]
Behavior of this function, and therefore the results it returns, can change from release to release. It should not be used for canonical sorting applications.

だとさ

401 名前:デフォルトの名無しさん [2021/02/08(月) 00:38:44.29 ID:5J2edDoW.net]
>>398
横から
これで順番変わってる状態って見たことないけど、どういうファイル名の並びだとそうなるん?

402 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 02:14:42.69 ID:wlkdd0te.net]
ラズパイを載せたGoPiGoロボカーで、線虫脳シミュレート
https://www.youtube.com/watch?v=9kxty2qec4g

エラーを解決したので、試しに動かした

403 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 03:02:58.50 ID:wlkdd0te.net]
コードはGithubで公開されてるものを突っ込んだ

404 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 09:25:13.35 ID:wJ3JIqDy.net]
>>396
くわしく

405 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 09:29:15.28 ID:dM4oOJoS.net]
スイッチのONOFFに連動してアクション起こすものを作ってみたくてほぼ期待通りの挙動させられるようになったのですが、たぶんimportで他.py呼び出す時にエラー?になります。
スイッチONになればその都度実行してほしいのですが、一度きりしか実行されません。
importで呼び出す場合は回数制限のようなものがあるのでしょうか?

406 名前:デフォルトの名無しさん [2021/02/08(月) 10:17:14.59 ID:WsHYblSd.net]
どんなエラーがでてるか、そのまま貼った方がいいと思うな

407 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 10:58:40.46 ID:hgsCKB/O.net]
importの実行は一度だけ
なので関数にして都度実行

408 名前:デフォルトの名無しさん [2021/02/08(月) 12:17:07.33 ID:5JxS4RLe.net]
「importで他.py呼び出す時」
「importで呼び出す」
perlじゃないから考え方を変えろ

409 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:27:47.27 ID:yv+/ZfUq.net]
Pythonのimportは、COBOLのCOPYと同じと考えて良いですかね
ソースのその箇所に埋め込む感じの



410 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 12:44:47.59 ID:5KN+Fjzm.net]
>>409
全然違う
importは対象のモジュールがまだ現在のプロセスで読み込まれていない場合は読み込み、現在のスクリプトファイル内で使用できるようにする
COBOLの知識とか害悪でしかないから今すぐ全部忘れろ

411 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 13:10:02.10 ID:dM4oOJoS.net]
>>406
夜になりますが、そうしてみます。
while true:
if switch == true:
import action01
print("action01")
flag = true
else:
import action02
print("action02")
flag = false
みたいなコードで、printによる表示は正常にされていても、importでは呼び出せてないような挙動でした。エラーを吐いてるわけではありません。

>>407
ありがとうございます。
関数とimportの違いもわからないので、調べてきます。

>>408
プログラミングは昔Cのポインタで挫折したタイプなんでよくわかってません。

412 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 14:02:52.07 ID:hgsCKB/O.net]
>>409
>>411
Pythonのimportは名前空間にパッケージ名を登録してるだけ

import package # プロセスの名前空間にパッケージ名を登録
package.function() # packageに書いた関数を使う

import時、プロセス内に同じ名前のパッケージ名があれば読み込み不要だからキャンセルされる
なので >>405 のように一度しか実行されないってことになります

413 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:22:57.82 .net]
pandasのdropってディープコピーってことは
dropするたびに変数に入れないといけないってことですよね?
データフレームが大きいときその辺り気にしなければいけないのでしょうか

414 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 18:54:54.09 ID:0fSH6U0R.net]
Ruby でも、require・load は異なる

require は同じファイルは一度だけしかロードしませんが、 load は無条件にロードします。
require はライブラリのロード、load は設定ファイルの読み込みなどに使う

つまり、ライブラリ・モジュールの読み込みは、1回で良いけど、
設定ファイルは再読み込みする事がある

415 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:10:14.07 ID:Ar0nSnLQ.net]
>>413
IOに比べたらカスみたいなもんだからどうでもいい
実際遅かったら直せばよい

416 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 20:50:16.85 ID:wJ3JIqDy.net]
推奨NGワード: Ruby

417 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:18:46.00 .net]
>>415
なるほどありがとうございます
とりあえずはまとめられる処理はできる限り一つにまとめてみます

418 名前:404 [2021/02/08(月) 21:40:53.51 ID:TgcbDI6H.net]
正解なのかはわかりませんが、なんとか期待通りの動きをするようになりました。
元々のコード:ttp://codepad.org/RgfCqXLD
変更後:ttp://codepad.org/C9YTzwaU

スイッチがONになったら反応、OFFでもう1つのアクション。
ついでにキャンセルもできるようにしようとするとフラグを2つ立てないとうまくいかなかったので、無駄に長くなってしまった気がします。
もしお暇でしたらアドバイス貰えれば幸いです。

419 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 21:44:11.22 ID:XWqxRkjb.net]
>>404
悪いがオリジナルは既に消えている。
が、どういうソート順なのか調べた人がいた。

それの紹介記事は残っていた
https://atsushieno.hatenadiary.org/entry/20050704/p2

webアーカイブに残っているかなぁ?



420 名前:デフォルトの名無しさん mailto:sage [2021/02/08(月) 22:22:53.64 ID:XWqxRkjb.net]
>>419
アーカイブされていた
https://web.archive.org/web/19990224184613/www.asahi-net.or.jp/~ez3k-msym/comp/acccoll.htm

421 名前:デフォルトの名無しさん [2021/02/08(月) 23:57:12.05 ID:qlvhc88X.net]
親切な方誰か教えてください。
Python始めたいんだけど、どのバージョンをダウンロードしたらいいんでしょうか?
勉強用に買った本には3.6.Xをダウンロードしろと書いてあるんだけど、どうせ始めるなら最新の3.9から始めるのがいいんでしょうか?






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

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

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