020闭包及内嵌函数课后作业第一题求助。
str = list(string)def find():
list1 = []
a = 0
b = 0
c = 0
d = 0
e = 0
f = 0
g = 0
h = 0
i = 0
j = 0
k = 0
l = 0
m = 0
for each in str:
if each == "*":
a += 1
elif each == "}":
b += 1
elif each == "$":
c += 1
elif each == "^":
d += 1
elif each == "(":
e += 1
elif each == "{":
f += 1
elif each == "%":
g += 1
elif each == "!":
h += 1
elif each == "+":
i += 1
elif each == "&":
j += 1
elif each == "_":
k += 1
elif each == "]":
l += 1
elif each == "[":
m += 1
else:
list1.append(each)
return a,b,c,d,e,f,g,h,i,j,k,l,m,list1
#string = 小甲鱼给的一大串乱码
请问我这个看起来是不是有点那种感觉,就是你们抽烟用打火机,而我在钻木取火{:10_277:}
测试第一次的时候在return里面忘记加list1了,第1次运行正常,加上list1之后返回值为什么。。。是个我我没见过的东西 我发出来你们看看
这是个啥{:10_243:}
这个只是 IDEL 屏蔽显示的文本了实际上有 一千多行的意思 要显示的内容太多,需要点击一下。 Twilight6 发表于 2020-6-4 16:42
这个只是 IDEL 屏蔽显示的文本了实际上有 一千多行的意思
不是屏蔽 是压缩哈哈你可以右击 复制 IDLE比较弱鸡,要是把这些打印出来,IDLE肯定会卡死
这里它帮你压缩了起来,你可以展开或者复制或者在一个专门的窗口里面看内容。 我刚刚去偷看答案了,我果然是钻木取火{:10_277:}原来count还有这个用法 我都不知道耶 Twilight6 发表于 2020-6-4 16:44
不是屏蔽 是压缩哈哈你可以右击 复制
str1 = '''拷贝过来的字符串'''
list1 = []
for each in str1:
if each not in list1:#怎么没有跟这一条if对应的else呀,这条什么意思呀,list1本来就是个空列表呀?是因为最后面append了一些东西来判断的吗?count能分清每一个字符?还把字母分的开,装到list1里面了?
if each == '\n':
print('\\n', str1.count(each))
else:
print(each, str1.count(each))
list1.append(each)
#这是给的答案,str1.count(each)就会吧for循环里面each的每一个元素都数一遍并且把不一样的东西一一分开列出来吗?
#“\n"是回车符吧,每一行结尾都是一个这个吧? Aber 发表于 2020-6-4 16:53
#这是给的答案,str1.count(each)就会吧for循环里面each的每一个元素都数一遍并且把不一样的东西一 ...
1,你可以每次打印list1,会发现只有第一次列表是空的。
2,str1.count(each)是返回str1里面each出现的次数。
3,应该是 Aber 发表于 2020-6-4 16:53
#这是给的答案,str1.count(each)就会吧for循环里面each的每一个元素都数一遍并且把不一样的东西一 ...
怎么没有跟这一条if对应的else呀,这条什么意思呀
if 不一定要和 else 搭配的哦 看情况,这里只要满足 不在列表里就执行 if 代码块
而在列表里就不执行 而开始下一次的循环 所以没有必要加else 哦
list1本来就是个空列表呀?是因为最后面append了一些东西来判断的吗?还把字母分的开,装到list1里面了?
对 刚刚开始列表里没有元素嘛,就是为了放元素进去的,嗯 每个字符都分开来遍历统计嘛
“\n"是回车符吧,每一行结尾都是一个这个吧?
是\n换行符号 \r 是回车符换行时候就会有这个符号滴
页:
[1]