【发布时间】:2017-03-18 20:53:19
【问题描述】:
我正在尝试构建一个程序,如果用户输入姓名,它将返回具有该姓名的人数。如果他们键入“最”,它将返回使用最多的名称。我不知何故得到了计算单个单词的部分,但我不确定如何让程序定义和计算最常出现的单词。
import re
from collections import Counter
data = ('Billy Bob', 'Misty', 'Leroy', 'Leroy', 'Leroy', 'Billy Bob', 'Betty Sue',
'Billy Bob', 'Betty Sue', 'Misty', 'Betty Sue', 'Betty Sue',
'Misty', 'Betty Sue', 'Horace', 'Misty', 'Betty Sue', 'Misty',
'Leroy', 'Betty Sue', 'Misty', 'Doug', 'Misty', 'Wilma', 'Jesse',
'Misty', 'Billy Bob', 'Betty Sue', 'Betty Sue', 'Leroy', 'Misty',
'Leroy', 'Jesse Jr', 'Betty Sue', 'Betty Sue', 'Misty', 'Misty',
'Misty', 'Betty Sue', 'Misty', 'Misty', 'Misty', 'Leroy', 'Leroy',
'Bailey', 'Peggy', 'Leroy', 'Billy Bob', 'Leroy', 'Leroy', 'Misty',
'Paris', 'Leroy', 'Leroy', 'Misty Mae', 'Leroy', 'Misty', 'Leroy',
'Bart', 'Big Daddy', 'Betty Sue', 'Billy Bob', 'Betty Sue',
'LeeAnne', 'Billy Bob', 'Leroy', 'Betty Sue', 'Leroy', 'Betty Sue',
'Misty', 'Rowdy', 'Billy Bob', 'Ricky', 'Misty', 'Billy Bob', 'Billy
Bob', 'Billy Bob', 'EvaSue', 'Mark', 'Betty Sue', 'Leroy', 'Betty
Sue', 'Billy Bob', 'Leroy', 'Leroy', 'Billy Bob', 'Billy Bob',
'Billy Bob', 'Billy Bob', 'Billy Bob', 'Misty', 'Rob', 'Betty Sue',
'SuelySue', 'Billy Bob', 'Misty', 'Betty Sue', 'Misty', 'Billy Bob',
'Betty Sue', 'Leroy', 'Misty', 'Billy Bob', 'Misty', 'Misty', 'Billy
Bob', 'Billy Bob', 'Billy Bob', 'Billy Bob', 'Leroy', 'Jesse Jr Jr',
'Billy Bob', 'Grady', 'Leroy', 'Billy Bob', 'Leroy', 'Billy Bob',
'Betty Sue', 'Billy Bob', 'Misty', 'Louise', 'Leroy', 'Betty Sue',
'Leroy', 'Betty Sue', 'Leroy', 'Betty Sue', 'Betty Sue', 'Billy
Bob', 'Leroy', 'Jenny Jae', 'Misty', 'Betty Sue', 'Billy Bob',
'Leroy', 'Billy Bob', 'Jesse', 'Misty', 'Misty', 'Leroy', 'Betty
Sue', 'BJ', 'Misty', 'Leroy', 'Boris', 'Misty', 'Billy Bob', 'Pegs',
'Misty', 'Leslie', 'James', 'Melvin', 'Misty', 'Betty Sue', 'Mary
Beth', 'Billy Bob', 'Betty Sue', 'Billy Bob', 'Misty', 'Betty Sue',
'Leroy', 'Billy Bob', 'Billy Bob', 'BethAnne', 'Leroy', 'Betty Sue',
'Bett', 'Billy Bob', 'Misty', 'Misty', 'Billy Bob', 'Leroy', 'Billy
Bob', 'Billy Bob', 'Misty', 'Billy Bob', 'Raina', 'Betty Sue',
'Misty', 'Misty', 'Misty', 'Betty Sue', 'Mikey', 'Betty Sue', 'Billy
Bob', 'Misty', 'Betty Sue', 'Leroy', 'Betty Sue', 'Billy Bob',
'Betty Sue', 'Billy Bob', 'Betty Sue', 'Louise Jr', 'Billy Bob',
'Misty', 'Leroy', 'Leroy', 'Billy Bob', 'Billy Bob', 'Misty',
'Leroy', 'Leroy', 'Leroy', 'Billy Bob', 'Betty Sue', 'Billy Bob',
'Betty Sue', 'Misty', 'Betty Sue', 'Betty Sue', 'Misty', 'Betty
Sue', 'Horace', 'Misty', 'Betty Sue', 'Misty', 'Leroy', 'Betty Sue',
'Misty', 'Doug', 'Misty', 'Wilma', 'Jesse', 'Misty', 'Billy Bob',
'Betty Sue', 'Betty Sue', 'Leroy', 'Misty', 'Leroy', 'Jesse Jr',
'Betty Sue', 'Betty Sue', 'Misty', 'Misty', 'Misty', 'Betty Sue',
'Misty', 'Misty', 'Misty', 'Leroy', 'Leroy', 'Bailey', 'Peggy',
'Leroy', 'Billy Bob', 'Leroy', 'Leroy', 'Misty', 'Paris', 'Leroy',
'Leroy', 'Misty Mae', 'Leroy', 'Misty', 'Leroy', 'Bart', 'Big
Daddy', 'Betty Sue', 'Billy Bob', 'Betty Sue', 'LeeAnne', 'Billy
Bob', 'Leroy', 'Betty Sue', 'Leroy', 'Betty Sue', 'Misty', 'Rowdy',
'Billy Bob', 'Ricky', 'Misty', 'Billy Bob', 'Billy Bob', 'Billy
Bob', 'EvaSue', 'Mark', 'Betty Sue', 'Leroy', 'Betty Sue', 'Billy
Bob', 'Leroy', 'Leroy', 'Billy Bob', 'Billy Bob', 'Billy Bob',
'Billy Bob', 'Billy Bob', 'Misty', 'Rob', 'Betty Sue', 'SuelySue',
'Billy Bob', 'Misty', 'Betty Sue', 'Misty', 'Billy Bob', 'Betty
Sue', 'Leroy', 'Misty', 'Billy Bob', 'Misty', 'Misty', 'Billy Bob',
'Billy Bob', 'Billy Bob', 'Billy Bob', 'Leroy', 'Jesse Jr Jr',
'Billy Bob', 'Grady', 'Leroy', 'Billy Bob', 'Leroy', 'Billy Bob',
'Betty Sue', 'Billy Bob', 'Misty', 'Louise', 'Leroy', 'Betty Sue',
'Leroy', 'Betty Sue', 'Leroy', 'Betty Sue', 'Betty Sue', 'Billy
Bob', 'Leroy', 'Jenny Jae', 'Misty', 'Betty Sue', 'Billy Bob',
'Leroy', 'Billy Bob', 'Jesse', 'Misty', 'Misty', 'Leroy', 'Betty
Sue', 'BJ', 'Misty', 'Leroy', 'Boris', 'Misty', 'Billy Bob', 'Pegs',
'Misty', 'Leslie', 'James', 'Melvin', 'Misty', 'Betty Sue', 'Mary
Beth', 'Billy Bob', 'Betty Sue', 'Billy Bob', 'Misty', 'Betty Sue',
'Leroy', 'Billy Bob', 'Billy Bob', 'BethAnne', 'Leroy', 'Betty Sue',
'Bett', 'Billy Bob', 'Misty', 'Misty', 'Billy Bob', 'Leroy', 'Billy
Bob', 'Billy Bob', 'Misty', 'Billy Bob', 'Raina', 'Betty Sue',
'Misty', 'Misty', 'Misty', 'Betty Sue', 'Mikey', 'Betty Sue', 'Billy
Bob', 'Misty', 'Betty Sue', 'Leroy', 'Betty Sue', 'Billy Bob',
'Betty Sue', 'Billy Bob', 'Betty Sue', 'Louise Jr', 'Billy Bob',
'Misty', 'Leroy', 'Leroy', 'Billy Bob', 'Billy Bob', 'Betty Sue')
print('''Welcome to the White Valley Name Counter. Enter a name, or "most" to see what name is the most used in this great city!''')
print()
keepgoing = 'y'
while keepgoing == 'y':
count = 0
search = input("What name do you want to search for in White Valley database? ")
print()
data_list = list(data)
if search != "most":
print("There are {} people named {}".format(data_list.count(search),search))
print()
elif search == "most":
print("{} is the most common. There are {} of them".format(
data_list.count.most_common(data_list), search))
keepgoing = input('''Want to search another name ("y" for yes)? ''')
print()
我正在尝试使输出看起来像这样:
Welcome to the White Valley Name Counter. Enter a name, or "most" to see what name is the most used in this great city!
What name do you want to search for in White Valley database? john
There are 0 people named john
Want to search another name ("y" for yes)? y
What name do you want to search for in White Valley database? Betty Sue
There are 79 people named Betty Sue
Want to search another name ("y" for yes)? y
What name do you want to search for in White Valley database? most
Billy Bob is most common. There are 93 of them
Want to search another name ("y" for yes)? n
【问题讨论】:
-
用户应该如何搜索名为“most”的人?
标签: python loops for-loop count