lhb82277959 发表于 2020-11-9 15:42:51

14讲的问题,密码检测,请教大家

14讲课后习题中 有chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'

这一句,在运行中总会跳出:EOL while scanning string literal ,不知道 是什么原因,还请教大家!

疾风怪盗 发表于 2020-11-9 15:46:32

EOL while scanning string literal 这个异常是由于引号没有成对出现造成的

百度一搜就知道了。。。。。。。。。。。。。。。。。。。。

jackz007 发表于 2020-11-9 16:06:55

      这一句没有问题,应该是其他地方错了,贴出你的全部代码,

lhb82277959 发表于 2020-11-9 16:23:33

jackz007 发表于 2020-11-9 16:06
这一句没有问题,应该是其他地方错了,贴出你的全部代码,

感谢!我知道的我的问题了, 但是 还有一个问题 不能理解,还请指点一下:symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>''' 这一句中r 后面 有个'''为什么要用''' 呢?感谢!

jackz007 发表于 2020-11-9 16:37:53

本帖最后由 jackz007 于 2020-11-9 16:45 编辑

      字符串的边界符可以用单引号、双引号和三引号,其作用都是一样的,其中,用三引号定义的字符串比较特殊,可以跨多个行,无论用什么边界符都是可以的,只要首尾呼应成对出现就可以了。
      那么,怎么决定究竟用哪种边界符呢,如果字符串内容中有单引号,那就用双引号,如果有单引号,那就用双引号,如果同时有单引号和双引号,那就用三引号。反正,以不出现冲突为原则,喜欢哪个顺手就可以选择用那个。
a = '''ABCDE'FGH"IJKLMN"OPQRST
123456‘7890'''
print(a)

lhb82277959 发表于 2020-11-10 11:22:08

jackz007 发表于 2020-11-9 16:37
字符串的边界符可以用单引号、双引号和三引号,其作用都是一样的,其中,用三引号定义的字符串比较特 ...

感谢指导,还这么详细,再次感谢!{:10_298:}
页: [1]
查看完整版本: 14讲的问题,密码检测,请教大家