HUANGyawang123 发表于 2020-6-2 10:26:11

20讲动动手第0题

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)

小白求助:不明白list1[]在这的作用,每行代码都有点不清晰,希望能得到每行代码解析,尤其是‘\n’,和'\\n',在这用是什么意思?最后一行代码,也不理解,

Twilight6 发表于 2020-6-2 10:33:45

不明白list1[]在这的作用
Python 大部分的空字典,空字符串,空列表 等 都是为了初始化数据用的,为后续条件做铺垫
str1 = '''拷贝过来的字符串'''
list1 = []   # 初始化对象

for each in str1:    # 循环依次遍历str1字符串
    if each not in list1:# 判断字符串是否在 list1 列表中 如果在就执行 if 代码块

      if each == '\n':   # 判断是否是换行符,若是执行if 代码块
            print('\\n', str1.count(each))# 打印换行符的出现次数
      else:
            print(each, str1.count(each))# 打印除换行符外的 字符出现次数
      list1.append(each)# 将字符加入列表中去
尤其是‘\n’,和'\\n',在这用是什么意思?
\n 就是为了判断是不是换行符,而 \\n 是为了print能够打印出 \n 所以多用一个 \ 来反转义

heidern0612 发表于 2020-6-2 10:36:03

1、得先定义个列表,下面才能添加元素进这个列表。

2、for each in str1:   each循环遍历str1:
    if each not in list1:   如果each 不在 list1里的话:
      if each == '\n':      如果each 为换行的话,统计这个换行出现的次数,并打印。
            print('\\n', str1.count(each))
      else:
            print(each, str1.count(each)) 否则的话,就统计each出现的次数,并打印。
      list1.append(each)                      把each 添加进list1列表里。
页: [1]
查看完整版本: 20讲动动手第0题