159328404 发表于 2020-9-22 11:08:26

020作业:找到符合条件的密码



def search(params):
    params_list = list(params)
    length = len(params)
    passwd = []
    for i in params_list:
      if i.islower == 1 and (i-1).isupper == (i-2).isupper == (i-3).isupper == (i+1).isupper == (i+2).isupper == (i+3).isupper == 1:
            passwd.append(i)

    print(passwd)

search('ACFqHFLkswqbDDHtpgcWaXSSglUYKE')


哪里错了呢....{:5_96:}

疾风怪盗 发表于 2020-9-22 11:18:38

你这句判断是怎么写的?
if i.islower == 1 and (i-1).isupper == (i-2).isupper == (i-3).isupper == (i+1).isupper == (i+2).isupper == (i+3).isupper == 1:
这些函数都是返回布尔值,不是数字

疾风怪盗 发表于 2020-9-22 11:26:16

函数方法要加括号,循环最好用range数字循环,否则前三后三不是用字符串-3来表示的
def search(params):
    params_list = list(params)
    length = len(params)

    passwd = []
    for i in range(3,length-3):
      if params_list.islower() == True and \
                params_list.isupper() ==True and \
                params_list.isupper() ==True and\
                params_list.isupper() ==True and\
                params_list.isupper() ==True and\
                params_list.isupper() ==True and\
                params_list.isupper() ==True:
            passwd.append(params_list)
    print(passwd)

search('ACFqHFLkswqbDDHtpgcWaXSSglUYKEaQQQ')

159328404 发表于 2020-9-22 11:26:31

疾风怪盗 发表于 2020-9-22 11:18
你这句判断是怎么写的?

这些函数都是返回布尔值,不是数字

def search(params):
    params_list = list(params)
    length = len(params)
    passwd = []
    for i in params_list:
      if i.islower == True:
            if (i-1).isupper == True:
                if (i-2).isupper == True:
                  if (i-3).isupper == True:
                        if (i+1).isupper == True:
                            if (i+2).isupper == True:
                              if (i+3).isupper == True:
                                    passwd.append(i)
               

    print(passwd)

search('ACFqHFLkswqbDDHtpgcWaXSSglUYKE')

返回值还是一个空列表。。

疾风怪盗 发表于 2020-9-22 11:27:22

159328404 发表于 2020-9-22 11:26
返回值还是一个空列表。。

看我三楼的回帖代码
页: [1]
查看完整版本: 020作业:找到符合条件的密码