2

この問題の解決に数時間を費やしましたが、プログラムが機能しません (構文エラー)。同様の質問の回答を確認しても役に立ちませんでした。以下のコードの何が問題になっていますか? リスト(パスワード)に少なくとも1桁の数字が含まれているかどうか、および大文字と小文字が1つずつ含まれているかどうかを確認したい。初心者なので簡単な方法を教えてください...

def checkio(password):    
    array = list(password)
    #for letter in array:
    if len(array) < 10 or len(array) > 64:
        return False
    if (any(l.isdigit() for l in array) and (any(l.isupper( for l in array) and (any(l.islower for l in array):
        return True
    else:
        return False
4

4 に答える 4

2

あなたの括弧は非常に間違っています。これを試して。

def checkio(password):    
  array = list(password)
  #for letter in array:
  if len(array) < 10 or len(array) > 64:
      return False
  if ((any(l.isdigit() for l in array)) and (any(l.isupper() for l in array)) and ((any(l.islower() for l in array)))):
      return True
  else:
      return False
于 2014-11-10T23:04:11.107 に答える
1

このようにすることができます。括弧がいくつかありません。別のことは、at least1桁と言ったので、長さは<1. リストに変換する必要もありません。反復できますstrings

def checkio(password):    
    if len(password) < 1 or len(password) > 64:
        return False
    if (any(x.isdigit() for x in password)) and (any(l.isupper for l in password)) and (any(l.islower for l in password)):
        return True
    else:
        return False

print checkio("StackO3f") #True

print checkio("S") #False

print checkio("sssss") #False
于 2014-11-10T23:04:55.987 に答える