鱼C论坛

 找回密码
 立即注册
查看: 2630|回复: 1

python第20 次课后题,求密码的那个,写了代码不知道为毛跑不出,28大的鱼粉帮帮看看

[复制链接]
发表于 2019-10-9 16:39:20 | 显示全部楼层 |阅读模式

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

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

x
  1. str='''复制黏贴'''
  2. 密码库=list(str)
  3. 开头位置=[]
  4. 结束位置=[]
  5. 可能中间=[]
  6. times=0
  7. lenth=len(密码库)
  8. if 密码库[0].isupper() and 密码库[1].isupper() and 密码库[2].isupper() and not 密码库[3].isupper(): #找密码前面部分的三个大写
  9.     开头位置.append(0)
  10. for a in range(1,lenth-3):   
  11.     if 密码库[a].isupper() and 密码库[a+1].isupper() and 密码库[a+2].isupper() and not 密码库[a+3].islower() and not 密码库[0].isupper():
  12.         开头位置.append(a)
  13. if 密码库[lenth-1].isupper() and 密码库[lenth-2].isupper() and 密码库[lenth-3].isupper() and not 密码库[lenth-4].issupper(): #找密码后面部分的三个大写
  14.     结束位置.append(lenth)
  15. for b in range(4,lenth-1):
  16.     if 密码库[b].isupper() and 密码库[b-1].isupper() and 密码库[b-2].isupper() and not 密码库[b-3].isupper()and not 密码库[lenth-1].isupper():
  17.         结束位置.append(b)
  18.         
  19. for eacha in 开头位置:
  20.     for eachb in 结束位置:
  21.         if eacha+5 < eachb:   #提取大写字母中间的内容
  22.             可能中间=密码库[eacha+3:eachb-2]
  23.             可能中间的长度=len(可能中间)
  24.             for every in 可能中间:    #判断中间是否全为小写
  25.                 if every.islower():
  26.                     times+=1
  27.                     if times==可能中间的长度:
  28.                         print('密码是:',可能中间)
  29.             
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2019-10-9 18:58:42 | 显示全部楼层
前面一段的开头位置和结束位置都求不出来(虽然还没想明白原因,但是至少你这两次if语句都可以放进for循环里的)
前两行的str至少换成str1才是变量
13行最后一个isupper拼写错误
后面那一段的27 28 行多缩进了一次,同一缩进位置应该添加一个清零times的else语句
最后输出可以把可能中间这个列表里的字符拼成一个字符串输出的吧
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-1-19 20:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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