作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试编写一个 for 循环来查找字符串中的特定单词。我知道在 python 中有一个衬垫可以做到这一点,但我正在练习 for 循环,我想看看如何使用 for 来识别特定的单词,因为它识别特定的字母(如元音)。我一直在阅读一些问题,我认为代码应该是这样的:
s='bananasdasdnansbanana'
b='banana'
def count_words(s,b):
answer = 0
for i in range(len(s)):
if any(s[i:].startswith(b) for b in s):
answer += 1
print(answer)
但它没有打印任何东西。当我在同一字符串中查找元音时,我做了类似的事情,但现在我知道我应该“排列”单词“banana”中的字符,然后将其与字符串进行比较,这就是这部分的porpuse:
if any(s[i:].startswith(b) for b in s):
如果您能帮助我,我将非常感激。
谢谢。
最佳答案
您的代码不会打印,因为您没有调用函数(您只定义了它)
,您应该通过在末尾添加命令来调用该函数:
count_words(s,b)
您的函数实际上计算字符串 s 中的字符数:
s='bananasdasdnansbanana'
b='banana'
def count_words(s,b):
answer = 0
# Loop over each character in s
for i in range(len(s)):
# create a list contain at least current character => any will always return True
if any(s[i:].startswith(b) for b in s):
answer += 1
print(answer)
正确的代码:
s='bananasdasdnansbanana'
b='banana'
def count_words(s,b):
answer = 0
for i in range(len(s)):
if s[i:].startswith(b):
answer += 1
print(answer)
count_words(s,b)
关于python - 如何在Python 3中使用for循环计算字符串内的单词数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46417192/
我是一名优秀的程序员,十分优秀!