2017-03-18 9 views
0

ユーザーが名前を入力すると、その名前の人の数が返されるプログラムを構築しようとしています。 「most」と入力すると、最も使用された名前が返されます。私は下のコードを書こうとしたが、これはちょうど私に各単語のすべてのカウントを与える。リスト内の単語の繰り返しを計算する

import re 

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': 
    search = input("What name do you want to search for in White Valley database? ") 
    data_list = list(data) 
    i_data = set(data_list) 
    for i in i_data: 
     print((i, data_list.count(i))) 
    keepgoing = input('''Want to search another name ("y" for yes)? ''') 

私は私のコードは次のような出力を行いますようにそれを作りたい:

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 
+3

コレクションからインポートカウンター;データ=カウンタ(データ)。これはあなたの人生をはるかに簡単にします。 – Denziloe

答えて

0

あなたがこれを行うには、リストのカウント方法を使用することができます。

ls = [*names*]  #note this is a list! 
while True: 
    x = raw_input("What name do you want to search for in White Valley database? ") 

if x != "most": 
    print "There are %s people named %s" % (ls.count(x), x) 
else: 
    max_name = max(set(ls), key=ls.count) #gets the most common name 
    max_count = ls.count(max_name) 
    print "There are %s people named %s" %(max_count, max_name) 

y = raw_input("Want to search another name ('y' for yes)?") 
if y == "n": break 
0

mostのループと条件を更新します。

while keepgoing == 'y': 

    search = input("What name do you want to search for in White Valley database? ") 

    data_list = list(data) 

    print(data_list) 

    print("There are {} people nammed {}".format(data_list.count(search),search)) 

    keepgoing = input('''Want to search another name ("y" for yes)? ''') 

カウンタを使用すると、実際にあなたの人生が楽になります。

関連する問題