鱼C论坛

 找回密码
 立即注册
查看: 2114|回复: 5

[已解决]第20课:动动手。给答案加注释

[复制链接]
发表于 2021-1-11 17:13:24 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 Peteryo01223 于 2021-1-11 17:28 编辑

原题目:
0. 请用已学过的知识编写程序,统计下边这个长字符串中各个字符出现的次数并找到小甲鱼送给大家的一句话。

标准答案,以及我的注释:
  1. str1 = '''拷贝过来的字符串''' # 给string 赋值
  2. list1 = [] # 创建一个空列表

  3. for each in str1: # 开始利用 for 循环
  4.     if each not in list1: # 条件语句,如果 each 不在列表 list1 里面的话
  5.         if each == '\n': # 条件语句,同时符合条件,即:each 是一个换行的情况
  6.             print('\\n', str1.count(each)) # 先通过\的转意,打印出 \n,然后计算并打印出这个each,即:换行,的数量
  7.         else: # 其它情况,则
  8.             print(each, str1.count(each)) # 打印每个each,和相对应的数量
  9.         list1.append(each) #在list1后面,逐一地添加每个each
复制代码


我的问题:
1. ‘‘‘’’’,三对儿引号联合起来用,是因为本string含有众多可能被python读取的,并且在python中有固定涵义的字符,才使用三对儿引号的,是这样吗?
2. 本程序,首先计算并打印的,就是 \n,即:each 是一个换行的情况。请问,为何结果打印出来时,\n 1219,却是在中间才显示出来的?
3. print(each, str1.count(each)) 这个语句,已经打印了我们需要的结果。那么下一句,即: list1.append(each),创建出一个列表list1,也不做打印的动作,请问有何意义呢?

谢谢~


最佳答案
2021-1-11 18:06:42
1,不是,三引号是长字符串,可以在字符串里面换行。
这个小甲鱼课上应该讲过。
2,'\\n',最前面的\把后面的\转义了,所以就直接会打印出\n。
3,
  1. if each not in list1: # 条件语句,如果 each 不在列表 list1 里面的话
复制代码

为了这个的判断呀,要是不加进去怎么判断 each 是不是在出现过呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2021-1-11 18:06:42 | 显示全部楼层    本楼为最佳答案   
1,不是,三引号是长字符串,可以在字符串里面换行。
这个小甲鱼课上应该讲过。
2,'\\n',最前面的\把后面的\转义了,所以就直接会打印出\n。
3,
  1. if each not in list1: # 条件语句,如果 each 不在列表 list1 里面的话
复制代码

为了这个的判断呀,要是不加进去怎么判断 each 是不是在出现过呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-11 18:15:51 | 显示全部楼层
qiuyouzhi 发表于 2021-1-11 18:06
1,不是,三引号是长字符串,可以在字符串里面换行。
这个小甲鱼课上应该讲过。
2,'\\n',最前面的\把后 ...

好的。不过还要请问,第2个问题,为何结果打印出来时,\n 1219,是在中间才显示出来的?按说是第一个判断的它呀。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-11 19:11:19 | 显示全部楼层
Peteryo01223 发表于 2021-1-11 18:15
好的。不过还要请问,第2个问题,为何结果打印出来时,\n 1219,是在中间才显示出来的?按说是第一个判断 ...

首先判断不代表打印
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-12 08:22:07 | 显示全部楼层
qiuyouzhi 发表于 2021-1-11 19:11
首先判断不代表打印

哦,也就是:首先在code中写出来的语句,在实际的 str 中,可能并不首先出现,因此,打印出来的顺序,要看 str 中字符出现的顺序,而定,是吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-12 18:06:57 | 显示全部楼层
Peteryo01223 发表于 2021-1-12 08:22
哦,也就是:首先在code中写出来的语句,在实际的 str 中,可能并不首先出现,因此,打印出来的顺序,要 ...

是的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-26 19:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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