课后作业第002讲动动手01问题,我的这个程序为何不能得出正确答案?
输入这个短字符串可以得出abc的答案,但是输入长字符串,答案就不正确了str1 = '''ABSaDKSbRIHcRHGcdDIF'''
str1 = '''ABSaDKSbRIHcRHGcdDIF'''
str2=str1.replace('\n','')
lenght=len(str2)
password=[]
for each in range(lenght):
if each<=lenght-7:
s1=str2
s2=str2
s3=str2
s4=str2
s5=str2
s6=str2
s7=str2
if s1.isupper() and s2.isupper() and s3.isupper() and s4.islower() and s5.isupper() and s6.isupper() and s7.isupper :
password.append(s4)
if each==lenght-1:
print(''.join(password))
输入题目中长字符串得到答案为:
llqqdpszdhuiazbmallokyrjuovpswxvrvhihqremzafbilhexbjkiujndimziudvrhamasqeaqaxbvtphhtdgccecnildkdselyjdmcoarsawhhnceekoxxwu @Twilight6 你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程序要求。 sunrise085 发表于 2020-6-10 08:07
你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程 ...
b) 每位密码的左右两边均有且只有三个大写字母
嗯嗯,是我审题不严格,忽略了这个要求,那我这个程序怎么改下能满足这个要求? sunrise085 发表于 2020-6-10 08:07
你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程 ...
或者是我再多加两个and条件再判断前后的两位?
页:
[1]