我是python的初学者,出于生物学目的学习它。
好吧,假设我想编写一个函数,该函数将遍历列表以使用for循环计算字符串中多少个元素
$(window).on("scroll touchmove", function() {
if ($(document).scrollTop() >= $("#one").position().top && $(document).scrollTop() < $("#two").position().top) {
$('.image').css('background-image', 'url(https://i.postimg.cc/FRxNp6yG/hr-ax.png)')
};
if ($(document).scrollTop() >= $("#two").position().top && $(document).scrollTop() < $("#three").position().top) {
$('.image').css('background-image', 'url(https://i.postimg.cc/wvz9hzm7/hr-bx.png)')
};
if ($(document).scrollTop() >= $("#three").position().top && $(document).scrollTop() < $("#four").position().top) {
$('.image').css('background-image', 'url(https://i.postimg.cc/FRxNp6yG/hr-ax.png)')
};
if ($(document).scrollTop() >= $("#four").position().top) {
$('.image').css('background-image', 'url(https://i.postimg.cc/wvz9hzm7/hr-bx.png)')
};
});
因此,当使用上述函数查找我的字符串中有多少A和C时
def counting(string,lista):
for element in lista:
element_count=string.count(element)
return element_count
似乎该函数只返回1的字符串中C的计数,我想让两个元素都计数。似乎在循环体内添加了一条打印线将解决此问题,
print(counting('AABCDEF',['A','C']))
有没有一种方法可以在不使用print语句的情况下获得相同的输出?
预先感谢
答案 0 :(得分:0)
将结果作为列表返回。
def counting(string,lista):
temp = []
for element in lista:
temp.append(string.count(element))
return temp
print(counting('AABCDEF',['A','C']))
结果是
[2, 1]
要打印一些详细信息,
def counting(string, lista):
temp = []
for element in lista:
temp.append('{} count is {}'.format(element, string.count(element)))
return ', '.join(temp)
print(counting('AABCDEF', ['A','C']))
然后
A count is 2, C count is 1