我花了几周的时间正确学习python,无法找到一种方法从我现有的知识中继续学习。问题是:
使用累加器模式编写一个函数count_messy(strings),该函数将字符串列表作为参数,并返回一个int,该int表示包含非字母字符的任何字符的字符串数。字符串方法isalpha在这里会很有用。
这是我当前的代码:
def count_messy(strings):
for string in strings:
ans = strings.isalpha(string)
return(len(ans))
print(count_messy(["x", "y2y", "zz%z"]))
应输出:
2
最好将for
循环用于累加器模式,并且不理解任何列表理解。
答案 0 :(得分:1)
为了结束此事...
正确的解决方法是:
def count_messy(strings):
count = 0
for string in strings:
if not string.isalpha():
count += 1
return count
包含原始代码和其他几种解决方案的尝试:
isalpha
是字符串string
的方法,而不是列表strings
的方法。not string.isalpha()
来计算不是 仅由字母字符组成的字符串。count
整数变量需要初始化为0,并为满足此条件的每个字符串递增。