我一直在尝试创建一个程序来验证列表中的字符串,或者该列表中的元素是否包含2个或更多' a'以防它没有'它应该将元素保存在新列表中。到目前为止,这是我的代码:
ent = input("Ingresa un listado de palabras separados por coma: ")
lst_1 = ent.split(",")
lst_2 = []
def cuenta(lst_M):
tmp = 0
for i in range (0,len(element)):
print(lst_M[i])
if lst_M[i] == 'a':
tmp += 1
print(tmp)
return tmp
for element in lst_1:
lst_rev = [i for i in element]
cuenta(lst_rev)
print("Este es el valor de tmp:",tmp)
if tmp <= 2:
lst_2.append(element)
print(lst_2)
print(lst_2)
输出看起来像这样:
Ingresa un listado de palabras separados por coma: ana,another,person,ana
a
1
n
a
2
Este es el valor de tmp: 0
['ana']
a
1
n
o
t
h
e
r
Este es el valor de tmp: 0
['ana', 'another']
p
e
r
s
o
n
Este es el valor de tmp: 0
['ana', 'another', 'person']
a
1
n
a
2
Este es el valor de tmp: 0
['ana', 'another', 'person', 'ana']
['ana', 'another', 'person', 'ana']
正如您所看到的,我使用一个函数来计算&#39; a&#39;在元素内部,但由于某种原因,函数外部的变量tmp始终为0。 我做错了什么?
答案 0 :(得分:1)
尝试将函数调用的结果赋给变量。目前,您正在调用返回值的函数,但您并未捕获&#34;捕获&#34;函数调用范围之外的返回值。
tmp = cuenta(lst_rev)
print("Este es el valor de tmp:",tmp)