이 코드는 isdigit()
과 islower()
을 사용합니다.이 문자열은 문자열에 숫자 (isdigit
) 또는 소문자 (islower
) 만 포함되어 있는지 확인합니다. 숫자가있는 경우에도 islower가 항상 true를 반환하는 이유는 무엇입니까?
암호를 통해 주어진 문자열이 값이 true를 반환하고, 문자열이 수행되는 문자 만 포함 된 경우 문자열이 숫자 만 또는 문자 만이 포함 된 경우 숫자 만에게를 인쇄해야합니다 숫자 만 또는 소문자가 포함 된 경우
.그러나 암호는 숫자와 문자 그것이 5 점를 추가 말할 포함 된 숫자 또는 문자가 있는지 확인하기 위해 elif
문에 값 false를 반환하고, 가야 예를 "12345qwerty"
에 대한, 그리고 아직도 경우를 포함하는 경우 그렇지 않다면 다시 시도하십시오 시도하지만 그렇지 않습니다. 값은 여전히 True로 반환되고 "12345qwerty"
에는 문자와 숫자가 모두 포함되어 false로 반환되어야하므로 if
문장 인수는 의미가 없습니다. 문자열에는 대문자가없는 적어도 하나의 소문자이 사실
import re
password = input("")
if password.isdigit():
print("only numbers ")
elif re.search("[1-9]", password):
print("thats 5 points")
else:
print("try again")
if password.islower():
print("only letters ")
elif re.search("[a-z]", password):
print("thats 5 points")
else:
print("try again")
오, 감사합니다. 남자 – Zohir