我已经广泛搜索了我的问题的解决方案但是我已经做得很短,主要是因为没有使用我需要的条件循环的例子。
问题
使用for循环计算字母'a'出现在字符串'fanta'中的次数。 使用名为count()的Python字符串方法检查您的答案。
注意:我知道这个问题会询问字符串中出现的次数,但我决定使用列表。
我尝试回答
drink = ["f","a","n","t","a"]
letter = "a"
for letter in drink:
print (letter)
显然在fanta中有两个A,但我使用了内置计数功能来验证
count = drink.count('a')
print(count)
确实在芬达有两个A:D
通过以下思路; for循环将在列表饮料中查找字母“a”,打印出来
a
a
或类似的东西,但我得到;
f
a
n
t
a
我猜是因为for循环不明白我只想检查列表中的字符串字母。
我想知道
如何以某种方式获得所需的结果或形成for循环显示fanta中有多少个的表示。
感谢您的时间。
答案 0 :(得分:3)
>>> drink = ["f","a","n","t","a"]
>>> count = 0
>>> for c in drink:
if c == 'a':
count += 1
>>> count
2
答案 1 :(得分:3)
drink = ["f","a","n","t","a"]
letter = "a"
for each_char in drink:
if each_char == letter:
print char,
答案 2 :(得分:0)
您可以在单行列表中理解它。
len([letter for letter in drink if letter == 'a'])
你的for循环没有按预期方式工作的原因是letter
中的for letter in drink
变量不等于'a'。 for循环接受item变量和sequence变量的参数。 letter
是项目,drink
是序列。因此,drink
中的每个项目都会按照您指定的变量letter
给出,一次一个,从第一个索引开始。
答案 3 :(得分:0)
解决这个问题的正确方法是尽可能以最直接的方式做到这一点。
>>> s = 'fanta'
>>> s.count('a')
2
但是,如果你坚持列表,那么计算列表中项目的正确方法是使用counter
模块。
>>> from collections import Counter
>>> Counter('fanta')
Counter({'a': 2, 'n': 1, 't': 1, 'f': 1})
>>> Counter('fanta')['a']
2
注意:Python会自动将字符串视为字符列表,因此无需提前创建特殊列表。