[過去ログ]
Pythonのお勉強 Part67 (1002レス)
Pythonのお勉強 Part67 http://mevius.5ch.net/test/read.cgi/tech/1653540315/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
85: デフォルトの名無しさん (ワッチョイ 4101-y+by) [sage] 2022/05/30(月) 19:04:54.87 ID:p2Xa6iEo0 #背景:歌詞データベースがGoogleに歌詞データを抜かれていると思い、英語の2種類のアポストロフイ(’‘)を駆使してモールス信号で歌詞内に # REDHANDED(現行犯)とコーディングした珍事件。ちなみにgoogle は裁判で負けてるはず。 # https://japan.cnet.com/article/35138686/ #これを再現したい。 #モールス信号(REDHANDED)のトン、ツーを二つのアポストロフィで置換 morse = '.-..-.......--.-...-..'.replace(".", "’").replace("-", "‘") #歌詞文字列(シナトラの「あなたはしっかり私のもの」を100回リピート) lyrics = """ I've got you under my skin I've got you deep in the heart of me """ * 100 new_lyric = "" #モールス信号のプレースホルダ place = 0 for letter in lyrics: if letter == "'": letter = morse[place] place += 1 if place >= len(morse) -1: place = 0 new_lyric += letter #もっとPythonぽくしたいですね。。。 http://mevius.5ch.net/test/read.cgi/tech/1653540315/85
89: デフォルトの名無しさん (ワッチョイ d9f6-2OYr) [] 2022/05/31(火) 10:29:06.88 ID:aYJaA5wp0 >>85 place = (place + 1) % len(morse) で後の if は不要 http://mevius.5ch.net/test/read.cgi/tech/1653540315/89
100: デフォルトの名無しさん (スプッッ Sda3-uBVS) [sage] 2022/06/01(水) 14:30:22.92 ID:/wnAbUvUd >>85 from itertools import chain #(略) ar_lyrics = lyrics.split("'") morse *= (len(ar_lyrics) + len(morse)) // len(morse) new_lyric = ''.join(chain(*zip(ar_lyrics, morse))) メモリ使用効率や速度等ちょっとマシなはず http://mevius.5ch.net/test/read.cgi/tech/1653540315/100
101: デフォルトの名無しさん (アウアウウー Sac5-2OYr) [sage] 2022/06/01(水) 15:09:03.38 ID:M4Zk1qxga >>85 p = 0 new_lyric = ctypes.create_unicode_buffer(lyrics) for n in range(len(new_lyric)): if new_lyric[n] == "'": new_lyric[n] = morse[p] p = (p + 1) % len(morse) print(new_lyric.value) http://mevius.5ch.net/test/read.cgi/tech/1653540315/101
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.044s