2017-03-25 26 views
-1

パスワードを文字列として取得し、強度を2つの要素でチェックするプログラムを構築しています。入力された文字列に特殊文字(%、$、#など)が含まれているかどうかを確認したいのですが、今のところ私はそれを理解できませんでした。そうする最善の方法は何ですか?文字列に特殊文字が含まれているかどうかを確認するにはどうすればよいですか?

編集:特定の文字を検索しません。私はそれが非文字、非桁の文字のいくつかの種類を持っているかを見つけるために文字列を検索する必要があります。

編集2:ループなしでやりたいです。

答えて

-2

あなたは特殊な文字をチェックするために彼をforループに入れなければならないでしょう。私はそれらをすべて入れてからそれをテストする必要があると思いますが、これは必要な基本コードです!印刷ビットを何か他のものに置き換えてください!

password = "VerySecurePassw0rd" 
if "%" in password: 
    print("Your Password has a special character in it!") 

if "%" not in password: 
    print ("Your Password does not have a special character in it!") 

EDIT:

それとも、私はあなたが「のelif」を使用することができますがわからないループを使用しない

上で「他に」使用することができますが、それは非常に効率的ではありません

password = "VerySecurePassw0rd" 

if "%" in password: 
    print ("Your Password has a special character in it!") 
elif "$" in password: 
    print("Your Password has a special character in it!") 
elif "#" in password: 
    print ("Your Password has a special character in it!") 

また、これを試みることができる:

if "%" and "$" in password: 
    print("Your Password has a 2 special characters in it!") 

私はそれが動作するはずだと思います

+0

コメントありがとうございます!私はループなしでこれを行う方法を探しています。あなたはあなたの心に何かを持っていますか? – MichaelFel123

0

あなたはおそらく正規表現を使用することができます!

>>> import re 
>>> s='Hello123#' 
>>> re.findall('[^A-Za-z0-9]',s) 
['#'] 
>>> if re.findall('[^A-Za-z0-9]',s):print True 
... 
True 

ハッピーコーディング!

希望すると助かります!

0

あなたがループを使いたくない、おそらくregexesで作業したことがないと述べたので、リストの理解はどうですか?

これが機能しているか、さらにヘルプが必要な場合はお知らせください。

関連する問題