- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
问题是如何编写一个程序来测量一个字符在 python 中以通用方式出现在字符串中的次数。
我写的代码:
def countLetters(str, ch):
count=0
index=0
for ch in str:
if ch==str[index]:
count=count+1
index=index+1
print count
当我使用这个函数时,它测量的是字符串的长度,而不是该字符在字符串中出现的次数。我做错了什么?编写此代码的正确方法是什么?
最佳答案
您正在覆盖“ch”变量:
def countLetters(str, ch):
# ^ the character you are looking for
count=0
index=0
for ch in str:
# ^ the string character you are trying to check
if ch==str[index]: # ???
count=count+1
index=index+1
print count
(另外,返回值通常比打印它更有用)。
内置方法是str.count:
"aaabb".count("a") -> 3
如何重写代码:
def countLetters(search_in, search_for):
count = 0
for s in search_in: # iterate by string char, not by index
if s==search_for:
count += 1
return count
和一个快速的 pythonic 替换:
def countLetters(search_in, search_for):
return sum(1 for s in search_in if s==search_for)
关于python - "How to Think Like a Computer Scientist (python)"中的练习 7.9 测量字符串中某个字符的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4708273/
所以我确定这可能至少在很大程度上是疯狂的,但我只是在考虑 AS3/JS 交互,这让我想知道 - 有没有人确切地知道如何通过 AS3 调用 JS 是低效的?例如,如果您执行以下操作: import fl
我写了一个递归函数的形式 foo=function(vars,i=2){ **do something with vars** if(i==length(vars)){ return(
我正在通过一本很棒的书“如何像计算机科学家一样思考 3”学习 python 3.4 编程。我对我对练习 5.14.2 的回答有些怀疑,它是这样写的: You go on a wonderful hol
exercise 9.3在这本书中,要求读者找出排除this file中最少单词数的5个禁用字母的组合。 . 下面是我对第一部分的解决方案,我觉得对他们来说没有问题 # if the word con
我决定深入研究一下Python。我发现this book开始阅读它并做一些练习。现在我被困在第 6 章,正是 here 。抱歉我的新手问题,但是这个 test() 函数从哪里来? def mysum(
问题是如何编写一个程序来测量一个字符在 python 中以通用方式出现在字符串中的次数。 我写的代码: def countLetters(str, ch): count=0 index=0
我正在阅读 What Every Computer Scientist Should Know About Floating-Point Arithmetic .而且我发现了一个有趣的定理:(如果你已
我是一名优秀的程序员,十分优秀!