鱼C论坛

 找回密码
 立即注册
查看: 1637|回复: 4

[已解决]第二十课的课后练习

[复制链接]
发表于 2018-2-4 21:24:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
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)

一脸懵逼
完全没看懂
很绝望
最佳答案
2018-2-4 21:29:01

str1 = '''拷贝过来的字符串'''                             给str1赋值= =
list1 = []                                                        list1初始为空

for each in str1:                                     for循环,each in str1,each这里就依次变成str1的每个字符
    if each not in list1:                                 如果这个each字符没在list1里,那就算下each这个字符有几个吧
        if each == '\n':
            print('\\n', str1.count(each))          这个是数几个换行
        else:
            print(each, str1.count(each))          这个是数换行以外其他字符
        list1.append(each)                             list把each加进来,这个和if each not in list1一起,使字符没有重复统计,
                                                                 比如有2个字符一样的,就不再显示2遍
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2018-2-4 21:25:22 | 显示全部楼层
主要是这部分完全没看懂
if each not in list1:
        if each == '\n':
            print('\\n', str1.count(each))
        else:
            print(each, str1.count(each))
        list1.append(each)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-4 21:29:01 | 显示全部楼层    本楼为最佳答案   

str1 = '''拷贝过来的字符串'''                             给str1赋值= =
list1 = []                                                        list1初始为空

for each in str1:                                     for循环,each in str1,each这里就依次变成str1的每个字符
    if each not in list1:                                 如果这个each字符没在list1里,那就算下each这个字符有几个吧
        if each == '\n':
            print('\\n', str1.count(each))          这个是数几个换行
        else:
            print(each, str1.count(each))          这个是数换行以外其他字符
        list1.append(each)                             list把each加进来,这个和if each not in list1一起,使字符没有重复统计,
                                                                 比如有2个字符一样的,就不再显示2遍
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2018-2-4 21:41:10 | 显示全部楼层
第一行:拷贝过来的字符串
第二行:创建一个空列表   # 这个列表将用来存放已经统计过的字符元素
第三行:进入for...in 循环一个一个迭代字符进行统计,如果这个字符不在list1里面(说明还没有统计过)
             | -- 如果这个字符是换行符,那么统计换行符在字符串中有多少个,打印出来后,把换行符添加到list1
             | -- 否则,打印出迭代出来的每一个字符进行统计,统计完成添加到list1,下次就不会再统计了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-5 11:01:00 | 显示全部楼层
塔利班 发表于 2018-2-4 21:29
str1 = '''拷贝过来的字符串'''                             给str1赋值= =
list1 = []                ...

count这个函数就是数 字符串 里有多少个它的参数?
我就是对这个函数一知半解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-3-7 04:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表