2017-04-04 84 views
0

嘿傢伙,所以我試着看以前的問題,但他們不回答它,就像我的老師希望它被回答。基本上我需要從用戶輸入中得到一個字符串,看它是否有: 至少有一個[!,@,#,$,%,^,&,*,(,)](非字母和非數字) 字符) o爲這些特殊字符創建一個列表比較用戶輸入列表python3

我不知道如何使def做到這一點。請幫忙!

回答

1

你應該看看Regular expressions。正則表達式允許您以簡明的方式執行許多字符串操作。具體來說,您需要使用re.findall()以查找字符串中的所有特殊字符並將其返回。您可以檢查返回的列表是否有長度爲0,以檢查是否有任何特殊字符。

至於建設正則表達式查找特殊字符本身。我敢肯定,你可以計算的那部分;)

+0

感謝你,幫助了噸! –

+0

好吧,所以我嘗試使用findall和if語句,只是現在忽略它。這就是我所做的'def containsSpecial(password): \t specialChar = ['!','@','#','$','%','^','&','*','' (',')'] \t如果re.findall(specialChar,密碼) \t返回「true」' –

+0

廢話我不知道如何使它看起來不錯。 @pedro –

0

請嘗試以下

import re 
inputstring = raw_input("Enter String: ") 
print inputstring 
print "Valid" if re.match("^[a-zA-Z0-9_]*$", inputstring) else "Invalid"