【发布时间】:2017-10-28 05:02:30
【问题描述】:
我如何编写一个可以在下面产生这个的程序?
例如,下面的代码片段:
打印 (count_letters("ab1c2d345"))
应该产生输出:
4
【问题讨论】:
标签: python python-3.x
我如何编写一个可以在下面产生这个的程序?
例如,下面的代码片段:
打印 (count_letters("ab1c2d345"))
应该产生输出:
4
【问题讨论】:
标签: python python-3.x
你可以试试这个:
def count_letters(s):
return len([i for i in s if i.isalpha()])
print(count_letters('ab1c2d345'))
输出:
4
或者,您可以使用正则表达式来获得更清洁的解决方案:
import re
def count_letters(s):
return len(re.findall('[a-zA-Z]', s))
【讨论】:
您可以使用简单的循环/if 语句来完成。
def count_letters(str_ltr):
count_ltr = 0
for ch in str_ltr:
if ch.isalpha():
count_ltr += 1
return count_ltr
print(count_letters("ab1c2d345"))
输出:4
【讨论】: