这里if each 等于'\n'是什么意思?
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) \n 是表示回车 换行 if each == '\n':#判断each是否等于换行符,如果是执行print语句,不是,执行else语句
print('\\n', str1.count(each))
else:
print(each, str1.count(each)) 1q23w31 发表于 2020-8-30 22:04
不是很理解等于换行符,我在想each,怎么会等于换行符呢
因为你拷贝过来的字符串中有换行,所以 str1 中字符串就会有 \n 换行符,这个是属于不可见字符,所以你直接看字符串内容是找不到 \n 的
当你 for 循环到 \n 换行时候,因为你要打印 \n 字符,而不是换行效果,所以需要将 \n 单独取出判断
否则当 each 循环到 \n 的时候,直接打印 \n 会起到换行的效果,导致你最终打印结果会有一个空行,而且不会成功打印出 \n 字符
所有需要 \n 拿出来多加上一个 \ 来进行转义,才能将 \n 成功打印出来
你把str1加个回车,再看下,就会发现有个each=='\n'判断成立了
str1 = '''拷贝过来
的字符串'''
list1 = []
for each in str1:
if each not in list1:
print(each == '\n')
if each == '\n':
print('\\n', str1.count(each))
else:
print(each, str1.count(each))
list1.append(each)
print(list1)
页:
[1]