[過去ログ] Pythonのお勉強 Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
228: (テテンテンテン MM7f-iU/c) 2022/10/05(水)05:43 ID:FOT9/eKgM(1/5) AAS
ゴメン 今回の件は全面的に俺が悪い
すみません
229: (テテンテンテン MM7f-iU/c) 2022/10/05(水)05:45 ID:FOT9/eKgM(2/5) AAS
>>227
エラー文のseleniumは既にインストール済だぞ
230: (テテンテンテン MM7f-iU/c) 2022/10/05(水)05:51 ID:FOT9/eKgM(3/5) AAS
>>218
seleoniumはインストール済だよ
pip install selenium でね
231(1): (ワンミングク MM9f-A0fl) 2022/10/05(水)06:08 ID:Vke5X/wtM(1) AAS
Pythonが複数バージョンインストールされてるってオチじゃないの
よくあるAnacondaどうこうってやつ
232: (テテンテンテン MM7f-iU/c) 2022/10/05(水)06:09 ID:FOT9/eKgM(4/5) AAS
selenium一度アンインストールして再度インストールしたら出来ました
スレ汚しスマン
233: (テテンテンテン MM7f-iU/c) 2022/10/05(水)06:11 ID:FOT9/eKgM(5/5) AAS
>>231
朝早いですね!
再インストールしたら出来るようになりました
何故か知らないけど……
……というより勝手にブラウザが開いて閉じての動作を見た時は感動しました
すげー勉強する意欲が増した
234: (ワッチョイ ff01-d1zO) 2022/10/05(水)06:57 ID:wne70pEz0(1) AAS
>>219
マルチポストされると同じようなレスを複数回読むハメことあるし回答したら他のスレで既に解決してたとかあるからそりゃうざいわってことだろ
ちなみにクロスポストはたいていのリーダーでどれか一つ読めば他のグループへの投稿も既読になるし回答する際もディフォルトの回答先グループが指定できるから回答が散らばることも防げる
235(1): (ワッチョイ 7f73-8eI1) 2022/10/05(水)18:42 ID:8ltN7Y6y0(1) AAS
原神スレかpythonスレかで迷ったんですけど、ちょっと失礼します。
外部リンク:github.com
ディスコbotがサ終してたのでありがたくオフ環境に導入すべく頑張ったんです。
setupの手順から一通り終えてpy bot.py後なんですが
raise ValueError("Duplicate keys!")の無間地獄にはまってるんですけど
列行文でエラー指摘されてチェックしても全然関係無さげでわからない時どこ見たらいいですか?。
やっぱり基本を熟知してる人は修正して当たり前な場所とかを理解できてなくてエラー起きてるんですよね。たぶん。。
詳細足りなさすぎるのは理解してるんですけど、ほんと憶測適当アドバイスでいいので教えて下さい。
236: (ワッチョイ cfb0-ufYE) 2022/10/05(水)22:24 ID:MbZCvQpZ0(1) AAS
>>220
それが理由だとしたらそもそも質問できる場が複数存在していて統一されていないことが悪いってことになる。
237(1): (ワッチョイ 632c-kE2G) 2022/10/05(水)23:32 ID:W5I+dJQy0(1) AAS
>>235
Duplicate keys! って、
データベースのUNIQUE インデックスまたは PRIMARY KEY に、
既に存在する同じキーで挿入しようとしたとか?
そのGithub のbot.py 内を「Duplicate」で検索しても、見当たらないけど?
どのファイルのソースコードなの?
238(1): (ワッチョイ 7f73-8eI1) 2022/10/06(木)01:46 ID:eDAszKmt0(1) AAS
>>237
bot.py実行後に、~\Programs\Python\Python38-32\Lib\site-packages\toml
内のpython38-32のdecoder.pyからエラーが出てます。
powershellを使いました。 ほぼ素人ですみません。
239: (ワッチョイ d308-V07+) 2022/10/06(木)02:48 ID:2LM4DEsy0(1) AAS
コードじゃなくて食わせるデータがおかしいんでないの
240: (ワッチョイ c32c-Kmz1) 2022/10/06(木)03:52 ID:mL002h1/0(1) AAS
>>238
python入門おめでとう!
241(1): (ワッチョイ 632c-LIzE) 2022/10/07(金)05:27 ID:TBR3DhbF0(1) AAS
「python toml decoder duplicate keys」で検索!
TOML ファイルの形式になっていないとか?
ファイルがBOM付きUTF-8 になっているとか?
Python は、BOMなしUTF-8 じゃないの?
外部リンク[py]:git.cardiff.ac.uk
このファイルの781, 783 行目に、raise ValueError("Duplicate keys!") がある
242(1): (ワッチョイ 7f73-8eI1) 2022/10/07(金)07:11 ID:0vlnX2v40(1) AAS
>>241
UTF-8になってました。
ValueError: Duplicate keys!とTomlDecodeError: Duplicate keys!が出ていますが
デコードが実行された結果キー重複が起こっているのを知らせただけで、原因はやはりbot.pyの中にあるのでしょうか?
243: (ワッチョイ 435f-1XEd) 2022/10/07(金)09:55 ID:BuUd5Oey0(1) AAS
>>242
tomlでエラー出てるなら
bot.pyで
config = toml.load(open("config.toml"))
っていう記述あるけど、config.tomlの中身がおかしいんじゃない?
244: (ワッチョイ ff79-pIDl) 2022/10/07(金)13:38 ID:6W+GCvSh0(1) AAS
Traceback (most recent call last):
File "test.py", line 31, in <module>
func1()
File "test.py", line 28, in func1
func2()
File "test.py", line 30, in func2
raise Exception("hogehogeException")
Exception: hogehogeException
こういうファイル名や行数とか出てないの?
245: (ワッチョイ ff14-51cu) 2022/10/07(金)19:08 ID:Z2W6Vqfk0(1) AAS
pyautogui素晴らしい最初に知りたかった
246: (ワッチョイ 6f66-58Gi) 2022/10/07(金)20:11 ID:f7Qxxz6p0(1) AAS
ぴゃうとぐい
247: 241 (ワッチョイ c34f-LIzE) 2022/10/07(金)23:54 ID:cLCpsl3k0(1) AAS
TOML のValidator で、TOMLファイルの形式が正しいかどうか、チェックすれば?
「toml validator online」で検索!
プログラマーなら、VSCode で、〜/toml/decoder.py をデバッグするとか、
decoder.pyを差し替えて、
raise ValueError("Duplicate keys!") の前後で、ログ出力してみるとか
248: (ワッチョイ 0666-37Vs) 2022/10/08(土)07:10 ID:kX9hT5zA0(1/2) AAS
PyAutoGuiも便利だけど何でもできるかというとかなり限定的
画面がこういう状態になったらこの条件に合う部分を探して、
この範囲をコピーしてこのアプリに切り替えてコピペ
みたいなことはできない
249: (ワッチョイ de10-QDWw) 2022/10/08(土)07:26 ID:Qqe7/SLY0(1) AAS
ディスプレイを切ったら動かないのも使いづらい
250(1): (アウアウウー Sa2f-mRh5) 2022/10/08(土)11:25 ID:TDMvIP2Ta(1) AAS
ライブラリ関数の情報を調査する方法についての質問です
sagemathというpython wrapperにあるpolygon3dという関数がどういうキーワード引数を持っているのか調べたいのです
ググるとinspect.signature関数というのが見つかります
コレでpolygon3dを調べてみると
signature = inspect.signature(polygon3d)
print(signature.parameters)
OrderedDict([('points', <Parameter "points">), ('options', <Parameter "**options">)])
と出ます
おそらく位置引数'points'とキーワード引数がいくらかあるという意味だと思うのですがやはりコレが限界なんでしょうか?
どんな名前のキーワード引数を持ってるかの一覧表を出力するような方法はないもんなんでしょうか?
251(1): (ワッチョイ de10-XciQ) 2022/10/08(土)12:37 ID:ymJkU01o0(1) AAS
>>250
オープンソースなんだからGitHubに見に行けばいいじゃん
252(1): (アウアウウー Sa2f-mRh5) 2022/10/08(土)14:49 ID:hw6LN7oLa(1) AAS
>>251
そうなんです
実際sagemathは割とドキュメントもしっかりしててググれば一覧とかもあります
でもいちいちめんどくさいじゃないですか
もしかしたら各オプジェクトで利用可能なキーワード引数のリストを得る方法とか容易されてたら便利でいいなぁと
結構ググったのでなさそうではあるんですけど、調べて「あった」場合はともかく「ないなぁ」の場合、やはり最終的には強者に聞いてみないとダメかなと
253: (ワッチョイ 4aa5-gAv1) 2022/10/08(土)15:06 ID:lWG3uN0c0(1) AAS
ドキュメントをぶっこ抜いてその関数がどんな引数とるかのポップアップをエディタで出せばいい
254: (ワッチョイ ca14-0xn2) 2022/10/08(土)15:13 ID:bWQzA1rj0(1/3) AAS
pyautogui
エラー出さずにできましたが最適ではない気がします
下記のやり方より良い方法があれば教えて欲しいです
①
pyautogui.write() でエクスプローラーのアドレスにパスを打ち込む時
日本語や \ が入力できなかったり、最初の C: が C* に勝手に変わったりしました
・pyperclip を使って値をコピーしてから、pyautogui.hotkeyで貼り付けました
②
pyautoguiを使って検索したりクリックしたりする時
・画像認識してから次の処理する時は、while pyautogui.locateOnScreen() is None: で time.sleep(1) させて
省2
255: (ワッチョイ ca14-0xn2) 2022/10/08(土)15:27 ID:bWQzA1rj0(2/3) AAS
pyautogui 便利だけどマウスとモニターが使用不可になるのだけは面倒でした
下のソフトの処理ができるなら別のもので構わないのですが、pyautogui以外でやってる人がいたら教えてください
・Adobe Acrobat
・Evernote ※Legacy版
・ソシャゲ全般(デイリー回収用)
256: (ワッチョイ 0666-37Vs) 2022/10/08(土)15:49 ID:kX9hT5zA0(2/2) AAS
ahkで簡単なことはやらせてる
python化されたahkがあればいいのにと思っている
257: (ワッチョイ b301-3XK+) 2022/10/08(土)15:57 ID:IpF+MZYD0(1) AAS
ahkって何?
258(1): (ワンミングク MM3a-TLx9) 2022/10/08(土)16:00 ID:xEoQJfh1M(1) AAS
sleepが面倒なら画像名を指定するだけで待ち&クリックする関数を作れば良いんでない
バックグラウンドでの使用は、昔VPCを多重起動して使ってたことあるけど今でも出来るんかな
昔、某MMOでプロセスメモリの内容を読み取って動くマクロとか作ったけど
プロセスメモリが読めればエスパーなマクロが作れるよ
259: (ワッチョイ ca14-0xn2) 2022/10/08(土)20:40 ID:bWQzA1rj0(3/3) AAS
>>258
それでやってみます
ゲームに使えるならプロセスメモリもその内手を出しそうです
260: (ワッチョイ 034f-6jYr) 2022/10/09(日)00:21 ID:t9JKJStV0(1/2) AAS
>>252
VSCode, Ruby では拡張機能で、関数の説明なども見れる
また端末から、そういうコマンドを実行しても見れるけど、
ブラウザで見た方が見やすいので、
一旦コマンドで説明をHTML ファイルにしてから、それをブラウザで見て、
見た後に、HTMLファイルを削除する。
これが自動で行われる
ただし、その関数・モジュールの作者が、
Doc コメントみたいな決められた様式で、コメントを書いている場合のみ
たいてい、Doc コメントの説明などは、
省1
261(1): (ワッチョイ ca14-0xn2) 2022/10/09(日)04:21 ID:L81MTKQk0(1/3) AAS
クリップボードにpathlibのPathで指定した、不特定多数のファイルをコピーをしたいのですが方法が分かりません
コピーするファイルは、フォルダー・テキスト・画像・動画・PDF関係なく、PC上で選択してCtrl+Cできるファイル全てが対象です
pyautogui.hotkey(“Ctrl”,”v“) を使って貼り付ける予定です。※Evernote Legacyというメモアプリ上で使いたい
pyperclip、shutil、pillow関連の記事は見つかるのですが、クリップボードに複数・拡張子問わずコピーする方法が見つかりません
どうすればできるのか教えてください
262: (ワッチョイ ca14-0xn2) 2022/10/09(日)04:59 ID:L81MTKQk0(2/3) AAS
今のところPathにあるファイル名いじって、検索かけてから全選択して、pyautogui.hotkeyでコピーするという遠回りなやり方でしてみました
263(1): (ワンミングク MM3a-TLx9) 2022/10/09(日)11:51 ID:xdRBYpSIM(1) AAS
FileDrop形式に変換できれば良いんだろうけどパッと検索してみた限り難しそうだね
VSを使ってクリップボードを監視してファイル名が含まれていたらFileDrop形式に変換するアプリを自作するか
コピー用のtempフォルダにファイルを一旦コピーしてから全選択→貼り付けとかでも良さそう
264: (ワッチョイ ca14-0xn2) 2022/10/09(日)16:29 ID:L81MTKQk0(3/3) AAS
>>263
FileDrop形式という単語を知れただけでも良かったです。ありがとうございます
265(1): (ワッチョイ cb63-rqSc) 2022/10/09(日)20:19 ID:nf8IBTFd0(1/2) AAS
chm形式のヘルプが3.7までしか野良に無いんだけど、3.10(stable)のchmどこかに無い?
公式はDLしたいけど404でオンラインでしか参照できなくて困ってる
266(1): (ワッチョイ de63-KmYx) 2022/10/09(日)20:45 ID:Ozrjh9EB0(1) AAS
>>265
公式にpython3107.chmあるし、落ちてくるよ
267: (ワッチョイ cb63-rqSc) 2022/10/09(日)20:53 ID:nf8IBTFd0(2/2) AAS
>>266
すまん、日本語版希望。。。
githubに3.7jpビルドしてる人の使ってる
268: (ワッチョイ 034f-iygP) 2022/10/09(日)23:28 ID:t9JKJStV0(2/2) AAS
>>261
漏れは、Ruby で、drag&drop での複数ファイルの移動処理を作ったけど、
これはファイルのみに適用される。
フォルダの再帰的コピーも出来るみたい
require 'fileutils'
dest_dir = "C:/Users/Owner/Documents/tmp/"
# ARGV は、ドロップした複数のファイルパスの配列
ARGV.select { |full_path| File.file?( full_path ) } # ファイルのみ
.each do |full_path|
file_name = File.basename( full_path ) # ファイル名のみ
省3
269: (ワッチョイ 9eda-y5q7) 2022/10/11(火)09:09 ID:L++CLq2X0(1/2) AAS
すみません、jupyter labで下記のように記述して実行したんですが、エラーでサイトが開きません。原因わかる方いらっしゃいませんか?
url = ''外部リンク:telegram.org
browser.get(url)
エラー内容
NoSuchWindowException: Message: no such window: target window already closed from unknown error: web view not found
browser.getをdriver.getに変えて試してもみましたがダメでした。
urlについてはサイトに飛べることをurlクリックで確認しました。
270(1): (ワッチョイ 5ebb-Ir1l) 2022/10/11(火)09:22 ID:S+x+TbIN0(1) AAS
エラーメッセージの内容を切り分けて質問しろよ
エラーの原因はすぐわかるだろ
web view not found
まぁ、こんな状態でスクレイピングとかアホかって感じだけど
271: (ワッチョイ 9eda-y5q7) 2022/10/11(火)09:43 ID:L++CLq2X0(2/2) AAS
>>270
回答どもでーす
272(1): (ワッチョイ 674f-eeYm) 2022/10/12(水)16:39 ID:+cq2T5fE0(1) AAS
python 3.10.8インストールしようとしたらエラー出る
こういうやつな
外部リンク:pullanswer.com
273(1): (ワッチョイ 9fda-3XK+) 2022/10/12(水)16:41 ID:Q9qje2Sc0(1) AAS
ご愁傷様
274(1): (ワッチョイ ca26-eeYm) 2022/10/13(木)13:50 ID:uklwGmra0(1) AAS
>>272だけど今試したら3.10.8インストール出来た
外部リンク:www.python.org のフォルダの属性設定を間違えてたらしい
よって>>273は昨日の時点ではインストールしてないとすぐに分かるんだね
275: (ワッチョイ 6b10-SUfT) 2022/10/13(木)18:02 ID:SD2zWMPC0(1/3) AAS
import pandas as pd
df = pd.DataFrame(
[[10,"a", True],
[20,"b", False],
[30,"c", False],
[40,"d", True]])
#というデータフレームを定義したとして、0列目、2列目を独立して処理したとします
#これを最終的に結合したいのですが、
a = pd.DataFrame(df.iloc[:,0],df.iloc[:,2])
# というようにすると
省17
276: (ワッチョイ 6717-0bkW) 2022/10/13(木)18:15 ID:rU12tc+I0(1/2) AAS
んちんちん
277(1): (ワッチョイ 6f02-TLx9) 2022/10/13(木)18:37 ID:1c9Wc9kf0(1/3) AAS
pandas詳しくないけど
a=df.iloc[[0,2]]で出来たお
278: (ワッチョイ 0666-37Vs) 2022/10/13(木)18:44 ID:7YLMS5Bz0(1) AAS
pandasはそれだけでスレ作ってもいいくらい複雑で深いな
279: (ワッチョイ de10-QDWw) 2022/10/13(木)19:07 ID:ZrA3PYH80(1/2) AAS
二重のforループ抜けるときフラグを使ってるんですけどもっとかっこいいやり方ありますか?
for i in range(10):
flag = False
for j in range(10):
if hoge[i][j] == fuga:
piyo()
flag = True
break
if flag:
break
280: (アウアウウー Sa2f-luLW) 2022/10/13(木)19:21 ID:glAi4q7Na(1) AAS
二重ループを使わない
281(2): (ワッチョイ de10-bGEg) 2022/10/13(木)19:23 ID:0KS7pmji0(1) AAS
for-else
for i in range(10):
__for j in range(10):
____if condition:
______break
__else:
____continue
__break
例外
try:
省7
282: (ワントンキン MM3a-TLx9) 2022/10/13(木)20:02 ID:PAZSTe6jM(1) AAS
検索ならin演算子を使って1ループに出来そう
for i in range(10):
if fuga in hoge[i]:
print("piyo")
break
他にはnumpyのany使うとか
def is_contain(l, data):
a = np.array(l)
return np.any(a==data)
283: (ワッチョイ 8a63-KmYx) 2022/10/13(木)20:03 ID:QL8so1O30(1) AAS
よほどのクリティカルなイシューが解決されたのでなければ
アップデートされたからと言って、慌てて入れないもんだよ
284: (ワッチョイ 6b10-SUfT) 2022/10/13(木)20:15 ID:SD2zWMPC0(2/3) AAS
>>277
一回それぞれ個別のSeries型を抽出してからくっつけたいんです。
285: (ワッチョイ 6b10-SUfT) 2022/10/13(木)20:24 ID:SD2zWMPC0(3/3) AAS
わかりました。Series型だと追加できないので一回一列だけのDataFrame型に変換すればいいみたいです。
a = pd.DataFrame(df.iloc[:,0])
そのあと、列追加で
a.loc[:,"new column"] = df.iloc[:,2]
とやれば追加できました。
286(1): (ワッチョイ 6f02-TLx9) 2022/10/13(木)20:32 ID:1c9Wc9kf0(2/3) AAS
こうかな
a = pd.DataFrame([df.iloc[0, :], df.iloc[2, :]])
print(a)
numpyになると[行, 列]になってややこしくなるのを思い出した
287: (ワッチョイ de10-QDWw) 2022/10/13(木)20:43 ID:ZrA3PYH80(2/2) AAS
>>281
breakしたらelse飛ばす挙動は知らなかったです
ありがとう
288: (ワッチョイ 6f02-TLx9) 2022/10/13(木)20:45 ID:1c9Wc9kf0(3/3) AAS
l = list()
l.append(df.iloc[0, :])
l.append(df.iloc[2, :])
a = pd.DataFrame(l)
print(a)
見やすくするならこうやね、勉強なるわ
289: (ワッチョイ 9fda-3XK+) 2022/10/13(木)21:15 ID:Tqa4ZL2z0(1) AAS
>>274
WSL2+Docker使ってるからな
実機には入れない
290: (ワッチョイ 8a01-761C) 2022/10/13(木)21:37 ID:vk/pladO0(1) AAS
>>281
その三択なら読みやすさ的に
関数にしてearly return一択だと思うんだけどなぁ
291: (ワッチョイ 6717-0bkW) 2022/10/13(木)23:54 ID:rU12tc+I0(2/2) AAS
んチンチンンンンンンン
292(1): (ワッチョイ 6b10-SUfT) 2022/10/14(金)01:29 ID:0UzEEAJh0(1/2) AAS
>>286
行・列逆
293: (ワントンキン MM3a-TLx9) 2022/10/14(金)05:44 ID:WQ3ra/reM(1) AAS
>>292
ごめん文盲やったわ
294(1): (ワッチョイ 6f02-TLx9) 2022/10/14(金)05:58 ID:CNXM2/Lz0(1) AAS
sr1 = df.iloc[:, 0]
sr2 = df.iloc[:, 2]
a = pd.DataFrame({"0" : sr1, "1": sr2})
print(a)
辞書型で登録
今度こそどや
295: (ワッチョイ 6b10-c2gf) 2022/10/14(金)23:30 ID:0UzEEAJh0(2/2) AAS
>>294
できました!辞書型なら列追加できるんすね
296: (ワッチョイ 0b10-spri) 2022/10/15(土)01:53 ID:gy4T8Zz60(1) AAS
df_merged = pd.concat([df.iloc[:, 0], df.iloc[:, 2]], axis=1)
297: (ワッチョイ ef66-MUdf) 2022/10/15(土)08:25 ID:w1fQiwU/0(1/5) AAS
iloc()じゃなくてiloc[]の時点で、何しとるのかよく判らん
298: (ワッチョイ 1f84-TyQf) 2022/10/15(土)10:37 ID:Awb5Gbls0(1) AAS
外部リンク[html]:pandas.pydata.org
ドキュメント嫁
299(5): (ワッチョイ 9f89-2yG4) 2022/10/15(土)14:09 ID:wUAlKc2l0(1/4) AAS
質問です。
配列内にアルファベットの要素がランダムに複数個入っています。
これらの要素をなるべく隣り合わないように並べ替えるにはどうするといいでしょうか?
例:AAABBC -> ABACAB
300(1): (ワッチョイ ef66-MUdf) 2022/10/15(土)14:14 ID:w1fQiwU/0(2/5) AAS
不可能なパターンがあるな
301(1): (テテンテンテン MM7f-w9bA) 2022/10/15(土)14:20 ID:1JUKlkYAM(1/2) AAS
>>299
なるべくっていう処理はコンピュータには不可能
きっちり仕様として示せる処理でなければならない
302(1): (ワッチョイ 5b08-1SGr) 2022/10/15(土)14:30 ID:ttRM3D3c0(1/4) AAS
>>299
隣合うのが不可避の場合どうするのか
前に溜めるのか後ろに溜めるのか
2文字ずつ並ぶ→3文字ずつ並ぶのように緩和するのか
303(1): (アウアウウー Sacf-gp7B) 2022/10/15(土)14:38 ID:PHpzEK3Ka(1) AAS
>>301
最短を目指すとかよくあると思うけど
304(1): (ワッチョイ 9f89-2yG4) 2022/10/15(土)14:45 ID:wUAlKc2l0(2/4) AAS
>>302
前後に貯めるのではなく、2文字ずつ並ぶ→3文字ずつ並ぶのように緩和できるようにしたいです。
例:AAAAAABBC -> AABAACABA
305(1): (ワッチョイ ef66-MUdf) 2022/10/15(土)14:49 ID:w1fQiwU/0(3/5) AAS
AABAACABA はNG箇所が2だけれど、
AAABACABA にすると1箇所で済む
2連続2箇所よりも3連続1箇所の方がスコアが低くなる評価関数の定義が必要
306(1): (ワッチョイ 0f10-cJ6U) 2022/10/15(土)14:49 ID:VXb7W7XW0(1/3) AAS
こういうパズル的なのはプログラミングお題スレで出題する方が早く回答が付きそうだな
307: (ワッチョイ 0f10-cJ6U) 2022/10/15(土)14:51 ID:VXb7W7XW0(2/3) AAS
>>305
n連続は1箇所につき2^n点のペナルティを課すとかは?
308(1): (テテンテンテン MM7f-w9bA) 2022/10/15(土)14:55 ID:1JUKlkYAM(2/2) AAS
>>306
いや、ていうかよく考えたらこの質問Python関係ないじゃんね
309: (ワッチョイ 9f89-2yG4) 2022/10/15(土)15:03 ID:wUAlKc2l0(3/4) AAS
>>308
すいません。
使っているのがpythonだったのでここで質問しました。
やはり難しいようなので、皆さんのコメントを参考に自力で考えてみようと思います。
ありがとうございました。
310(1): (ワッチョイ 5b08-1SGr) 2022/10/15(土)15:15 ID:ttRM3D3c0(2/4) AAS
>>304
26要素のリストで各文字の個数をカウント
最大のものを見つけ出す
最大/他全部で連続個数が分かる
最大の文字を連続個数並べて他の文字を順番に挟む
挟む時は各文字の文字数をつじつま合うようにリストをカウントダウンして調整
同じ文字は可能な限り離したいとか条件追加するともっと難しくなる
311(1): (ワッチョイ 0fbb-BCAW) 2022/10/15(土)15:17 ID:ubtsaD1N0(1/2) AAS
>>300
ちゃんと確認してないけど、交互に置けない場合が条件になるのかな?
不可能条件
最頻出文字数 > 文字総数/2
かな
312: (ワッチョイ 5b08-1SGr) 2022/10/15(土)15:17 ID:ttRM3D3c0(3/4) AAS
文字の挿入は総数がつじつま合うようにもっと工夫が必要だな
まあ頑張ってくれ
313: (ワッチョイ 0fbb-BCAW) 2022/10/15(土)15:18 ID:ubtsaD1N0(2/2) AAS
かぶった上に劣化だった><
314: (ワッチョイ 9f89-2yG4) 2022/10/15(土)15:33 ID:wUAlKc2l0(4/4) AAS
>>310
>>311
ありがとうございます。
試してみます。
315(1): (ワッチョイ 9f01-QrOW) 2022/10/15(土)15:53 ID:2u2iBEwS0(1/2) AAS
>>303
「なるべく」は結果についての話
最短は手順の話だから違うよね
316: (ワッチョイ ef66-MUdf) 2022/10/15(土)16:21 ID:w1fQiwU/0(4/5) AAS
ガチでなるべくなヒューリスティックな問題の方が現実には多い
317: (アウアウウー Sacf-gp7B) 2022/10/15(土)16:39 ID:ywjmScUEa(1) AAS
>>315
今回は結果の話しかないよな
318(1): (ワッチョイ bb02-003c) 2022/10/15(土)17:41 ID:Hv7z/9nw0(1/2) AAS
思いつきだけど
[合計文字数][26]の2次元配列を作る
各文字ごとに均等に配置
空白部分には空白なりNoneなり入れる
2次元配列を縦方向に連結して1次元配列にする
空白を除去する
ってのはどう?
aaabbc
[a,n,a,n,a,n]
[b,n,n,b,n,n]
省2
319: (ワッチョイ 5b08-1SGr) 2022/10/15(土)17:50 ID:ttRM3D3c0(4/4) AAS
>>318
合計じゃなくて最大個数の文字数でいいな
320(1): (ワッチョイ 9f14-Z7Nq) 2022/10/15(土)18:29 ID:a1geBJ2n0(1) AAS
for文の途中で条件に当てはまったら、for文の任意の値から処理を再開させる書き方とかありますか?
例えば「for x in range(10):」とあったとして、7の途中で条件に当てはまったら、3から再開してそのまま最後まで処理するみたいな
321: (ワッチョイ 0f10-cJ6U) 2022/10/15(土)18:32 ID:VXb7W7XW0(3/3) AAS
while使った方がいい
322: (ワッチョイ ef66-MUdf) 2022/10/15(土)18:48 ID:w1fQiwU/0(5/5) AAS
処理で条件が変わるような場合は、whileにしてもハマる
いつ終わるか判らないようなループは本質的に不安定
323: (ワッチョイ 9f90-JnlY) 2022/10/15(土)18:48 ID:i+M+Mx9R0(1) AAS
再帰でいいのでは?
324: (ワッチョイ 9f01-QrOW) 2022/10/15(土)18:52 ID:2u2iBEwS0(2/2) AAS
>>320
そういうジェネレータ作ってrangeと置き換えればいいんじゃね
325(2): (ワッチョイ 0f02-9zfq) 2022/10/15(土)19:03 ID:jl8SG5IY0(1/4) AAS
あんま綺麗じゃないけど、こんな感じでいいのか?
競プロの連中ならもっとスマートなの書いてくれるはず
text = "aaabbc"
char = "abcdefghijklmnopqrstuvwxyz"
char_dict = []
for c in char:
____count = 0
____for t in text:
________if c == t:
____________count += 1
省18
326: (ワッチョイ 0f02-9zfq) 2022/10/15(土)19:10 ID:jl8SG5IY0(2/4) AAS
よく見たら、聞くまでもなくダメなやつだなすまん
327(1): (ブーイモ MMbf-g1uO) 2022/10/15(土)19:57 ID:icx3tYx0M(1) AAS
>>325
とりあえずcollectionsのCounterだけは覚えようか
上下前次1-新書関写板覧索設栞歴
あと 675 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.040s