Which genre contains the longest movies on average, and how long are they?
fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')
genreDict = {}
for line in fh:
if not line.startswith('#'):
cols = line.strip().split('|')
genre = cols[5].strip()
glist = genre.split(',')
runtime = cols[3]
for entry in glist:
if not entry.lower() in genreDict:
genreDict[entry.lower()] = [int(runtime)]
else:
genreDict[entry.lower()].append(int(runtime))
fh.close()
longest = [0,''] # save the longest genres
for genre in genreDict:
average = sum(genreDict[genre])/len(genreDict[genre])
if average > longest[0]:
longest = [average, genre]
hours = longest[0]/3600
minutes = (longest[0] - (3600*int(hours)))/60
print(longest[1]+' is the genre with the longest movies at '+str(int(hours))+'h'+str(round(minutes))+'min')
history is the genre with the longest movies at 2h47min
Find the highest ranked movie per genre
fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')
genreDict = {}
for line in fh:
if not line.startswith('#'):
cols = line.strip().split('|')
rating = float(cols[1].strip())
movie = cols[6].strip()
genre = cols[5].strip()
glist = genre.split(',')
for entry in glist:
if not entry.lower() in genreDict: # if genre in dictionary, add first movie
genreDict[entry.lower()] = [rating, movie]
else:
if rating > genreDict[entry.lower()][0]: # only replace if rating is higher
genreDict[entry.lower()] = [rating, movie]
fh.close()
for genre in genreDict:
print('The best movie for '+genre.capitalize()+' is:\n\t'+genreDict[genre][1]+' ('+str(genreDict[genre][0])+')')
The best movie for Drama is: The Shawshank Redemption (9.3) The best movie for War is: Life Is Beautiful (8.6) The best movie for Adventure is: The Lord of the Rings: The Return of the King (8.9) The best movie for Comedy is: Forrest Gump (8.8) The best movie for Family is: It's a Wonderful Life (8.6) The best movie for Animation is: Spirited Away (8.6) The best movie for Biography is: Dangal (9.0) The best movie for History is: Schindler's List (8.9) The best movie for Action is: The Dark Knight (9.0) The best movie for Crime is: The Shawshank Redemption (9.3) The best movie for Mystery is: Se7en (8.6) The best movie for Thriller is: The Dark Knight (9.0) The best movie for Fantasy is: The Lord of the Rings: The Return of the King (8.9) The best movie for Romance is: La La Land (8.6) The best movie for Sci-fi is: Inception (8.8) The best movie for Western is: The Good, the Bad and the Ugly (8.9) The best movie for Musical is: La La Land (8.6) The best movie for Music is: Like Stars on Earth (8.5) The best movie for Historical is: There Will Be Blood (8.1) The best movie for Sport is: Dangal (9.0) The best movie for Film-noir is: Sunset Blvd. (8.5) The best movie for Horror is: Alien (8.5)
Find the longest movie per year
fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')
yearDict = {}
for line in fh:
if not line.startswith('#'):
cols = line.strip().split('|')
year = int(cols[2].strip())
length = int(cols[3].strip())
movie = cols[6].strip()
if not year in yearDict: # if genre in dictionary, add first movie
yearDict[year] = [length, movie]
else:
if length > yearDict[year][0]: # only replace if rating is higher
yearDict[year] = [length, movie]
fh.close()
for year in yearDict:
hours = yearDict[year][0]/3600
minutes = (yearDict[year][0] - (3600*int(hours)))/60
print('The longest movie for '+str(year)+' is:\n\t'+yearDict[year][1]+\
' ('+str(int(hours))+'h'+str(round(minutes))+'min)')
The longest movie for 1957 is: The Bridge on the River Kwai (2h41min) The longest movie for 1925 is: The Gold Rush (1h12min) The longest movie for 2009 is: 3 Idiots (2h50min) The longest movie for 1928 is: The Passion of Joan of Arc (1h54min) The longest movie for 1959 is: Ben-Hur (3h32min) The longest movie for 1954 is: Seven Samurai (2h38min) The longest movie for 1993 is: Schindler's List (3h15min) The longest movie for 1962 is: Lawrence of Arabia (3h47min) The longest movie for 1980 is: The Shining (2h22min) The longest movie for 1995 is: Braveheart (2h58min) The longest movie for 1987 is: Full Metal Jacket (1h56min) The longest movie for 1984 is: Amadeus (2h40min) The longest movie for 1986 is: Aliens (2h34min) The longest movie for 1994 is: Andaz Apna Apna (2h40min) The longest movie for 1941 is: Citizen Kane (1h59min) The longest movie for 1965 is: For a Few Dollars More (2h12min) The longest movie for 1999 is: The Green Mile (3h9min) The longest movie for 2016 is: Dangal (2h41min) The longest movie for 1992 is: Unforgiven (2h11min) The longest movie for 1976 is: The Message (2h57min) The longest movie for 2010 is: Inception (2h28min) The longest movie for 1940 is: Rebecca (2h10min) The longest movie for 1982 is: Gandhi (3h11min) The longest movie for 2007 is: Like Stars on Earth (2h45min) The longest movie for 1948 is: The Treasure of the Sierra Madre (2h6min) The longest movie for 2014 is: Interstellar (2h49min) The longest movie for 2006 is: Rang De Basanti (2h37min) The longest movie for 2004 is: Downfall (2h36min) The longest movie for 1931 is: M (1h39min) The longest movie for 1939 is: Gone with the Wind (3h58min) The longest movie for 1988 is: Cinema Paradiso (2h35min) The longest movie for 1975 is: Barry Lyndon (3h4min) The longest movie for 1953 is: Tokyo Story (2h16min) The longest movie for 1927 is: Metropolis (1h54min) The longest movie for 1971 is: A Clockwork Orange (2h16min) The longest movie for 1990 is: Goodfellas (2h26min) The longest movie for 2011 is: The Help (2h26min) The longest movie for 2008 is: The Dark Knight (2h32min) The longest movie for 2001 is: The Lord of the Rings: The Fellowship of the Ring (2h58min) The longest movie for 1963 is: The Great Escape (2h52min) The longest movie for 2002 is: The Lord of the Rings: The Two Towers (2h59min) The longest movie for 2012 is: Gangs of Wasseypur (5h20min) The longest movie for 1958 is: Vertigo (2h9min) The longest movie for 2005 is: Sin City (2h27min) The longest movie for 1961 is: Judgment at Nuremberg (3h6min) The longest movie for 1968 is: 2001: A Space Odyssey (2h29min) The longest movie for 1973 is: The Sting (2h9min) The longest movie for 1991 is: Terminator 2: Judgment Day (2h33min) The longest movie for 1949 is: Kind Hearts and Coronets (1h46min) The longest movie for 1996 is: The Bandit (2h8min) The longest movie for 2003 is: The Lord of the Rings: The Return of the King (3h21min) The longest movie for 1997 is: L.A. Confidential (2h18min) The longest movie for 1974 is: The Godfather: Part II (3h22min) The longest movie for 1966 is: The Good, the Bad and the Ugly (2h41min) The longest movie for 2013 is: The Wolf of Wall Street (3h0min) The longest movie for 1952 is: Ikiru (2h23min) The longest movie for 1950 is: All About Eve (2h18min) The longest movie for 2000 is: Hera Pheri (2h36min) The longest movie for 1989 is: Indiana Jones and the Last Crusade (2h7min) The longest movie for 1979 is: Stalker (2h43min) The longest movie for 2015 is: Drishyam (2h43min) The longest movie for 1951 is: Strangers on a Train (1h41min) The longest movie for 1985 is: Ran (2h42min) The longest movie for 1934 is: It Happened One Night (1h45min) The longest movie for 1983 is: Scarface (2h50min) The longest movie for 1981 is: Das Boot (3h59min) The longest movie for 1998 is: Saving Private Ryan (2h49min) The longest movie for 1977 is: Star Wars: Episode IV - A New Hope (2h1min) The longest movie for 1972 is: The Godfather (2h55min) The longest movie for 1942 is: Casablanca (1h42min) The longest movie for 1969 is: Butch Cassidy and the Sundance Kid (1h50min) The longest movie for 1936 is: Modern Times (1h27min) The longest movie for 1921 is: The Kid (1h8min) The longest movie for 1964 is: Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1h35min) The longest movie for 1955 is: Diabolique (1h56min) The longest movie for 1967 is: Cool Hand Luke (2h6min) The longest movie for 1960 is: The Apartment (2h5min) The longest movie for 1946 is: The Best Years of Our Lives (2h52min) The longest movie for 1926 is: The General (1h15min) The longest movie for 1944 is: Double Indemnity (1h47min) The longest movie for 1978 is: The Deer Hunter (3h3min)
Can you print the previous output sorted by year?
fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')
yearDict = {}
for line in fh:
if not line.startswith('#'):
cols = line.strip().split('|')
year = int(cols[2].strip())
length = int(cols[3].strip())
movie = cols[6].strip()
if not year in yearDict: # if genre in dictionary, add first movie
yearDict[year] = [length, movie]
else:
if length > yearDict[year][0]: # only replace if rating is higher
yearDict[year] = [length, movie]
fh.close()
sorted_years = sorted(list(yearDict.keys()))
for year in sorted_years:
hours = yearDict[year][0]/3600
minutes = (yearDict[year][0] - (3600*int(hours)))/60
print('The longest movie for '+str(year)+' is:\n\t'+yearDict[year][1]+\
' ('+str(int(hours))+'h'+str(round(minutes))+'min)')
The longest movie for 1921 is: The Kid (1h8min) The longest movie for 1925 is: The Gold Rush (1h12min) The longest movie for 1926 is: The General (1h15min) The longest movie for 1927 is: Metropolis (1h54min) The longest movie for 1928 is: The Passion of Joan of Arc (1h54min) The longest movie for 1931 is: M (1h39min) The longest movie for 1934 is: It Happened One Night (1h45min) The longest movie for 1936 is: Modern Times (1h27min) The longest movie for 1939 is: Gone with the Wind (3h58min) The longest movie for 1940 is: Rebecca (2h10min) The longest movie for 1941 is: Citizen Kane (1h59min) The longest movie for 1942 is: Casablanca (1h42min) The longest movie for 1944 is: Double Indemnity (1h47min) The longest movie for 1946 is: The Best Years of Our Lives (2h52min) The longest movie for 1948 is: The Treasure of the Sierra Madre (2h6min) The longest movie for 1949 is: Kind Hearts and Coronets (1h46min) The longest movie for 1950 is: All About Eve (2h18min) The longest movie for 1951 is: Strangers on a Train (1h41min) The longest movie for 1952 is: Ikiru (2h23min) The longest movie for 1953 is: Tokyo Story (2h16min) The longest movie for 1954 is: Seven Samurai (2h38min) The longest movie for 1955 is: Diabolique (1h56min) The longest movie for 1957 is: The Bridge on the River Kwai (2h41min) The longest movie for 1958 is: Vertigo (2h9min) The longest movie for 1959 is: Ben-Hur (3h32min) The longest movie for 1960 is: The Apartment (2h5min) The longest movie for 1961 is: Judgment at Nuremberg (3h6min) The longest movie for 1962 is: Lawrence of Arabia (3h47min) The longest movie for 1963 is: The Great Escape (2h52min) The longest movie for 1964 is: Dr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1h35min) The longest movie for 1965 is: For a Few Dollars More (2h12min) The longest movie for 1966 is: The Good, the Bad and the Ugly (2h41min) The longest movie for 1967 is: Cool Hand Luke (2h6min) The longest movie for 1968 is: 2001: A Space Odyssey (2h29min) The longest movie for 1969 is: Butch Cassidy and the Sundance Kid (1h50min) The longest movie for 1971 is: A Clockwork Orange (2h16min) The longest movie for 1972 is: The Godfather (2h55min) The longest movie for 1973 is: The Sting (2h9min) The longest movie for 1974 is: The Godfather: Part II (3h22min) The longest movie for 1975 is: Barry Lyndon (3h4min) The longest movie for 1976 is: The Message (2h57min) The longest movie for 1977 is: Star Wars: Episode IV - A New Hope (2h1min) The longest movie for 1978 is: The Deer Hunter (3h3min) The longest movie for 1979 is: Stalker (2h43min) The longest movie for 1980 is: The Shining (2h22min) The longest movie for 1981 is: Das Boot (3h59min) The longest movie for 1982 is: Gandhi (3h11min) The longest movie for 1983 is: Scarface (2h50min) The longest movie for 1984 is: Amadeus (2h40min) The longest movie for 1985 is: Ran (2h42min) The longest movie for 1986 is: Aliens (2h34min) The longest movie for 1987 is: Full Metal Jacket (1h56min) The longest movie for 1988 is: Cinema Paradiso (2h35min) The longest movie for 1989 is: Indiana Jones and the Last Crusade (2h7min) The longest movie for 1990 is: Goodfellas (2h26min) The longest movie for 1991 is: Terminator 2: Judgment Day (2h33min) The longest movie for 1992 is: Unforgiven (2h11min) The longest movie for 1993 is: Schindler's List (3h15min) The longest movie for 1994 is: Andaz Apna Apna (2h40min) The longest movie for 1995 is: Braveheart (2h58min) The longest movie for 1996 is: The Bandit (2h8min) The longest movie for 1997 is: L.A. Confidential (2h18min) The longest movie for 1998 is: Saving Private Ryan (2h49min) The longest movie for 1999 is: The Green Mile (3h9min) The longest movie for 2000 is: Hera Pheri (2h36min) The longest movie for 2001 is: The Lord of the Rings: The Fellowship of the Ring (2h58min) The longest movie for 2002 is: The Lord of the Rings: The Two Towers (2h59min) The longest movie for 2003 is: The Lord of the Rings: The Return of the King (3h21min) The longest movie for 2004 is: Downfall (2h36min) The longest movie for 2005 is: Sin City (2h27min) The longest movie for 2006 is: Rang De Basanti (2h37min) The longest movie for 2007 is: Like Stars on Earth (2h45min) The longest movie for 2008 is: The Dark Knight (2h32min) The longest movie for 2009 is: 3 Idiots (2h50min) The longest movie for 2010 is: Inception (2h28min) The longest movie for 2011 is: The Help (2h26min) The longest movie for 2012 is: Gangs of Wasseypur (5h20min) The longest movie for 2013 is: The Wolf of Wall Street (3h0min) The longest movie for 2014 is: Interstellar (2h49min) The longest movie for 2015 is: Drishyam (2h43min) The longest movie for 2016 is: Dangal (2h41min)