|
发表于 2022-1-7 20:50:27
|
显示全部楼层
本楼为最佳答案
islower() 或 isupper() 最好一个一个比较,否则不准确,比如:
- a = """
- AASDFFF
- HDTD
- #$%^&**@@@
- """
- b = "ABC AABBSS JKHK"
- print(a.isupper()) # True
- print(b.isupper()) # True
复制代码 可以看出以上结果,是也 True 不是也 True 这不是我们想要的,我的代码为:
- # 因为字符串太长,所以另外存放在 text.txt 中
- def isValid(s: str):
- # 判断前第四个字符、后第四个字符、和中间字符是否都是小写
- # 如:x _ _ _ x _ _ _ x
- if not (s[0].islower() and s[-1].islower() and s[4].islower()): return False
- # 判断前三个字符串和后三个字符串是否是大写
- # 如:_ x x x _ x x x _
- for i in s[1:4]+s[5:8]:
- if not i.isupper():
- return False
- # 判断字符串是否有 9 个字符
- return len(s) == 9
- f = open("text.txt", "r")
- text = f.read()
- length = len(text)
- res = []
- for i in range(length-4):
- if(isValid(text[i:i+9])):
- res.append(text[i+4])
- print(''.join(res))
复制代码 |
评分
-
查看全部评分
|