X



くだすれPython(超初心者用) その51【まず1嫁】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
垢版 |
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 ###
0003デフォルトの名無しさん
垢版 |
2020/10/17(土) 14:00:51.41ID:dPJ220D1
いちおつ有能
0005デフォルトの名無しさん
垢版 |
2020/10/17(土) 14:13:02.49ID:Y2egJtFL
可読性を犠牲にして実行速度を得られるPythonのコードってどういう例がありますか?
0007デフォルトの名無しさん
垢版 |
2020/10/17(土) 16:37:45.50ID:SpKdHUv/
> お前は毎朝起きるたびに俺に負けたことを思い出すよ^^

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

クソチョンw

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

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0009デフォルトの名無しさん
垢版 |
2020/10/17(土) 22:57:23.60ID:aI2oeiUv
何があったか知らんけど、7みたいな中学生をコテンパンに言い負かしたやつが悪い
0010デフォルトの名無しさん
垢版 |
2020/10/18(日) 00:29:45.75ID:BP1EUUz6
list_a = ['a', 'b', 'c']
list_list = [] (リストのリスト)

list_aの末尾に要素を追加してから、そのリストを丸ごとlist_listへ追加したい。(list_aの中身はどうなってもいい)

(1)
list_list.append(list_a.append('d'))
→戻り値で評価されて、Noneがappendされてしまう

(2)
list_a.append('d')
list_list.append(list_a)
→ならlist_listは想定の結果となる
(list_aは更新される)

(3)
list_list.append(list_a + ['d'])
→も想定の結果となる(カッコ内がリストの戻り値だから)
(list_aは更新されない)

(1)のような書き方みたいに、そのオブジェクトが更新されるメソッドを実行した後のオブジェクトとしてappendの引数に入れるような書き方というのはできないですか?
0012デフォルトの名無しさん
垢版 |
2020/10/18(日) 01:09:16.00ID:XIKHaV9E
listを継承して、append後にselfを返すメソッドでも実装しなはれ
0013デフォルトの名無しさん
垢版 |
2020/10/18(日) 01:13:49.31ID:XIKHaV9E
class MyList(list):
__def append(self,a):
____super().append(a)
____return self

list_a=MyList([‘a’,’b’,’c’])
list_list=[]
list_list.append(list_a.append(d))
0014デフォルトの名無しさん
垢版 |
2020/10/18(日) 09:52:27.61ID:h0an4siz
>>10
list_list = [*list_a, 'd']
0015デフォルトの名無しさん
垢版 |
2020/10/18(日) 10:28:15.04ID:+vZczgoX
>>10
オブジェクトを直接変更するメソッドは変更後のオブジェクトを返さないのが
Pythonの基本的な考え方なので
(2)の動作を求めてるならそのまま2行で書くやり方に慣れたほうがいい
0016デフォルトの名無しさん
垢版 |
2020/10/18(日) 11:01:34.94ID:vmWunLYe
>>10
そう言うのは関数型言語的な発想。
もしくは同じオブジェクト指向でもメッセージパッシング主体のSmalltalkやRubyの発想。
Pythonのオブジェクト指向はC++的。

美しきHaskell畑へようこそ。
0018デフォルトの名無しさん
垢版 |
2020/10/18(日) 11:30:11.96ID:H1xH1BRx
他の言語知ってても
python 初心者の頃は仕方ない
sort() sorted() でも混乱するし
len() はナニコレって思う
0019デフォルトの名無しさん
垢版 |
2020/10/18(日) 13:40:43.68ID:LTF40fUE
むかし無印C そしてアセンブラをちょっとやってPythonに来たんだけど
len()便利!って思ったおもひで
0020デフォルトの名無しさん
垢版 |
2020/10/18(日) 19:26:16.89ID:sP6Ssfc9
Windows版 Anacondaでenv配下のpython exeを直叩きするとライブラリのエラーを吐く(baseが起動されてる?)んですがこれって仕様ですか?
Ubuntuで使ってたときはpython直叩きで普通に動いてたのですが…
0022デフォルトの名無しさん
垢版 |
2020/10/19(月) 01:51:34.80ID:/dP3R2fY
>>11-16
遅くなりすみませんが、ありがとうございました。
そういうもの、ということでpythonに慣れていきたいと思います。
0023デフォルトの名無しさん
垢版 |
2020/10/19(月) 02:50:44.31ID:OVCmHBqA
[{"a":1},{"a":2}]
みたいなネストされた複数辞書をjson.loadで読み込むことに成功はしたのですが
なぜか相対パスだと成功して絶対パスだと
dictionary update sequence element #0 has length 1; 2 is required
なエラーがでて失敗します
なんでですか
0025デフォルトの名無しさん
垢版 |
2020/10/19(月) 07:24:07.28ID:zWJLigJ7
>>23
エスパーすると
フルパスの中の
半角スペースか
2バイト文字が
悪事を働いている

あるいは
ダメ文字
0030デフォルトの名無しさん
垢版 |
2020/10/19(月) 13:22:16.43ID:xZeEkj1k
今どき全角だから受け付けないとか許されんわ。
うっかり世界中に絵文字を流行らせてしまった責任取れ
0031デフォルトの名無しさん
垢版 |
2020/10/19(月) 13:27:52.28ID:asy7wTux
ソースのエンコード
テキストデータのエンコード
ファイルシステムのエンコード
把握しとけよ
0032デフォルトの名無しさん
垢版 |
2020/10/19(月) 21:01:35.50ID:2Is2q0wK
>>30
表示の問題でスペースに見える文字がたくさんある
これらを認めることにするのかしないのか決めないといけない
0033デフォルトの名無しさん
垢版 |
2020/10/20(火) 13:43:26.44ID:ysKzRYjJ
簡単な検索サイトみたいなの作りたく5月に初プログラミングでPythonはじめて、1ヶ月くらいで原型はできてきたけど
そこからMysqlの速度改善、いろんなケースの対応とか修正改良に何ヶ月もかかってしまった…
まだHTMLとCSSもほとんどできてないし、ウェブサイト作成の道のりがこんなに長いとは思わなかった
最初に完成形を思い描いておいて正解だった。目標が見えてなかったらとっくに挫折してる
0034デフォルトの名無しさん
垢版 |
2020/10/20(火) 15:21:01.77ID:Zx1gytYL
おきばりやす
0035デフォルトの名無しさん
垢版 |
2020/10/20(火) 16:29:48.06ID:eycpLBp6
class A:
_def __init__(self):
__self.data = [1,2,3]

a = A()
for d in a.data:
_print(d)

forで回すときだけ、for d in a:と書くだけで
実際はa.data返してくれる特殊メソッド的なやつはないのでしょうか
0037デフォルトの名無しさん
垢版 |
2020/10/20(火) 17:29:05.66ID:nDz4VJ3V
__iter__()
0038デフォルトの名無しさん
垢版 |
2020/10/20(火) 17:31:25.43ID:vcQhkuUZ
>>35
[Python] イテレータを実装する - Qiita
https://qiita.com/tchnkmr/items/e740173d7400f8672d75

Python3 – __iter()__によるイテレーターの実装 – TauStation
http://taustation.com/python3-iterator-implementation/

Pythonの特殊メソッド一覧を備忘録としてまとめてみた。 - Qiita
https://qiita.com/y518gaku/items/07961c61f5efef13cccc

C++やJavaに慣れていればどうということは無いかんたんな仕組み
0040デフォルトの名無しさん
垢版 |
2020/10/20(火) 19:50:39.99ID:HzDHbN9N
>>35
__iter__でa.dataを戻り値
0041デフォルトの名無しさん
垢版 |
2020/10/20(火) 19:57:20.87
import itertools
import time

class A:
_def __init__(self):
__self.data = [4,6,5]
_def __iter__(self):
__return itertools.cycle(self.data)
_def __next__(self):
__return next()
a = A()
for d in a:
_print(d)
_time.sleep(1)

>>37,38
self.dataを汚すかどうかは置いといて
できました ありがとうございました

>>36
ないのでしょうか?
一応それっぽいというか、まさにってものができたのですが
やらないほうがいい理由を後学のため教えてください
0043デフォルトの名無しさん
垢版 |
2020/10/20(火) 20:09:19.14
だめだ会話が成り立たない
クラスにするかどうかってここで関係あるのかなぁ…
>ないからって
というのはどういう意図で言ったのか聞きたかっただけなのに
0044デフォルトの名無しさん
垢版 |
2020/10/20(火) 22:38:32.31ID:vwGc/p8H
自分は逆に、こういうのでもクラスを使うほうがいいのかと思ってしまった
いまだに自作のクラスを使わないといけない状況にあったことがないので
だから全然クラスの知識が増えない
0045デフォルトの名無しさん
垢版 |
2020/10/20(火) 22:50:02.10ID:19yz3Hql
pandasでカラム1〜カラム10まであるとして、
axis=1の方向でソートして3番目の値を新たにカラム11とする場合の書き方を教えてください。
カラム1〜10はすべて数値です。
0046デフォルトの名無しさん
垢版 |
2020/10/21(水) 11:34:12.69ID:zDJAgP8g
勉強始めてまだ3日目。まだアンダーバーの意味すらわからん。
カメに捕まってしまいましたし。
0047デフォルトの名無しさん
垢版 |
2020/10/21(水) 12:31:30.33ID:xBgAWF1Y
import random
import pandas as pd
df = pd.DataFrame([[random.randint(1,10) for _ in range(10)] for _ in range(5)])
df['No3'] = df.apply(lambda x: sorted(x)[2], axis=1)
print(df)
0051デフォルトの名無しさん
垢版 |
2020/10/21(水) 23:59:34.46ID:eEy42ac7
先週からPythonを始めた初心者です
手書きの数字を書いた画像ファイルからその数字を予測させるプログラ厶を作っているのですが、作ったプログラムファイルと画像ファイルを同一フォルダ内に入れるにはどうすればいいでしょうか?
画像ファイルはペイント3Dで作成したものです
コード以前の質問で申し訳ありません
0052デフォルトの名無しさん
垢版 |
2020/10/22(木) 02:29:50.64ID:9XviiwvN
>>51
ペイント3Dで画像を保存する時にプログラムファイルと同じフォルダを指定して保存すれば良いんじゃないの?
処理の手順とか書いてくれたら何がしたいのか分かるかも
0053デフォルトの名無しさん
垢版 |
2020/10/22(木) 10:41:34.94ID:vPWH9GQz
退屈な事はpythonにやらせよう
0055デフォルトの名無しさん
垢版 |
2020/10/22(木) 14:48:20.36ID:iRctxXkJ
料理洗濯も
0058デフォルトの名無しさん
垢版 |
2020/10/22(木) 19:58:02.49ID:3xJ2F0Gf
>>52
回答ありがとうございます
Python IDLEでプログラムファイルを作成し、次にペイント3Dで作った画像ファイルを同じ場所に保存しようとしたのですが、作成したプログラムファイルが見つかりませんでした
Python IDLEのメニューからだと見つけられるのですが、ペイント3Dからだと同じ場所を探してもありませんでした
仕方なくPython IDLEのメニューからフォルダを新規作成し、そこにプログラムファイルと画像ファイルをコピペしたのですが、それを実行してもRESTARTと表示されるだけで何も起こりませんでした
PC自体に疎く、説明が上手くできず申し訳ありません
0065デフォルトの名無しさん
垢版 |
2020/10/23(金) 00:44:59.96ID:L7Q9DyFd
>>64
名前を付けて保存を選択したら.pingという拡張子になったのですがこれではいけないでしょうか…
0066デフォルトの名無しさん
垢版 |
2020/10/23(金) 01:32:11.21ID:ykqFrr6r
>>65
いけない子ですねー、バチが当たります。
>>51> "数字を予測させるプログラ厶"
はそんな.ping子を呼びだしとるんかね?
0067デフォルトの名無しさん
垢版 |
2020/10/23(金) 02:24:54.03
javascriptでいうところのブロック{}で囲んで複数行のコードを書けるような無名関数と同等のものって
pythonだとラムダ式で \ を使う方法しかないっぽいですね?
(lamba:[,,,]みたいな書き方だと変数を外におけば大抵はいけそうですけど)
0068デフォルトの名無しさん
垢版 |
2020/10/23(金) 07:13:03.18ID:loxVAW2U
>>67
Pythonはlambdaで実現できないもの(文)はdefで名前つける必要がある、というルールだから、厳密に同じことはできないのではないかな
見た目は多少ごちゃごちゃするけど、関数内defで困ることはない感じ
0070デフォルトの名無しさん
垢版 |
2020/10/23(金) 09:43:35.64ID:GB49RwlR
>>58
ペイント3Dからpythonのプログラムファイルを見つけようとしたの?
通常ペイント3Dから見えるのはペイント3Dで開ける画像形式だけだよ。
エクスプローラーから両方のファイルが見えるなら正常動作
0071デフォルトの名無しさん
垢版 |
2020/10/23(金) 12:12:46.38ID:nXkr9gOB
リスト内の検索で教えて下さい。
[0, 1, 2, 3, 4]
[0, 1, 2, 4, 6]
[1, 2, 3, 4, 6]
  :

このようなリストを10000行含むテキストがあります。テキストの中に重複はありません。

sf = open('Search.txt', 'r')
S_list = sf.readlines()

for i in range(20):
print(S_list[i], end='')

として確認すると、ちゃんと読み込まれています。
プログラムの中で、新しい [1, 3, 3, 4, 9]

というリストをつくり、これが読み込んだ S_list に含まれるかという
判定をしたいのですが、すでにある[0, 1, 2, 3, 4]を

'[0, 1, 2, 3, 4]' in S_list
とかを試しても、Falseとなってしまいます。

これでTrueを返すにはどうしたら良いでしょうか。
データの比較は1行そのものにマッチするかという感じです。

関係ないかもしれませんが、データ形式を確認すると
print (type(S_list[0]))
<class 'str'>

となり、読み込まれた行データはstrとなっているようです。
どうか、よろしくおねがいします。
0072デフォルトの名無しさん
垢版 |
2020/10/23(金) 12:26:54.44ID:5NWyTruo
S_listに入ってるのは '[0, 1, 2, 3, 4]'という文字列
でもあんたが欲しいのはきっとリストの集合でしょ

printすりゃリストのように見えるのも当然
0073デフォルトの名無しさん
垢版 |
2020/10/23(金) 12:30:01.02ID:5NWyTruo
だから「新しい [1, 3, 3, 4, 9]というリスト」じゃなくて
「『新しい [1, 3, 3, 4, 9]というリスト』を文字列にした、'[1, 3, 3, 4, 9]'という文字列」をS_listに入れる

リスト[1, 3, 3, 4, 9]をprintとしたときの見映えと、'[1, 3, 3, 4, 9]'という文字列をprintした時の見映え、一緒になるでしょ
だから見ても分らない
0074デフォルトの名無しさん
垢版 |
2020/10/23(金) 12:33:45.18ID:vvEFmscd
> すでにある[0, 1, 2, 3, 4]を
>
> '[0, 1, 2, 3, 4]' in S_list
> とかを試しても、Falseとなってしまいます。

先にこれに答えてあげたら?
0075デフォルトの名無しさん
垢版 |
2020/10/23(金) 12:42:54.50ID:abzAGR5J
>>71
改行コードが含まれてるからだよ
デバッグすればS_list[0]に何が入ってるか確認できるでしょ
0076デフォルトの名無しさん
垢版 |
2020/10/23(金) 13:28:22.51ID:nXkr9gOB
コメントとありがとうございます。

確かにおっしゃるとおり[0,1,2,3,4]をある組み合わせの数値リストとして
利用しています。例は5個の組み合わせですが、実際は10個の数値リスト
を一つの組み合わせとしています。

そのため、一つの組み合わせを調べるのにもそれなりに時間がかかるため、
すでに調べた組み合わせのリスト化し(それがs_listです。)、新しい
組み合わせがそのリストの中にあれば、再調査する必要がないので
「リストの中を検索して同じ組み合わせがあるか」を調べたいと考えたわけ
です。

そのため、目的は文字列として一致していれば良いので、(type(S_list[0])
がstrでも問題はないかと思っています。

python自体が今回はじめてなので、的外れでしたらすみません。
0077デフォルトの名無しさん
垢版 |
2020/10/23(金) 13:45:29.78ID:0ETx0fm7
回答者は型としてのリストと勘違いしてるようだけど、質問でいうリストって単なる文字列のことだよね。
文字列比較がうまくいかないって聞いてるんだと思うけど。
0078デフォルトの名無しさん
垢版 |
2020/10/23(金) 13:52:27.99ID:1Lfwgj44
Ruby なら配列同士を、<=> で比較するだけ

p [ 1, 2, 3 ] <=> [ 1, 2, 3 ] #=> 0

自身と other の各要素をそれぞれ順に、<=> で比較していき、
結果が 0 でなかった場合に、その値を返します

各要素が等しく、配列の長さも等しい場合には 0 を返します
0079デフォルトの名無しさん
垢版 |
2020/10/23(金) 14:16:49.16ID:I6W4x6m7
print(True) if '' else raise Exception('err')

参考演算子の中でraiseって使えないのですか?
0080デフォルトの名無しさん
垢版 |
2020/10/23(金) 14:23:32.89ID:nXkr9gOB
71です。

いろいろお騒がせしましたが解決しましたのでご報告いたします。
原因は75さんのおっしゃるとおり改行コードでした。

いろいろ試しているうちに、
S_list[0] in S_list
ならTrueを返すことに気がつきました。
そこで
[0,1,2,3,4] +'\n' in S_listとやったら
無事、Trueが帰ってきてくれました。

これを解決するのに4時間ほど要しましたが(汗)
苦しいけれどプログラミングは面白いですね。

まだまだ勉強が足りません。

みなさん、ご協力ありがとうございました。
008178
垢版 |
2020/10/23(金) 14:28:49.18ID:1Lfwgj44
Ruby で作った

require "json"

json = <<'JSON'
[0, 1, 2, 3, 4]
[0, 1, 2, 4, 6]
[1, 2, 3, 4, 6]
JSON

json.each_line.with_index( 1 ) do | line, idx | # 各行・添字
ary = JSON.parse( line )

if ( ary <=> [ 0, 1, 2, 4, 6 ] ) == 0 # 同一なら
puts "#{ idx }行目と一致しました!"
break
end
end

出力
2行目と一致しました!
008279
垢版 |
2020/10/23(金) 15:04:56.16ID:I6W4x6m7
関数にして実行することにしました
def _inter(msg):
_raise Exception(msg)
print(True) if '' else _inter('err')
0083デフォルトの名無しさん
垢版 |
2020/10/23(金) 18:20:11.52ID:VhlDKsUn
>>79
三項式は”<式> if <条件式> else <式>”の形
式のところに文を書くことはできない
raiseは文
0084デフォルトの名無しさん
垢版 |
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」というのはどういう意味・どういう処理ですか?
初めて見たのですが、検索に引っかかりにくそうな文字列なので教えてください。
戻り値がないことを明示するような何かでしょうか?
0085デフォルトの名無しさん
垢版 |
2020/10/23(金) 22:26:52.76ID:0nvuAgk9
ググれば普通に出てくるけど
返り値がないことを明示するもの
実行時の影響はない、人間が読みやすくするため
0088デフォルトの名無しさん
垢版 |
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個だけのリストに置き換えてあげないとダメですかね
0089デフォルトの名無しさん
垢版 |
2020/10/24(土) 07:04:59.96ID:RnpA+Mw5
>>88
エスパーしてみると、
どっちがこようが、中身を1つずつfor文ブン回して処理してて
その中でさらにlen()を使ったりして中身の中身が1文字になるまでfor文ブン回してるなら
リストがこようがstrがこようが問題ない
0090デフォルトの名無しさん
垢版 |
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)

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

何で馬鹿正直にここでコードを書いてるんだ
0094デフォルトの名無しさん
垢版 |
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がおかしいのかもしれませんが。
0095デフォルトの名無しさん
垢版 |
2020/10/24(土) 17:20:55.44ID:+GevKgJx
from . import hoge
でももちろん OK

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

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

クソチョンw

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

日本で強姦と窃盗を繰り返す
犯罪者在日のクソチョンw
0098デフォルトの名無しさん
垢版 |
2020/10/24(土) 22:17:47.25ID:lO0DTzsg
ありがとうございます。
どうも from . の相対指定は __main__ からは使えないようですね。
なんでvscodeは import hoge だと見つけてくれないんだろう。
0099デフォルトの名無しさん
垢版 |
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]
]
0100デフォルトの名無しさん
垢版 |
2020/10/25(日) 10:14:15.45ID:ems4w7oQ
>>99
テトリミノごときでは、予め
リスト_ブロックの種類その1=[向きその1の座標リスト、同2,3,4]
みたいに
全種類のブロック、全向きの描画指示リストを作ってしまっておき、

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

上下左右ボタン押下時は描画中央点の座標を移動させる
とやるのが定番らしいぞ。
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況