python课后作业14讲
给出的答案是 symbols = r'''`!@#$%^&*()_+-=/*{}[]\|'";:/?,.<>'''但是题目里是 (仅限:~!@#$%^&*()_=-/,.?<>;:[]{}|\)
然后我用 symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}|\''' 做不出来,只能把三引号里面的内容换成答案给的那些特殊字符。 我又试了下 symbols = r'''~!@#$%^&*()_=-/,.?<>;:[]{}|\ ''' 在最后的三引号前面加个空格就又可以了,这是为什么? 本帖最后由 roy_lz 于 2020-6-24 12:37 编辑
应该是\不能在最后,不然python以为还没结束,要求你继续输入的。
因为 \ 还有个作用就是换行效果,当你把 \ 放在字符串的最后一个,那么Python 就会认为你要换行
所以会报错哈,你随便移动下 \ 的位置就可以避免这种情况发生了,建议不要补空格,因为到时候密码判断也会把空格判断为特殊字符了 本帖最后由 Hoiste 于 2020-6-24 13:39 编辑
应该是\的问题,一开始以为是转义,不过前面有r所以反斜杠不能转义了,所以有可能是\放在字符串末尾被当做换行继续输入的标志了。
页:
[1]