xiaozhuzhuZzzz 发表于 2021-3-3 21:22:56

python作业里的问题

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)
我问问第三行是什么意思?拷贝过来的字符串很大一堆乱码,最后执行起来的结果是这样的:
% 6104
$ 6046
@ 6157
_ 6112
^ 6030
# 6115
) 6186
& 6043
! 6079
+ 6066
] 6152
* 6034
} 6105
[ 6108
( 6154
{ 6046
\n 1219
G 1
O 2
D 1
L 1
U 1
C 1
K 1

逃兵 发表于 2021-3-3 21:30:02

这段代码用来统计字符串中各个字符出现的次数
这里是统计换行符个数用的:
if each == '\n':


结果

\n 1219
换行符有1219个

xiaozhuzhuZzzz 发表于 2021-3-4 19:59:02

逃兵 发表于 2021-3-3 21:30
这段代码用来统计字符串中各个字符出现的次数
这里是统计换行符个数用的:



我问问,那其他字符是怎么计算过来的呢?

xiaozhuzhuZzzz 发表于 2021-3-4 20:01:21

xiaozhuzhuZzzz 发表于 2021-3-4 19:59
我问问,那其他字符是怎么计算过来的呢?

也就是说字符是隐藏了一部分的,对吧?谢谢你

逃兵 发表于 2021-3-4 21:10:01

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

for each in str1:                           #遍历字符串str1
    if each not in list1:                     #如果字符不在list1中
      if each == '\n':                            #如果该元素是换行符
            print('\\n', str1.count(each))            #打印换行符,打印换行符出现次数
      else:                                       #另外的情况(非换行符)
            print(each, str1.count(each))               #打印该元素,打印该元素出现次数
      list1.append(each)                        #列表中添加该元素

我写了注释

大致解释一下函数什么意思

给变量str1赋值'''拷贝过来的字符串'''

给list1赋值空列表

遍历str1中的每一个元素

如果该元素不存在于列表list1

则打印该元素和该元素出现的次数

#注意字符串的count方法可以统计某一元素的出现次数

例如:
打印'c'在字符串中出现的次数
str1='ilovefishc.com'

print(str1.count('c'))
2

将该元素加入到list1中

下次循环时,如果该元素已经在list1中,就会被跳过

=======================================

这段代码中主要是将换行符和其他的字符串分开统计

换行符在python中用'\n'来表示

所以出现了一次if-else语句

页: [1]
查看完整版本: python作业里的问题