Python 第4回の宿題:プログラミング問題 検証コード比較 大文字小文字変換 指定文字検索 Caesar暗号化機密ワードフィルタ文字列置換 ID番号処理

【Python】第4回宿題:プログラム設計問題、検証コード比較、大文字小文字変換、指定文字検索、Caesar暗号化機密語、フィルタ文字列、ID番号置換処理

1. 検証コードの検証
トピック: ユーザーは、Web サイトにログインするために、大文字、小文字、数字を含む検証コードの入力が必要になることが多く、ランダムに表示されます。ユーザーが検証コードを入力するときは、大文字と小文字は区別されません。文字が正しい順序で表示されていれば、検証に合格できます。
現在表示されている認証コードが「Qs2X」であるとして、認証コードの一致検証を完了するプログラムを作成してください。
ユーザーが入力した認証コードが正しい場合は「認証コードが正しいです」を出力し、入力が間違っている場合は「認証コードエラーです。再入力してください」を出力します。

str1='Qs2X'
str2=input()
if str1. lower()==str2. lower():
print('確認コードが正しいです')
else:
print('確認コードが間違っています。再入力してください' )

2. 大文字と小文字の変換に関する
トピック:プログラムを作成し、ユーザーが文字列を入力し、すべての小文字を大文字に変換し、すべての大文字を小文字に変換し、他の文字を変更せずに出力します。
: string.ascii_ lowercase を使用すると、すべての小文字を返すことができます。 string.ascii_uppercase を使用すると、すべての大文字を返すことができます。

import string
str1 = input()
for i in str1:
i が string.ascii_ lowercase の場合:
print(i.upper(),end='')
elif i in string.ascii_uppercase:
print(i. lower(),end=' ')
その他:
print(i,end='')

3. 指定
文字トピック: ユーザーが指定した文字列から指定文字を検索するプログラムを作成します
入力形式
の最初に入力された行が検索対象文字です
2行目は、次で終了する空ではない文字列です。キャリッジリターン。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬ ‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬出力形式は、
文字列内の文字に対応する最大の添字を「インデックス = 添字」の形式で 1 ​​行に出力します (添字は 0 から始まります)。見つからない場合は、「見つかりません」を出力します
‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬ ‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

m=input()
s=input()
flag=1
for i in range(len(s)-1,-1,-1):
if s[i]==m:
print(“index = %d”% i)
flag=0フラグの場合は
中断します
:
print(“Not Found”)

4. シーザー暗号
トピック: 暗号化において、シーザー暗号は最も単純で最もよく知られた暗号化技術です。これは置換暗号化の手法であり、平文内のすべての文字がアルファベットの固定数値だけ後方 (または前方) にオフセットされ、暗号文に置き換えられます。たとえば、オフセットが 3 の場合、すべての文字 A は D に、B は E に置き換えられます。この暗号化方式は、将軍との通信に暗号化方式を使用したシーザーにちなんで名付けられました。Caesar 暗号化を実装するプログラム。平文とオフセットがユーザーによって入力され、暗号文が出力されます。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬ ‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬

s = input()
slst = list(s)
n = int(input())
N=n%26
qaq = 'abcdefghijklmnopqrstuvwxyz'
qaq1 = qaq + qaq[0:N+1]
pap = qaq1.upper()
for i range(len(slst)):
if slst[i] in qaq:
for q in range(len(qaq)):
if qaq[q] == slst[i]:
slst[i] = qaq1[q+N ] pap で elif slst[i]
をブレークします: for p in range(len(pap)): if pap[p] == slst[i]: slst[i] = pap[p+N]ブレークelse: pass s = ''.join(slst) print(s)








5. 機密単語のフィルタリング
トピック: 基本的にすべての Web サイトは機密単語のフィルタリングを設定し、機密単語のリストに一致する文字列を検索し、見つかった場合は * に置き換えて、最後に置換された文字列を取得するようにプログラムする必要があります。
センシティブな単語のリストが次の単語で構成されていると仮定します:ゴミ、罠、恥知らず、インサイダー、ホットチキン。

Words = ('garbage','trap','shameless','insider','spicy Chicken')
text = input()
単語内の単語の場合:
テキスト内の単語の場合:
text = text.replace(word, '* ' )
print(テキスト)

6. 文字列の置換
質問: 文書を編集するときに、頻繁に出現し入力が難しい文字列については、入力の代わりに特別な短い文字列を使用し、文書が完成したときに元に戻すことができます。
たとえば、「武漢理工大学」と入力する場合、代わりに「whut」を使用することができ、この置換はプログラミングによって完了します。

str1=input()
str2=input
() a=input()
b=a.replace(str1,str2)
print(b)

7. ID カード番号の処理
トピック: 18 桁の ID カード番号: 7、8、9、10 桁目は誕生年 (4 桁)、1​​1 桁目と 12 桁目は誕生月、13 桁目と14桁目は生年月日、
17桁目は性別を表し、奇数が男性、偶数が女性となります。
ユーザーは法的な ID 番号を入力し、ユーザーの生年月日、年齢、性別を出力してください。(入力の正当性を検証する必要はありません)
まず、以下のこの質問に関する特別な指示を確認してください。

インポート日時
ID=input()

年=ID[6:10]
月=ID[10:12]
日=ID[12:14]

a=datetime.datetime.now().year
age=a-int(year)

if ID[16] in ['1','3','5','7','9']:
ジェンダー='あなたの性別は男性です'
else:
ジェンダー='あなたの性別は女性です'

print("あなたは、{}年{}月{}生まれです。".format(年、月、日))
print("あなたは今年、{}です。".format(年齢))
print(性別)

おすすめ

転載: blog.csdn.net/zhangyouguang/article/details/105183743