20讲课后练习关于寻找密码的问题
关于寻找密码的问题,我代码是这样写的:for i in range(len(str1)):if str1.islower() and str1.isupper() and str1.isupper() and str1.islower() and str1.islower():
print (str1)
#str1就是附件的txt文件内容
为什么执行之后显示的是,多了两个字母:
u
i
l
o
v
e
f
i
s
d
h
c
然后这种代码写法和小甲鱼的答案闭起来有什么问题吗?
这样的原因是因为 \n 换行符 没有排除掉的原因
把前面的 \n 换行符,都换成空字符即可,可以用 replace 函数进行替换
print 加个参数 end = ' ' 即可不换行
Twilight6 发表于 2020-11-17 21:15
这样的原因是因为 \n 换行符 没有排除掉的原因
把前面的 \n 换行符,都换成空字符即可,可以用 repl ...
版主牛逼~果然是\n的问题,那这个\n是怎么进行字符串大小写判断的,有没有相关的帖子说明的? hughsf 发表于 2020-11-17 21:48
版主牛逼~果然是\n的问题,那这个\n是怎么进行字符串大小写判断的,有没有相关的帖子说明的?
\n 不属于字母范畴,属于转义字符属于不可见字符的一种
不是字母自然就不能区分大小写问题,而且 \n 是一个字符 不是 \ 和 n 两个字符哈
Twilight6 发表于 2020-11-17 21:52
\n 不属于字母范畴,属于转义字符属于不可见字符的一种
不是字母自然就不能区分大小写问题,而且...
转义符是不是不参与字符串属性的判断?
比如
a = '''a
b'''
这时候a.islower()就显示为true,但如果通过a.islower单独判断\n的话,就显示FALSE了,但是他也不报错,就很神奇 hughsf 发表于 2020-11-17 22:00
转义符是不是不参与字符串属性的判断?
比如
a = '''a
整体判断时候是不包含转义字符的判断,单独判断时可以判断~
Twilight6 发表于 2020-11-17 22:03
整体判断时候是不包含转义字符的判断,单独判断时可以判断~
{:5_108:}{:5_108:}
页:
[1]