1

次のような多くの行を含むテキスト ファイルが与えられます...多くのランダムな情報

Spiaks Restaurant|42.74|-73.70|2 Archibald St+Watervliet, NY 12189| http://www.yelp.com/biz/spiaks-restaurant-watervliet|イタリア語|4|5|4|3|3|4|4

たとえば、Spiaks Restaurant は 0 位、42.74 は 1 位、-73.70 は 2 位です.... Italian は 5 位です... 4|5|4|3|3|4|4 は別のリストです。 ...つまり、基本的にリスト内のリストで、数字の 4 は 6 位、5 は 7 位になります。

ユーザーに尋ねる必要があり、ユーザーは次のように返信する必要があります。

What type of restaurant would you like => Italian
What is the minimum rating => 3.6

結果は次のようになります。

Name: Spiaks Restaurant; Rating 3.86
Name: Lo Portos; Rating 4.00
Name: Verdiles Restaurant; Rating 4.00
Found 3 restaurants.

これが私のコードです:

rest_type = raw_input("What type of restaurant would you like => ")
min_rate = float(raw_input("What is the minimum rating => "))

def parse_line(text_file):
count = 0.0
a_strip = text_file.strip('\n')
b_split = a_strip.split('|')

for i in range(6, len(b_split)):
    b_split[i] = int(b_split[i]) # Takes the current indices in the list and converts it to integers
    count += b_split[i] # Add up all of the integers values to get the total ratings
    avg_rate = count/len(b_split[6:len(b_split)]) # Takes the total ratings & divides it by the length

#The above basically calculates the average of the numbers like 4|5|4|3|3|4|4

    if (rest_type == b_split[5] and avg_rate >= min_rate):
        print b_split[0], avg_rate

結果の問題は..私は得る:

None

これが非常に長い質問であることは承知していますが、誰かが私に洞察を与えることができれば幸いです!

4

1 に答える 1

0

集計したすべての情報を印刷してみましたか?

特定のレストランを解析しようとした場合や、何も解析せずに空のリストになってしまった場合など、エラーが発生している場所を見つけます。

于 2013-03-04T06:53:23.717 に答える