鱼C论坛

 找回密码
 立即注册
查看: 2535|回复: 4

请问为啥识别小写字母的时候会3和9之间有的识别不出。。还有最后为啥结果是个空列...

[复制链接]
发表于 2021-6-1 10:18:27 | 显示全部楼层 |阅读模式
8鱼币
  1. def temp(str1):
  2.     list1 = []
  3.     zimu ='qwertyuiopasdfghjklzxcvbnm'
  4.     zimu1 ='QWERTYUIOPASDFGHJKLZXCVBNM'
  5.     a = 0
  6.     b = 0
  7.     time1 = 0
  8.     for each in str1:
  9.         if each in zimu:
  10.             b = str1.index(each,a)
  11.             a = b+1
  12.             print (each,end=',')
  13.             print (b)
  14.             for each1 in str1[(b-3):(b+4)]:
  15.                 if each1 in zimu1:
  16.                     time1 +=1
  17.             if time1 == 3:
  18.                 list1.append(each)
  19.     print (list1)
复制代码

string2.zip

6.17 KB, 下载次数: 3

字符串

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-1 10:43:52 | 显示全部楼层
1
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-1 10:44:19 From FishC Mobile | 显示全部楼层
这代码是准备干啥的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2021-6-1 10:57:50 | 显示全部楼层
wp231957 发表于 2021-6-1 10:44
这代码是准备干啥的

用来在字符串里面找密码的题。。a) 每位密码为单个小写字母Powered by bbs.fishc.com
    b) 每位密码的左右两边均有且只有三个大写字母j~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-6-1 17:26:50 | 显示全部楼层
本帖最后由 淡淡凉 于 2021-6-2 11:53 编辑
for each1 in str1[(b-3):(b+4)]:
                if each1 in zimu1:
                    time1 +=1
            if time1 == 3:
                list1.append(each)

你的条件为只有time1==3才往列表列表里添加元素,因为不符合条件所以就没有添加到列表,列表为空,所以打印的列表为空;你可以试试把条件改为time<=3,符合条件成功添加后还要重置time1=0
  1. def temp(str1):
  2.     list1 = []
  3.     zimu ='qwertyuiopasdfghjklzxcvbnm'
  4.     zimu1 ='QWERTYUIOPASDFGHJKLZXCVBNM'
  5.     a = 0
  6.     b = 0
  7.    
  8.     for each in str1:
  9.         time1 = 0
  10.         if each in zimu:
  11.             b = str1.index(each,a)
  12.             a = b+1
  13.             print (each,end=',')
  14.             print (b,end='\t')
  15.             #print(str1[(b-3 if b-3>0 else 0):(len(str1) if b+4>len(str1) else b+4)])
  16.             list2 = []
  17.             str2 = str1[(b-3 if b-3>0 else 0):(len(str1) if b+4>len(str1) else b+4)]
  18.             for each1 in str2:
  19.                 if each1 in zimu1:
  20.                     list2.append(each1)
  21.                     time1 +=1
  22.             print(str2+'共出现大写字母的次数:',time1,list2)
  23.             if time1 <= 3:
  24.                 list1.append(each)
  25.                
  26.     print (list1)

  27. temp('PoWErEDbybbs.FishC.com')
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 19:25

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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