我怎样才能检查数组中的值是否以某个字母开头?

时间:2016-03-09 12:07:21

标签: python arrays

我有一个用户选择一个字母的程序。然后,程序应搜索列表并计算用户选择的字母开头的名称。

这是我到目前为止所得到的:

nameslist = ["bob", "phil", "james"]

letter = input("Pick a letter.")
letter = letter.lower()

wordcount = 0

for I in range(len(nameslist)-1):
   if list[I].startswith(letter):
      wordcount = wordcount+1
      print(list[I])

我被引导相信startswith会帮助我,但它不起作用。

2 个答案:

答案 0 :(得分:6)

您可以使用以下内容:

names = ["bob","phil","james"]

letter = input("Pick a letter.")
letter = letter.lower()
count = 0   

for name in names:
    if name.startswith(letter):
        print(name)
        count += 1

这会迭代name中的每个names,并使用startswith()方法检查name是否以letter开头。如果nameletter开头,则会打印name。它还使用name变量计算以names开头的lettercount的数量。

答案 1 :(得分:3)

如果你想保留当前的代码,你需要做的就是解决一些拼写错误。这是正确的代码,其中的注释显示了我更改的内容:

nameslist=["bob","phil","james"]

letter=input("Pick a letter.")
letter=letter.lower()

wordcount=0

for I in range(len(nameslist)):  # you dont need the -1 at the end of this
   if nameslist[I].startswith(letter): # you need to change list to nameslist
      wordcount=wordcount+1
      print(nameslist[I])  # you need to change list to nameslist