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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2020/10/17(土) 10:05:38.14ID:1RQ0Wdhu
当スレに★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公式サイト◇ http://www.python.org/
◇まとめwiki◇ ttp://python.rdy.jp/wiki.cgi

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

次スレは >>985 あたりが挑戦してくだしあ。(980過ぎて自動落ちは、無くなって久しい)
### END OF TEMPLATE ###
2020/10/23(金) 18:20:11.52ID:VhlDKsUn
>>79
三項式は”<式> if <条件式> else <式>”の形
式のところに文を書くことはできない
raiseは文
2020/10/23(金) 22:00:16.63ID:L1dflzY5
以下のGitHubのコードで
https://github.com/jstasiak/python-zeroconf/blob/master/examples/browser.py

「def on_service_state_change(....) -> None:」

という箇所があるのですが、 「-> None」というのはどういう意味・どういう処理ですか?
初めて見たのですが、検索に引っかかりにくそうな文字列なので教えてください。
戻り値がないことを明示するような何かでしょうか?
2020/10/23(金) 22:26:52.76ID:0nvuAgk9
ググれば普通に出てくるけど
返り値がないことを明示するもの
実行時の影響はない、人間が読みやすくするため
86デフォルトの名無しさん
垢版 |
2020/10/23(金) 22:27:25.36ID:hTSzdhIi
https://note.nkmk.me/python-function-annotations-typing/
2020/10/23(金) 22:28:56.45ID:zsVfkhmi
>>86
Pythonで一番わかりやすいサイト
2020/10/24(土) 02:17:03.53ID:JC525kC6
モジュール等の関数の引数で、単体の文字列でも、文字列のリスト型でも渡せるようなものがありますが、あれは関数内でリストかどうか判別して処理してるんでしょうか。

たとえば↓こんな処理があるとして
for str in str_list:
___ print(str)

str_list = ['abc', 'def']
str_list = 'abc'
のどちらでも、'abc'はひとかたまりに'abc'と扱うようなシンプルな書き方はありますか?

if type(str_list) != list:
___ str_list = [str_list]
のように1個だけのリストに置き換えてあげないとダメですかね
2020/10/24(土) 07:04:59.96ID:RnpA+Mw5
>>88
エスパーしてみると、
どっちがこようが、中身を1つずつfor文ブン回して処理してて
その中でさらにlen()を使ったりして中身の中身が1文字になるまでfor文ブン回してるなら
リストがこようがstrがこようが問題ない
2020/10/24(土) 10:26:22.07ID:lgAxN1Yc
>>71
def func(*args):
if len(args) == 1 and isinstance(args[0], (list, tuple)):
return func(*args[0])

for s in args:
print(s)

書いては見たものの、普通に分岐して処理を分けたほうが効率も可読性も上がると思う
2020/10/24(土) 10:27:34.10ID:lgAxN1Yc
安価間違えた
2020/10/24(土) 11:23:27.37ID:878uww5f
>>88
一般的にはリストかどうかを判定するんじゃなく
渡されたiterableがstrかどうかを判定して分岐させる
93デフォルトの名無しさん
垢版 |
2020/10/24(土) 12:43:38.66ID:+LCko2A7
>>88
>モジュール等の関数の引数で、単体の文字列でも、文字列のリスト型でも渡せるようなものがありますが
ものがあるならそれを見ろよ
見てもわからないならそのリンクを貼れよ

何で馬鹿正直にここでコードを書いてるんだ
2020/10/24(土) 17:18:10.10ID:lO0DTzsg
main.py から hoge.py をimportするとき、 hoge.py が main.py と同じディレクトリにあることを
明示的に示したい場合はimportをどのように書くのが正しいんでしょうか。

import hoge で一応実行はできますが、vscode(Pylance)から認識できなくて警告が出ます。
from . import hoge とするとvscodeで認識されるようになるのですがpythonの実行がエラーになります。
もしかしたらvscodeがおかしいのかもしれませんが。
95デフォルトの名無しさん
垢版 |
2020/10/24(土) 17:20:55.44ID:+GevKgJx
from . import hoge
でももちろん OK

sys.path.append('.') の反対で sys.path の先頭に '.' が来るようにすれば良いんじゃね
96デフォルトの名無しさん
垢版 |
2020/10/24(土) 17:21:54.71ID:+GevKgJx
あと
main.py のディレクトリに
__init__.py
を造る
97デフォルトの名無しさん
垢版 |
2020/10/24(土) 21:32:18.14ID:d1F6LvKA
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

あー、ホンッとに思い出すなあ(笑)
キチガイの嘘つきの低レベルFランの、
朝鮮ゴキブリBot君は、
チョン独特の「なにもできないけど俺のほうがジャップより偉い!」的な
ことはよーくわかったよ。
ホントなにもできない朝鮮ゴキブリBot君!

クソチョンw

Pythonさえろくにできないバカチョンのくせに
できるとほざくクソチョンw

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
2020/10/24(土) 22:17:47.25ID:lO0DTzsg
ありがとうございます。
どうも from . の相対指定は __main__ からは使えないようですね。
なんでvscodeは import hoge だと見つけてくれないんだろう。
2020/10/25(日) 10:06:10.70ID:yMGC2owQ
配列を回転させるにはどういうロジックを使うんでしょうか?
テトリミノです
これを
var mino = [
[1,0,0,0],
[1,1,1,0],
[0,0,0,0]
]

var mino = [
[0,0,0,1],
[0,1,1,1],
[0,0,0,0]
]

こうしたいのですが、1つの目の配列のmino[1][2]番目にある配列を原点としたいので、並行移動も必要かとは思います
あるいは配列のフィールドを大きくする必要がありますね

var mino = [
[1,0,0,0,0,0],
[1,1,1,0,0,0],
[0,0,0,0,0,0]
]
var mino = [
[0,0,0,0,0,1],
[0,0,0,1,1,1],
[0,0,0,0,0,0]
]
2020/10/25(日) 10:14:15.45ID:ems4w7oQ
>>99
テトリミノごときでは、予め
リスト_ブロックの種類その1=[向きその1の座標リスト、同2,3,4]
みたいに
全種類のブロック、全向きの描画指示リストを作ってしまっておき、

右回転ボタンを押したら リスト_ブロックの種類その1[ここの中を1足せ!]
左回転なら リスト_ブロックの種類その1[ここの中を1引く!]
で、ブロックアイコン部分を処理し、

上下左右ボタン押下時は描画中央点の座標を移動させる
とやるのが定番らしいぞ。
2020/10/25(日) 10:24:53.87ID:yMGC2owQ
>>100
上のミノの場合は上下左右全4パターンしかないでしょうか?
回転描画と移動は分けるわけですね
テトリスでもそのロジックでやるんでしょうか?
2020/10/25(日) 10:35:02.78ID:ems4w7oQ
>>101
Yes普通は
そのようだ
そのようだ

テトリスで重要かつ難しいのは、
「考えれば詰まない」程度にブロックの出現比率を考えること
2020/10/25(日) 10:58:03.08ID:yMGC2owQ
ありがとう
もう少し調べてから来る
とりあえずクラスにそれぞれの方向の配列を作ってみる

でも、回転させる方法もあるにはあるんだよね
2020/10/25(日) 11:07:46.70ID:FKBCMSG5
>>102
テトリスではブロックの出現率はすべて均等
もっと言えば7種類あるテトリミノは7回のツモで全て出るようになっている
これは最近のゲーム全てで採用している共通仕様(ガイドライン)
2020/10/25(日) 11:09:50.53ID:yMGC2owQ
複数の配列を格納しておく場合、クラスを定義するのがいいんでしょうか?
2020/10/25(日) 11:13:32.62ID:yMGC2owQ
classはなぜnewしないといけないのか(´・ω・`)、、、
2020/10/25(日) 11:14:19.93ID:FKBCMSG5
あとテトリスの回転規則はすべて規定されてるから
軸ブロックの位置のデータと向き(4パターン)だけ持っといて
普通に回転できるならパターンだけ入れ替える
他のブロックや壁と干渉するなら合法な回転になるように補正する
でいい
2020/10/25(日) 12:31:00.34ID:yMGC2owQ
パターンを作るのと、普通に回転させる手法で、後者の手法はなんというかわかりますか?
109デフォルトの名無しさん
垢版 |
2020/10/25(日) 12:46:40.25ID:zd7LSfWt
名前が欲しいなら「単純回転法」とか自分で勝手に好きな名前を付けていい
何をどう呼ぼうが自分の自由
110デフォルトの名無しさん
垢版 |
2020/10/25(日) 12:47:39.12ID:zd7LSfWt
なので美人投票になり、多くの人が名付けそうな名前を当てればいい
111デフォルトの名無しさん
垢版 |
2020/10/25(日) 12:47:47.86ID:FzqccguI
>>99
それは回転じゃない
反転だ
2020/10/25(日) 13:02:11.16ID:/elpRfls
反転も回転だ
113デフォルトの名無しさん
垢版 |
2020/10/25(日) 13:06:09.27ID:FzqccguI
z軸があるならな
114デフォルトの名無しさん
垢版 |
2020/10/25(日) 13:08:35.94ID:FzqccguI
自己レスだけど
ああ答え出たわ

>>112
thx
2020/10/25(日) 14:24:35.81ID:pXppxvnv
>>98
Ruby でも、require, require_relative は異なる

requireは、$LOAD_PATH に指定されているディレクトリから、
相対パスで該当のファイルを探しに行く。
$LOAD_PATHには、カレントディレクトリは入っていない

一方、require_relativeは、そのファイルがあるディレクトリからの相対パスで探す
2020/10/25(日) 14:45:30.88ID:owEUdSKz
すみません
ネズミの血管が高血圧でどれだけ縮んだかを調べてほしいなんて言われたのだけど、
画像には縮んだ跡がはっきりわかるほど色の違いがでてるので、
色の閾値範囲内で面積を求めるようなサンプルが解説してあるようなホームページってどこかにあります?
117デフォルトの名無しさん
垢版 |
2020/10/25(日) 14:47:54.52ID:FzqccguI
医療器具の開発が5chで質問とか世も末だな
2020/10/25(日) 14:56:11.81ID:/elpRfls
血管が高血圧で縮んだのではなく、
血管が縮んだから高血圧になったのでは?
スタートから間違えてる気がする。
2020/10/25(日) 15:58:31.62ID:M7kzCKlu
>>116
https://realpython.com/python-opencv-color-spaces/
https://stackoverflow.com/questions/52761354/
https://www.pyimagesearch.com/2016/03/28/measuring-size-of-objects-in-an-image-with-opencv/
2020/10/25(日) 17:27:18.50ID:yMGC2owQ
テトリスで配列を回転させるやり方は一般的ではないのですか?
121デフォルトの名無しさん
垢版 |
2020/10/25(日) 17:45:47.26ID:oSLDmiXU
なんで一般的かどうかを気にするんだ?
2020/10/25(日) 17:54:01.25ID:33H36Dsf
746 名前:デフォルトの名無しさん[sage] 投稿日:2019年12月18日(水) 14:05:40.87 ID:j0+9FDxC
ていうかこのテトリス奴って一年くらい前にも同じレベルのレスしてなかったっけ?
2020/10/25(日) 17:57:40.03ID:Lrl0T0sC
そもそもテトリスなんて多言語含めりゃサンプル山ほど見つかるだろ
2020/10/25(日) 18:07:09.66ID:6nYXX+Of
Тетрис
2020/10/25(日) 19:03:10.89ID:yMGC2owQ
配列は回転アニメーション入れるのが面倒なので3dでやってみますです
2020/10/25(日) 19:14:06.08
https://note.com/thinknewproducts/n/n6db63a3dcc1e
>▶Dockerを用いた開発手順
>Bコンテナ内で開発を行う
ってあるけど
dockerって基本GUIは推奨じゃないよね
コンテナ端末上のviとかで開発すんの?
(さすがに、ホストにインストールした開発環境でコードをコピペして云々じゃないよね)
デバッグのときだけエディタでコンテナ使うならわかるけど
2020/10/25(日) 19:33:58.76ID:xycg9nf+
>>126
vscodeとか使ったらssh経由でリモートのファイルを触れるので(感触はローカルファイルと一緒)、編集はそれでして
ビルド、実行、デバッガはコンテナ上で行う
2020/10/25(日) 19:35:24.42ID:An8jgW91
どこかの社員研修かボットか地縛霊とみた
129デフォルトの名無しさん
垢版 |
2020/10/25(日) 19:37:14.60ID:DefYxvki
なんでmac標準で入ってるpythonは2なんだ?
2020/10/25(日) 19:40:24.62ID:owEUdSKz
>>119
ありがとうございます。参考にします。

>>117
ただの病院の事務です
医者に宿題を出されて、画像から面積計算なんてやったことないよと頭を抱えてるところなだけです
2020/10/25(日) 19:46:34.13ID:ems4w7oQ
>>129
3系がうまれるまえに骨子ができたったから。
10系ろんぐらーいふ!
2020/10/25(日) 21:15:42.93ID:Y8lAuHf9
numpyのndarrayに時系列でのデータと計測時のタイムスタンプが保存してあるのですが
これをcsvに書き出すにはどうすればいいですか?
writecolsみたいなのがあればいいんですが…
2020/10/25(日) 21:56:13.14ID:ems4w7oQ
>>132
「numpy 出力 ファイル」あたりでググって
あとはおこのみで
2020/10/25(日) 22:30:07.80ID:pXppxvnv
Ruby では、

require 'csv'

CSV.open( 'out.csv', 'w' ) do |csv|
csv << [ 1, "a,b" ]
csv << [ 2, "あ\nい" ]
end

ファイル書き込みの結果

1,"a,b"
2,"あ
い"
2020/10/25(日) 23:22:52.17ID:qAxwUivt
ルビおじw
2020/10/25(日) 23:32:43.10ID:/elpRfls
これ何の断りもなくrequire 'csv'でグローバルの「CSV」汚染するわけ??
137134
垢版 |
2020/10/25(日) 23:44:34.30ID:pXppxvnv
require 'csv'
は、標準モジュール

Ruby は、便利な標準モジュール・電池付き言語。
Batteries included
2020/10/25(日) 23:47:18.14ID:xycg9nf+
>>136
それは Python も一緒じゃね。てか汚染しない言語あるの?
2020/10/25(日) 23:47:57.36ID:xycg9nf+
>>136
あっごめん、大文字小文字が違うということね。たしかにそれはきつい。
2020/10/26(月) 00:03:53.08ID:eROnJLfC
CSV = 'important string'
require 'csv'

こうするとエラーで止まるがエラーメッセージがTypeError (CSS is not a class)
相変わらずエラーメッセージ糞な言語だな。
CSV is already usedとか出せんのか。
2020/10/26(月) 00:18:45.05ID:R4Gg3P6Y
PythonスレがRuby野郎に汚染されてる
2020/10/26(月) 10:30:00.58ID:cPtCGHMp
>>140
>CSV is already usedとか出せんのか。

すでに使われてるというのがエラーの原因じゃないからね
間違ったエラーメッセージを出せっていうのは無理筋
2020/10/26(月) 12:25:53.52ID:3haw0p11
「正しいエラーメッセージ」に従ってcsvモジュールの中調べに潜っちゃうんですよね分かります
2020/10/26(月) 14:22:47.45ID:cPtCGHMp
>>143
require ‘csv’してるのに、それによってトップレベルに追加されるモジュール名/クラス名を把握してないなら調べるのは当然だよね
2020/10/26(月) 15:11:24.23ID:eROnJLfC
pythonみたいにasがあれば必要ないよね。
rubyではどう書くの?
2020/10/26(月) 15:20:49.35ID:EltRWJ/H
るby 禁止
2020/10/26(月) 18:59:56.70ID:5rehnZD3
麦わらのruby
2020/10/26(月) 21:27:54.90ID:qgIOQEH4
import axios from 'axios';

JavaScript でも、ファイルパス・ファイル名も書いていないのに、
どこかにある、axios が読み込まれるw

これは標準モジュールじゃない。
npm/yarn で、自分でインストールしたもの
2020/10/26(月) 23:15:43.99ID:eROnJLfC
>>148
pythonのimportもjsのimportもasがあるからアサインする変数名自由に決められるよね。nodeのrequireも=でできる。
で?rubyは?
>>140 の CSV = 'important string' を救う方法はあるの?ないの?
誤魔化さずに答えろよ!逃げんなよ?
2020/10/26(月) 23:21:55.77ID:OwfKZM8a
>>148
どこかにあるって言うか、解決の順番はあるんだが。
rubyみたいにenvとかで逃げる必要すらない。
2020/10/26(月) 23:57:32.22ID:cPtCGHMp
>>149
ないわけないでしょwww
調べてもわからなかったのかな?
2020/10/27(火) 00:20:22.39ID:VaMRm4CO
>>151
誤魔化すな。逃げるな。
あるならなぜ示せないんだ?
まさか無いの?www
そんなわけないんだよな?
誤魔化すな!逃げるな!ルビチョン!
2020/10/27(火) 01:22:04.90ID:bllhtnqt
ルビチョンw
2020/10/27(火) 04:38:58.20ID:Vsl5UKba
ガガイのガイ
2020/10/27(火) 05:45:12.46ID:1YZKI+V3
このスレって優しい人しかいないですよね
テトリス教えて下さいね
2020/10/27(火) 07:23:25.30ID:qtFgb7yM
今度対戦しようぜ!
157デフォルトの名無しさん
垢版 |
2020/10/27(火) 10:11:39.22ID:telUcSp6
>>155
nicovideo。jp
watch/sm8517855
158デフォルトの名無しさん
垢版 |
2020/10/27(火) 11:22:13.47ID:IA9V1GzZ
>>99
まだやってんのか

テトリスでミノを回転させると思いますが、配列を回転させようとする... - Yahoo!知恵袋
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q12233598952
159デフォルトの名無しさん
垢版 |
2020/10/27(火) 19:02:39.46ID:dsTe3rvX
おおもとのクラス内の関数内でrandomモジュールを使って指定した変数を、継承したGUIを作るclassに継承するにはどうすればいいですか?
160デフォルトの名無しさん
垢版 |
2020/10/27(火) 20:05:38.34ID:6PTspJnf
https://ideone.com/CtT6qc
クラスメソッドにして、継承先のクラス実行する
もしくは、クラス変数として継承元クラス定義時に定義してしまう
クラスの外(__init__.pyとか実行ファイル)で定義してそれを使うようにする
161デフォルトの名無しさん
垢版 |
2020/10/27(火) 20:10:00.62ID:6PTspJnf
関数内の変数は関数を実行した時に定義される
2020/10/28(水) 11:28:22.30ID:tejl9TT4
習慣化するには、結果よりもルーティーンにこだわったほうがいいですか?
何分出来たかではなく、既定の時間にとりかかれたかどうかす
2020/10/28(水) 11:38:45.30ID:d52OC3St
>>162
嫌々やってるならどうやったって定着はしないだろう。
その勉強に価値がある、面白い、自分にとって必要だ、何でもいいから動機付けがあるなら一日の時間にとらわれず続けられるはず。
2020/10/28(水) 11:47:01.94ID:tejl9TT4
嫌嫌だと定着しないというのも良くわからないですが
筋トレは嫌ですけど、定着してますよ

目的は達成したいけど、プログラミング自体は英数字の羅列だし、拒絶反応が出るのですよ
2020/10/28(水) 11:59:26.49ID:d52OC3St
>>164
筋トレは筋肉に負荷をかければそれで目的が達成されるから、嫌々でもやれば効果は出るだろう。
プログラミングはただ教材を読みました、何かをなぞって書きましただけでは身に付かない。
ぼくは勉強しました!がんばってます!っていう満足感と実績が欲しいだけなら、嫌々でも目的は達成されるだろうけど。
2020/10/28(水) 12:09:02.54ID:XBU5yUok
いや脳の学習だって嫌々でも定着するやろ
2020/10/28(水) 12:14:10.20ID:tejl9TT4
>>165
いえ、筋トレの勉強ですね
フォームとか結構シビアですよ
168デフォルトの名無しさん
垢版 |
2020/10/28(水) 15:19:15.80ID:Y8qQZoY4
知らんがな
2020/10/28(水) 15:35:11.89ID:XBU5yUok
じゃあ勉強の筋トレすれば解決じゃね
170デフォルトの名無しさん
垢版 |
2020/10/28(水) 16:10:09.82ID:Mf8tEr2f
脳味噌筋肉
171160
垢版 |
2020/10/28(水) 22:29:14.06ID:WlV9Vtig
なんも反応ないと何か心許ないので、誰でもいいから意見ください
肯定でも否定でもなんでもいいです
2020/10/29(木) 11:10:58.29ID:6kj8Tqfe
知らんがな…
2020/10/29(木) 21:18:29.64ID:dcAdiAoA
>>171
はいはいみたみた

以上をお望みなら
ここは取り下げて、
御礼P弾んで知恵袋池
2020/10/30(金) 09:18:46.55ID:5DZdR9u/
1から体系的に学び直したい(学び直させたい)んだけど、書籍としてはオライリーの「入門 python3」が良いんでしょうか?

他におすすめの書籍があったら教えていたはだけないでしょうか?

初〜中級くらいに向けた書籍がありがたいです。
2020/10/30(金) 09:24:11.69ID:QvRG4Czx
オライリ
2020/10/30(金) 10:35:53.97ID:FRK/o1cy
質問!
PyCharmなんだけど自分のクラスのインスタンスを返すクラスメソッドの返り値の型ヒントはどう書けばいい?

class MyClass:
@classmethod
def make_my_class(cls) -> MyClass:
return cls()

って書くとUnresolved reference ‘MyClass’となる
177デフォルトの名無しさん
垢版 |
2020/10/30(金) 11:03:04.25ID:uffCAw9U
あてずっぽうの直感ではself
178デフォルトの名無しさん
垢版 |
2020/10/30(金) 11:13:07.10ID:7MkyV1Cp
typing.ForwardRef('MyClass')
179デフォルトの名無しさん
垢版 |
2020/10/30(金) 11:15:03.48ID:7MkyV1Cp
>>177
super(MyClass, self) ならどう?
2020/10/30(金) 11:18:15.29ID:JyrbNpe0
>>174
悟空「くれるってんなら、もらってやんぞ」
181デフォルトの名無しさん
垢版 |
2020/10/30(金) 11:30:21.85ID:7MkyV1Cp
>>174
https://docs.python.org/ja/3/tutorial/index.html
2020/10/30(金) 12:59:50.08ID:CJZJZESp
そうなんだよな
公式のチュートリアルまじお勧め
分かりやすく間違いなく書いてある
なんで金を出してマンガがいっぱいで
間違いの多い本をみんな買いたがるのか不思議だ
■ このスレッドは過去ログ倉庫に格納されています