鱼C论坛

 找回密码
 立即注册
查看: 2692|回复: 7

[已解决]关于统计字符串数量的问题

[复制链接]
发表于 2020-2-17 14:49:36 | 显示全部楼层 |阅读模式

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

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

x
这个是小甲鱼的答案

  1. str1 = '''拷贝过来的字符串'''
  2. list1 = []

  3. for each in str1:
  4.     if each not in list1:
  5.         if each == '\n':
  6.             print('\\n', str1.count(each))
  7.         else:
  8.             print(each, str1.count(each))
  9.         list1.append(each)
复制代码


我因为自己写了input所以发现了个问题:

当输入字符为 “\\\\\n”的时候,答案是 "\ 2  \n 1"
也就是当多个\出现时,第一个\会被当做转义符号而不被计数,这种情况怎么处理呢?
最佳答案
2020-2-17 14:55:50
用原始字符串
  1. str1 = r'''\\\\\n'''
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-2-17 14:53:44 | 显示全部楼层
"\\\\\n" 其实只有两个反斜杠和一个换行符

  1. >>> print("\\\\\n")
  2. \\

  3. >>>
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 14:55:20 | 显示全部楼层
没办法处理。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 14:55:50 | 显示全部楼层    本楼为最佳答案   
用原始字符串
  1. str1 = r'''\\\\\n'''
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 15:01:21 | 显示全部楼层
zltzlt 发表于 2020-2-17 14:53
"\\\\\n" 其实只有两个反斜杠和一个换行符

问题就在这里,
我写的是
  1. str1 = input("""请输入字符串:""")
复制代码

输入的 \\\\\n,里面有四个反斜杠和一个换行符,但是统计结果只有两个,那不是出问题了吗?
如果按照这种逻辑,是不是还要把转义字符和转义字符前面的字符连起来加一个判断条件?或者这种情况下该怎么处理比较高效呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 15:02:49 | 显示全部楼层
xiaofan1228 发表于 2020-2-17 15:01
问题就在这里,
我写的是  
输入的 \\\\\n,里面有四个反斜杠和一个换行符,但是统计结果只有两个,那 ...

我这里正常:

  1. 请输入:\\\\\n
  2. \ 5
  3. n 1
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-2-17 15:11:01 | 显示全部楼层


管理,这个C的问题吗?
抱歉,点错栏目了,误以为是C栏目下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-2-17 15:16:56 | 显示全部楼层

这样就是牺牲掉了所有的转义字符,包括\n了。

不过达到我的目的了,多谢!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-3 20:06

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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