循环的Python代码计数字母

时间:2016-11-13 01:57:47

标签: python python-3.x spyder

写一个函数countletter()应该有一个' for'循环步骤 通过下面的列表,打印城市的名称和数量 这个城市名字中的字母。您可以使用len()函数。

citylist = ["Kentucky","New York","LA", "Toronto", 
"Boston","District of Columbia"]

我在Spyder中使用Python 3.5。我无法从列表中提取字母,然后在for循环中打印出来。

我有什么:

def countletter(citylist):    
    city = len(citylist)     
    ct = 0
    for i in citylist:
       city = (ne[i])

然后我卡住了。我担心这可能完全错了。我也在努力打印这个。

输出应为:

肯塔基州有8封信。

纽约有12封信。

洛杉矶有两封信。

多伦多有7封信。

波士顿有6封信。

哥伦比亚特区有20封信。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

您不需要使用索引。只需重复citylist; for循环将产生每个城市。

def countletter(citylist):
    for city in citylist:
        n = len(city)
        print(city, 'has', n, 'letters.')


citylist = ["Kentucky","New York","LA", "Toronto", "Boston","District of Columbia"]
countletter(citylist)

输出:

Kentucky has 8 letters.
New York has 8 letters.
LA has 2 letters.
Toronto has 7 letters.
Boston has 6 letters.
District of Columbia has 20 letters.

答案 1 :(得分:0)

def countletter(citylist):    
     for index,city in enumerate(citylist):
         print (index,' : ',city," has ";len(city);" letters".

应该给:

1:肯塔基州有8个字母 2:纽约有8封信。 ...