摆动的呆毛 发表于 2020-4-1 18:47:29

20讲课后作业

str1 = '''拷贝过来的字符串'''
list1 = []

for each in str1:
    if each not in list1:
      if each == '\n':
            print('\\n', str1.count(each))
      else:
            print(each, str1.count(each))
      list1.append(each)


if each == '\n':
            print('\\n', str1.count(each))
      else:
            print(each, str1.count(each))
      list1.append(each)

这后面看不懂了,为啥要等于‘’\n‘’啊





tommyyu 发表于 2020-4-1 18:49:33

具体哪里?

zltzlt 发表于 2020-4-1 18:49:35

如果 each 是换行符,则打印 '\\n' 和换行符在字符串中出现的次数('\\n' 打印出来的效果是 \n,而 '\n' 打印出来的效果是换行:)

>>> print('\\n')
\n
>>> print('\n')    # 打印了一个空行


>>>

tommyyu 发表于 2020-4-1 18:50:42

你的意思是不是为什么要判断each == '\n'?

tommyyu 发表于 2020-4-1 18:53:50

因该是因为要把换行符打出来,换成\n,但是如果each里面有的话,打印出来就是换行,

就是上面这个。所以要打印\n的话就得给它做个特殊处理成'\\n'。这样就可以显示
\n
了。

摆动的呆毛 发表于 2020-4-1 18:57:16

if each == '\n':
页: [1]
查看完整版本: 20讲课后作业