|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 shizhou 于 2017-8-16 08:41 编辑
《零基础入门学习Python》第020讲课后作业 动动手第2个问题(找密码):
- str = '''string2的长字符串'''
- l = len(str)
- for x in range(0,l):
- if str[x].islower() and str[x-3:x].isupper() and str[x+1:x+4].isupper():
- if not str[x-4].isupper() and not str[x+4].isupper():
- print(str[x],end='')
复制代码
我程序得出的答案和小甲鱼老师的答案不一致,请问原因出在哪里??
先看看你程序的问题:
1.isupper方法的定义:
如果字符串中至少包含一个区分大小写的字符,并且这些字符都是大写,则返回 True,否则返回 False。
也就是说‘2A9'这样的字符串也会返回True。
2.循环是从0到len(str),那么x-4,x+3都有可能越界。
|
|