コードの100日:2022年の完全なパイソンプロブートキャンプ-日8

7254 ワード

演習1 -ペイントエリア計算機


-この行の下にコードを書きます👇
インポート数学
def paintcalc(高さ、幅、カバー):
( NumSum ofther缶= (高さ*幅)/カバー
丸太棒は、数学=数学.セイル
印刷してください.
-コードをこの行の上に書きます👆
-以下のコードが動作するように、PaintRank Calc ()という関数を定義します.
-🚨 以下のコードを変更しないでください👇
TECHANCER H = INT ( input (「高さの壁」)
TestCount w = int (入力( Wall of Wall )))
カバレッジ= 5
PaintRadia Calc (高さ= TestRenh , width = TestCunw , Cover =カバレッジ)

演習2 -素数チェッカー


-この行の下にコードを書きます👇
def primeound checkker ( number ):
プライム=真
範囲( 2 ,番号)のiについて:
を返します.
プライム= false
を返します.
印刷します
その他
印刷(「素数ではない」)
-コードをこの行の上に書きます👆
-以下のコードを変更しないでください👇
n = int (入力(この番号をチェックする)
PrimeRoundチェッカー( number = n )

プロジェクトシーザー暗号パート1 -暗号化


アルファベット
方向=入力(暗号化するために「タイプ」エンコードし、復号化するために復号化をタイプします:\n ")
text = input ("type type message :\n ").lower ()
shift = int ( input ("shift number :\n "型)
-- todo - 1 ' text 'と' shift 'を入力とする' Encrypt 'という関数を作成する.
def encrypt (プレーンテキスト、シフトキー量)
TODO - 2 : ' Encrypt '関数の内部で、シフト量でアルファベット順に' text 'の各文字をシフトし、暗号化されたテキストを出力します.
例えば.
--プレーンテキスト= "こんにちは"
-- shift = 5
--暗号化テキスト= "MJQQT "
--出力を出力します.
暗号文
平文の手紙について
位置=アルファベット.索引をつける
ニューロ位置=位置+シフトノブ量
アルファベット=アルファベット
暗号文+ニューレター
印刷( F "符号化されたテキストは{ ciphernal text }です).
-- todo - 3 :暗号関数を呼び出し、ユーザ入力を渡す.コードをテストし、メッセージを暗号化することができます.
暗号化(プレーンテキスト=テキスト、シフトキー量=シフト)
 --HINT: How do you get the index of an item in a list:
-https://stackoverflow.com/questions/176918/finding-the-index-of-an-item-in-a-list

--🐛Bug alert: What happens if you try to encode the word 'civilization'?🐛
- indexError : list index - out - of - shift - cant文字が使用されているときに移動を移動します.おそらくシフトampuntに応じてアルファベットの最後に文字のために同じです.回避策はアルファ数、リストに番号0 - 10を追加します.
別のオプションは、リストのアルファベットをコピーすることです- Zと貼り付けのようにAlplhabetリストに2つのX - Zがあります.

シーザー暗号パート2


alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
方向=入力(暗号化するために「タイプ」エンコードし、復号化するために復号化をタイプします:\n ")
text = input ("type type message :\n ").lower ()
shift = int ( input ("shift number :\n "型)
def encrypt (プレーンテキスト、シフトキー量)
暗号文
平文の手紙について
位置=アルファベット.索引をつける
ニューロ位置=位置+シフトノブ量
暗号文+アルファベット
印刷( F "符号化されたテキストは{ ciphernal text }です).
-- todo - 1 : ' text 'と' shift 'を入力とする' decrypt 'という異なる関数を作成する.
def decrypt ( cipherount text , shift tword ) :
プレーンテキスト=
暗号文の文字について:
位置=アルファベット.索引をつける
OldCount位置=位置
直近のテキスト+アルファベット[ oldrest position ]
印刷( F "デコードされたテキストは{プレーンテキスト}"です.
TODO - 2 : ' decrypt '関数の内部では、アルファベットの' text 'の各文字をシフト量でシフトし、復号されたテキストを印字します.
例えば.
--暗号化テキスト= "MJQQT "
-- shift = 5
--プレーンテキスト= "こんにちは"
--出力を出力"
-- TOO - 3 :ユーザが「方向」変数をチェックすることによってメッセージを暗号化するか、または解読したいかどうかチェックする.次に、' Drection '変数に基づいて正しい関数を呼び出します.メッセージを暗号化して解読するコードをテストすることができます.
方向== "encode "
暗号化(プレーンテキスト=テキスト、シフトキー量=シフト)
その他
復号化(暗号文=テキスト、シフトキー量=シフト)

シーザー暗号パート3


alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
方向=入力(暗号化するために「タイプ」エンコードし、復号化するために復号化をタイプします:\n ")
text = input ("type type message :\n ").lower ()
shift = int ( input ("shift number :\n "型)
-- todo - 1 : crypt ()およびdecrypt ()関数をcaesar ()という単一の関数に組み込みます.
デフ・シーザー( startkg text , shift tof , cipherchen direction )
テキスト", "
を返します.
シグラグ量
テキストの場合は
位置=アルファベット.索引をつける
ニューロ位置=位置+シフトノブ量
テキスト+アルファベット[ニューロ位置]
印刷( F "ここでは方向Dの結果です:{ endnal text }"
シーザー(StartHighテキスト=テキスト、シッショー量=シフト、暗号文の方向=方向)
-- todo - 2関数を呼び出します.

シーザー暗号パート4 -ユーザーExp


alphabet = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
デフ・シーザー( startkg text , shift tof , cipherchen direction )
テキスト", "
を返します.
シグラグ量
テキストにおけるcharについては、
を返します.
位置=アルファベット.インデックス( char )
ニューロ位置=位置+シフトノブ量
テキスト+アルファベット[ニューロ位置]
その他
テキスト+ =チャー
--TODO-3: What happens if the user enters a 
number/symbol/space?
--Can you fix the code to keep the number/symbol/space when 
the text is encoded/decoded?
--e.g. start_text = "meet me at 3"
--end_text = "•••• •• •• 3"
印刷( F "ここでは"C "s "の結果:{ endnal text }"
TODO - 1 :アートからロゴをインポートして印刷する.プログラムが起動するとPy.
芸術輸入ロゴから
印刷する
TODO - 4 :暗号化プログラムを再起動したい場合にユーザに尋ねる方法を理解できますか?
--もう一度行きたいならば、例えば「はい」と入力してください.それ以外の場合は' no 'を入力します.
もし' yes 'を入力した場合は、方向/テキスト/シフトを再度尋ねて、もう一度CASAR ()関数を呼び出します.
ヒント:ユーザが' yes 'を入力した場合、プログラムを実行し続けるwhileループを作成してください.
continue = true
を返します.
方向=入力(暗号化するためにタイプするコード化)、タイプ
復号化:\n "
text = input ("type type message :\n ").lower ()
shift = int ( input ("shift number :\n "型)
-- todo - 2 :ユーザがシフトより大きい場合には
アルファベットの文字の数?
--プログラムを実行し、シフト番号を45に入力します.
--プログラムが動作し続けるようなコードを追加する
ユーザは26より大きいシフト数を入力する.
ヒント:モジュラス(%)の使い方について考えてください.
shift = shift % 26
シーザー(StartHighテキスト=テキスト、Shiftlag量=シフト)
暗号方向=方向
結果= input (' yes 'をもう一度入力したい場合はtype 'を入力します.
を返します.
継続する
印刷する