与えられたパスワードがPythonで基準を満たしているかどうかをチェックするプログラム
パスワードを表す文字列sがあるとすると、パスワードの基準を確認する必要があります。従わなければならないルールはほとんどありません-
- パスワードの長さは8文字以上、20文字以下です。
- パスワードには少なくとも1桁の数字が含まれています
- パスワードには、少なくとも1つの小文字と1つの大文字が含まれています
- パスワードには、! "#$%&\'()* +、-./ :; <=>?@ [\\] ^ _` {|}〜 のような特殊文字が少なくとも1つ含まれています
- パスワードには、タブや新しい行などの他の文字は含まれていません。
したがって、入力が「@ bCd12#4」のような場合、出力はTrueになります。
これを解決するには、次の手順に従います-
- a:=0、b:=0、c:=0、d:=0
- パスワードのサイズが8未満またはパスワードのサイズが20を超える場合、
- Falseを返す
- パスワードの各文字iについて、
- iが大文字の場合、
- a:=a + 1
- それ以外の場合、iが小文字の場合、
- b:=b + 1
- それ以外の場合、これらの特殊文字のセット'"!"#^ modAND \'()* +、-./ :; <=>?@ [\\] XOR_` {OR}〜 "'の場合、
- c:=c + 1
- それ以外の場合、iが数字の場合、
- d:=d + 1
- iが大文字の場合、
- a>=1かつb>=1かつc>=1かつd>=1かつa+b + c + dがパスワードのサイズと同じである場合、
- Trueを返す
- それ以外の場合、
- Falseを返す
理解を深めるために、次の実装を見てみましょう-
例
class Solution:
def solve(self, password):
a=0
b=0
c=0
d=0
if len(password)<8 or len(password)>20:
return False
for i in password:
if i.isupper():
a+=1
elif i.islower():
b+=1
elif i in '"!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~"':
c+=1
elif i.isdigit():
d+=1
if a>=1 and b>=1 and c>=1 and d>=1 and
a+b+c+d==len(password):
return True
else:
return False
s = "@bCd12#4"
ob = Solution()
print(ob.solve(s)) 入力
"@bCd12#4"
出力
True
-
与えられたグラフがPythonで2部グラフであるかどうかをチェックするプログラム
無向グラフが1つあるとすると、グラフが2部グラフであるかどうかを確認する必要があります。グラフのすべてのエッジ{u、v}がAに1つのノードuを持ち、Bに別のノードvを持つように、グラフのノードを2つのセットAとBに分割できる場合、グラフは2部グラフであることがわかります。 したがって、入力が次のような場合 次に、出力はTrueになり、[0,4]はセットAにあり、[1,2,3]はセットBにあり、すべてのエッジはAからAまたはBからBではなく、AからBまたはBからAになります。 。 これを解決するために、次の手順に従います- 関数dfs()を定義します。これはソースを取ります
-
指定された文字列がキーワードであるかどうかを確認するPythonプログラム
この記事では、以下に示す問題ステートメントの解決策について学習します。 問題の説明 −数値が与えられているので、その数値が2の累乗であるかどうかを確認する必要があります。 キーワードは、特定の用途で任意の言語によって予約されている特別な単語であり、識別子として使用することはできません。 指定された文字列がキーワードであるかどうかを確認するために、以下で説明するようにキーワードモジュールを使用しました。 例 # keyword module import keyword # Function def isKeyword(word) : # list of all