[過去ログ] Pythonのお勉強 Part67 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
188: デフォルトの名無しさん (ワッチョイ 6d01-n+i2) [sage] 2022/06/06(月) 21:04:54.69 ID:OVrZnyn60(1/2) AAS
敢えてリスト内包で書いてみる

#ABCDEFGHIJKLMNOPQRSTUVWXYZ
#HOGEFIJKLMNPQRSTUVWXYZABCD

#上みたいにキーワードHOGEをもとにアルファベットを置換する暗号を作りたい
#まず暗号表の一番最初にHOGEと記載し、残りはHOGEの最後のEから続く形で
#FGHIとアルファベット通りに暗号表を埋め、Zに到達したらアルファベットの
#最初から埋める(ABCD...)。重複に注意したい。

import string
alphabets = list(string.ascii_uppercase)
key_string = list("HOGE")
cypher = []

cypher = key_string + [i for i
in alphabets
#リスト内包でキーワードの最後の文字Eの後にあり、
if alphabets.index(i) > alphabets.index(key_string[-1])
#かつキーワードに含まれていない文字のリストを作成
and i not in key_string]
#残りのアルファベットで後半を埋める
cypher += [i for i in alphabets if i not in cypher]

改行しても読みにくいですね。。。
193: デフォルトの名無しさん (ワッチョイ 6d01-n+i2) [sage] 2022/06/06(月) 22:33:35.11 ID:OVrZnyn60(2/2) AAS
>>192
192(2): デフォルトの名無しさん (ワッチョイ 8646-fRoS) [sage] 2022/06/06(月) 21:57:34.54 ID:v7exk6pA0(3/3) AAS
i = alphabets.index(key_string[-1])
alphabets = alphabets[i:] + alphabets[:i]
cypher = key_string + [c for c in alphabets if c not in key_string]
すごいスマートです
どれも勉強になりますm(_ _)m
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.040s