波大大12138 发表于 2020-6-5 09:57:07

看一下

1.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)
01.str1 = '''ABSaDKSbRIHcRHGcdDIF'''

02.

03.countA = 0# 统计前边的大写字母

04.countB = 0# 统计小写字母

05.countC = 0# 统计后边的大写字母

06.length = len(str1)

07.

08.for i in range(length):

09.    if str1 == '\n':

10.      continue

想问一下在这两个统计字母的程序中在程序刚开始的时候为什么要第一个讨论'\n'这个字符呢,为什么要和其他字符区分开来?这两个程序都是第二十讲最后的动手题上面的
2.

小甲鱼的铁粉 发表于 2020-6-5 10:02:41

@Twilight6

小甲鱼的铁粉 发表于 2020-6-5 10:03:17

小甲鱼的铁粉 发表于 2020-6-5 10:02
@Twilight6

@Twilight6 来干活了{:10_256:}

wp231957 发表于 2020-6-5 10:07:36

可能存在多行字符串

Twilight6 发表于 2020-6-5 10:16:24

第一个代码
因为当你 each = '\n' 时候 直接 print('\n') 会导致你打印一个空行 而我们要打印显示的是 \n 而不是想要换行
所以不能直接 用 print(each, str1.count(each)),否则打印不出 \n,我们要想打印 \n 要单独拿出来转义后打印

第二个代码就是为了 不统计 \n 里的字符

Twilight6 发表于 2020-6-5 10:16:55

小甲鱼的铁粉 发表于 2020-6-5 10:03
@Twilight6 来干活了

哈哈    我刚才频繁了
页: [1]
查看完整版本: 看一下