PythonでVigenere暗号を使用して文字列を暗号化するプログラム
小文字のアルファベット文字列テキストがあり、keyと呼ばれる別の文字列があるとします。 text[i]のすべての文字がオフセットキー[i]で右側に移動する新しい文字列を見つける必要があります。ここでは、アルファベットのkey [i]の位置で表されるオフセット(A =0、B =1など)。文字がオーバーフローすると、反対側に巻き付けられます。
したがって、入力がtext ="code"、key ="team"の場合、出力は "vsdq"
になります。これを解決するには、次の手順に従います-
- cip:=新しいリスト
- start:='a'のASCII
- テキストからのlとキーからのkごとに、
- shift:=(kのASCII)-開始
- pos:=start +((ASCII of l)-start + shift)mod 26
- cipの最後にposの文字を挿入
- cipの文字列を結合してreturn
理解を深めるために、次の実装を見てみましょう-
例
class Solution: def solve(self, text, key): cip = [] start = ord('a') for l, k in zip(text, key): shift = ord(k) - start pos = start + (ord(l) - start + shift) % 26 cip.append(chr(pos)) return ''.join([l for l in cip]) ob = Solution() text = "code" key = "team" print(ob.solve(text, key))
入力
"code", "team"
出力
vsdq
-
%を使用したPythonでの文字列フォーマット?
Pythonでは、文字列は-などのさまざまなメソッドを使用してフォーマットできます。 %の使用 {}の使用 テンプレート文字列の使用 そして、このセクションでは「%」文字列フォーマットオプションについて説明します。 文字列のフォーマットには2つの種類があります- 文字列フォーマット式:Cタイプのprintfに基づく 文字列フォーマットメソッドの呼び出し:このオプションは、Python2.6以降で使用できます。 %を使用したフォーマットは、Cタイプのprintfに由来し、次のタイプをサポートします 整数-%d フロート-%f 文字列-%s 16進数-%x 8進数-%o
-
指定された文字列のsetを使用して母音の数をカウントするPythonプログラム
このプログラムでは、ユーザー入力文字列を指定します。この文字列の母音の数を数える必要があります。ここでは、Pythonでsetを使用します。 Setは、反復可能、変更可能で、重複する要素がない、順序付けされていないコレクションデータ型です。 例 Input str1=pythonprogram Output 3 アルゴリズム Step 1: first we use one counter variable which is used to count the vowels in the string. Step 2: creating a set of vowels. Step 3: the