鱼C论坛

 找回密码
 立即注册
查看: 939|回复: 5

[已解决]课后作业第002讲动动手01问题,我的这个程序为何不能得出正确答案?

[复制链接]
发表于 2020-6-10 06:30:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入这个短字符串可以得出abc的答案,但是输入长字符串,答案就不正确了
str1 = '''ABSaDKSbRIHcRHGcdDIF'''
str1 = '''ABSaDKSbRIHcRHGcdDIF'''

str2=str1.replace('\n','')

lenght=len(str2)
password=[]

for each in range(lenght):
    if each<=lenght-7:
        s1=str2[each]
        s2=str2[each+1]
        s3=str2[each+2]
        s4=str2[each+3]
        s5=str2[each+4]
        s6=str2[each+5]
        s7=str2[each+6]
        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))
最佳答案
2020-6-10 08:07:18
你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程序要求。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2020-6-10 06:32:09 | 显示全部楼层
输入题目中长字符串得到答案为:
llqqdpszdhuiazbmallokyrjuovpswxvrvhihqremzafbilhexbjkiujndimziudvrhamasqeaqaxbvtphhtdgccecnildkdselyjdmcoarsawhhnceekoxxwu
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 07:19:35 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-6-10 08:07:18 | 显示全部楼层    本楼为最佳答案   
你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程序要求。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-10 09:12:18 | 显示全部楼层
sunrise085 发表于 2020-6-10 08:07
你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程 ...

b) 每位密码的左右两边均有且只有三个大写字母

嗯嗯,是我审题不严格,忽略了这个要求,那我这个程序怎么改下能满足这个要求?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-6-10 09:13:24 | 显示全部楼层
sunrise085 发表于 2020-6-10 08:07
你的程序没有排除连续多个大写字母的情况。
例如,ABCdEFGHi,这里面的d是不符合要求的,但是却满足你的程 ...

或者是我再多加两个and条件再判断前后的两位?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-20 19:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表