我有一个用户选择一个字母的程序。然后,程序应搜索列表并计算用户选择的字母开头的名称。
这是我到目前为止所得到的:
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
会帮助我,但它不起作用。
答案 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
开头。如果name
以letter
开头,则会打印name
。它还使用name
变量计算以names
开头的letter
中count
的数量。
答案 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