ユーザーが名前を入力すると、その名前の人の数が返されるプログラムを構築しようとしています。 「most」と入力すると、最も使用された名前が返されます。私は何とか個々の単語を数えていますが、プログラムを定義して最も頻繁に出現する単語を数えさせる方法がわかりません。リスト内で最も頻繁に使用される単語を数える
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()
私はこのような出力に見えるようにしようとしています:名前が発生した回数をカウントする
import collections
data = ('Billy Bob', 'Misty', …)
counts = collections.Counter(data)
# add an additional 'Misty'
counts.update(['Misty'])
# most seen name
if counts:
name, count = counts.most_common(1)[0]
print("most common name is {} with a count of {}".format(name, count))
else:
print("no names available")
name = "Billy Bob"
count = counts.get(name)
if count is not None:
print("There are {} people named {}".format(count, name))
else:
print("There is no {}".format(name))
「most」という名前の人物を検索するにはどうすればよいですか? –