{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
" \n",
"\n",
"\n",
"### Which genre contains the longest movies on average, and how long are they?\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Find the highest ranked movie per genre"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Find the longest movie per year"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Can you print the previous output sorted by year?\n",
"\n",
"
\n",
"
"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Answers"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Which genre contains the longest movies on average, and how long are they?"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"history is the genre with the longest movies at 2h47min\n"
]
}
],
"source": [
"fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')\n",
"genreDict = {}\n",
"\n",
"for line in fh:\n",
" if not line.startswith('#'):\n",
" cols = line.strip().split('|')\n",
" genre = cols[5].strip()\n",
" glist = genre.split(',')\n",
" runtime = cols[3]\n",
" for entry in glist:\n",
" if not entry.lower() in genreDict:\n",
" genreDict[entry.lower()] = [int(runtime)]\n",
" else:\n",
" genreDict[entry.lower()].append(int(runtime))\n",
"fh.close()\n",
" \n",
"longest = [0,''] # save the longest genres\n",
"for genre in genreDict:\n",
" average = sum(genreDict[genre])/len(genreDict[genre])\n",
" if average > longest[0]:\n",
" longest = [average, genre]\n",
"\n",
"hours = longest[0]/3600\n",
"minutes = (longest[0] - (3600*int(hours)))/60\n",
"print(longest[1]+' is the genre with the longest movies at '+str(int(hours))+'h'+str(round(minutes))+'min')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the highest ranked movie per genre"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The best movie for Drama is:\n",
"\tThe Shawshank Redemption (9.3)\n",
"The best movie for War is:\n",
"\tLife Is Beautiful (8.6)\n",
"The best movie for Adventure is:\n",
"\tThe Lord of the Rings: The Return of the King (8.9)\n",
"The best movie for Comedy is:\n",
"\tForrest Gump (8.8)\n",
"The best movie for Family is:\n",
"\tIt's a Wonderful Life (8.6)\n",
"The best movie for Animation is:\n",
"\tSpirited Away (8.6)\n",
"The best movie for Biography is:\n",
"\tDangal (9.0)\n",
"The best movie for History is:\n",
"\tSchindler's List (8.9)\n",
"The best movie for Action is:\n",
"\tThe Dark Knight (9.0)\n",
"The best movie for Crime is:\n",
"\tThe Shawshank Redemption (9.3)\n",
"The best movie for Mystery is:\n",
"\tSe7en (8.6)\n",
"The best movie for Thriller is:\n",
"\tThe Dark Knight (9.0)\n",
"The best movie for Fantasy is:\n",
"\tThe Lord of the Rings: The Return of the King (8.9)\n",
"The best movie for Romance is:\n",
"\tLa La Land (8.6)\n",
"The best movie for Sci-fi is:\n",
"\tInception (8.8)\n",
"The best movie for Western is:\n",
"\tThe Good, the Bad and the Ugly (8.9)\n",
"The best movie for Musical is:\n",
"\tLa La Land (8.6)\n",
"The best movie for Music is:\n",
"\tLike Stars on Earth (8.5)\n",
"The best movie for Historical is:\n",
"\tThere Will Be Blood (8.1)\n",
"The best movie for Sport is:\n",
"\tDangal (9.0)\n",
"The best movie for Film-noir is:\n",
"\tSunset Blvd. (8.5)\n",
"The best movie for Horror is:\n",
"\tAlien (8.5)\n"
]
}
],
"source": [
"fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')\n",
"genreDict = {} \n",
"\n",
"for line in fh:\n",
" if not line.startswith('#'):\n",
" cols = line.strip().split('|')\n",
" rating = float(cols[1].strip())\n",
" movie = cols[6].strip()\n",
" genre = cols[5].strip()\n",
" glist = genre.split(',')\n",
" for entry in glist:\n",
" if not entry.lower() in genreDict: # if genre in dictionary, add first movie\n",
" genreDict[entry.lower()] = [rating, movie] \n",
" else:\n",
" if rating > genreDict[entry.lower()][0]: # only replace if rating is higher\n",
" genreDict[entry.lower()] = [rating, movie] \n",
"fh.close()\n",
"\n",
"for genre in genreDict:\n",
" print('The best movie for '+genre.capitalize()+' is:\\n\\t'+genreDict[genre][1]+' ('+str(genreDict[genre][0])+')')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Find the longest movie per year"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The longest movie for 1957 is:\n",
"\tThe Bridge on the River Kwai (2h41min)\n",
"The longest movie for 1925 is:\n",
"\tThe Gold Rush (1h12min)\n",
"The longest movie for 2009 is:\n",
"\t3 Idiots (2h50min)\n",
"The longest movie for 1928 is:\n",
"\tThe Passion of Joan of Arc (1h54min)\n",
"The longest movie for 1959 is:\n",
"\tBen-Hur (3h32min)\n",
"The longest movie for 1954 is:\n",
"\tSeven Samurai (2h38min)\n",
"The longest movie for 1993 is:\n",
"\tSchindler's List (3h15min)\n",
"The longest movie for 1962 is:\n",
"\tLawrence of Arabia (3h47min)\n",
"The longest movie for 1980 is:\n",
"\tThe Shining (2h22min)\n",
"The longest movie for 1995 is:\n",
"\tBraveheart (2h58min)\n",
"The longest movie for 1987 is:\n",
"\tFull Metal Jacket (1h56min)\n",
"The longest movie for 1984 is:\n",
"\tAmadeus (2h40min)\n",
"The longest movie for 1986 is:\n",
"\tAliens (2h34min)\n",
"The longest movie for 1994 is:\n",
"\tAndaz Apna Apna (2h40min)\n",
"The longest movie for 1941 is:\n",
"\tCitizen Kane (1h59min)\n",
"The longest movie for 1965 is:\n",
"\tFor a Few Dollars More (2h12min)\n",
"The longest movie for 1999 is:\n",
"\tThe Green Mile (3h9min)\n",
"The longest movie for 2016 is:\n",
"\tDangal (2h41min)\n",
"The longest movie for 1992 is:\n",
"\tUnforgiven (2h11min)\n",
"The longest movie for 1976 is:\n",
"\tThe Message (2h57min)\n",
"The longest movie for 2010 is:\n",
"\tInception (2h28min)\n",
"The longest movie for 1940 is:\n",
"\tRebecca (2h10min)\n",
"The longest movie for 1982 is:\n",
"\tGandhi (3h11min)\n",
"The longest movie for 2007 is:\n",
"\tLike Stars on Earth (2h45min)\n",
"The longest movie for 1948 is:\n",
"\tThe Treasure of the Sierra Madre (2h6min)\n",
"The longest movie for 2014 is:\n",
"\tInterstellar (2h49min)\n",
"The longest movie for 2006 is:\n",
"\tRang De Basanti (2h37min)\n",
"The longest movie for 2004 is:\n",
"\tDownfall (2h36min)\n",
"The longest movie for 1931 is:\n",
"\tM (1h39min)\n",
"The longest movie for 1939 is:\n",
"\tGone with the Wind (3h58min)\n",
"The longest movie for 1988 is:\n",
"\tCinema Paradiso (2h35min)\n",
"The longest movie for 1975 is:\n",
"\tBarry Lyndon (3h4min)\n",
"The longest movie for 1953 is:\n",
"\tTokyo Story (2h16min)\n",
"The longest movie for 1927 is:\n",
"\tMetropolis (1h54min)\n",
"The longest movie for 1971 is:\n",
"\tA Clockwork Orange (2h16min)\n",
"The longest movie for 1990 is:\n",
"\tGoodfellas (2h26min)\n",
"The longest movie for 2011 is:\n",
"\tThe Help (2h26min)\n",
"The longest movie for 2008 is:\n",
"\tThe Dark Knight (2h32min)\n",
"The longest movie for 2001 is:\n",
"\tThe Lord of the Rings: The Fellowship of the Ring (2h58min)\n",
"The longest movie for 1963 is:\n",
"\tThe Great Escape (2h52min)\n",
"The longest movie for 2002 is:\n",
"\tThe Lord of the Rings: The Two Towers (2h59min)\n",
"The longest movie for 2012 is:\n",
"\tGangs of Wasseypur (5h20min)\n",
"The longest movie for 1958 is:\n",
"\tVertigo (2h9min)\n",
"The longest movie for 2005 is:\n",
"\tSin City (2h27min)\n",
"The longest movie for 1961 is:\n",
"\tJudgment at Nuremberg (3h6min)\n",
"The longest movie for 1968 is:\n",
"\t2001: A Space Odyssey (2h29min)\n",
"The longest movie for 1973 is:\n",
"\tThe Sting (2h9min)\n",
"The longest movie for 1991 is:\n",
"\tTerminator 2: Judgment Day (2h33min)\n",
"The longest movie for 1949 is:\n",
"\tKind Hearts and Coronets (1h46min)\n",
"The longest movie for 1996 is:\n",
"\tThe Bandit (2h8min)\n",
"The longest movie for 2003 is:\n",
"\tThe Lord of the Rings: The Return of the King (3h21min)\n",
"The longest movie for 1997 is:\n",
"\tL.A. Confidential (2h18min)\n",
"The longest movie for 1974 is:\n",
"\tThe Godfather: Part II (3h22min)\n",
"The longest movie for 1966 is:\n",
"\tThe Good, the Bad and the Ugly (2h41min)\n",
"The longest movie for 2013 is:\n",
"\tThe Wolf of Wall Street (3h0min)\n",
"The longest movie for 1952 is:\n",
"\tIkiru (2h23min)\n",
"The longest movie for 1950 is:\n",
"\tAll About Eve (2h18min)\n",
"The longest movie for 2000 is:\n",
"\tHera Pheri (2h36min)\n",
"The longest movie for 1989 is:\n",
"\tIndiana Jones and the Last Crusade (2h7min)\n",
"The longest movie for 1979 is:\n",
"\tStalker (2h43min)\n",
"The longest movie for 2015 is:\n",
"\tDrishyam (2h43min)\n",
"The longest movie for 1951 is:\n",
"\tStrangers on a Train (1h41min)\n",
"The longest movie for 1985 is:\n",
"\tRan (2h42min)\n",
"The longest movie for 1934 is:\n",
"\tIt Happened One Night (1h45min)\n",
"The longest movie for 1983 is:\n",
"\tScarface (2h50min)\n",
"The longest movie for 1981 is:\n",
"\tDas Boot (3h59min)\n",
"The longest movie for 1998 is:\n",
"\tSaving Private Ryan (2h49min)\n",
"The longest movie for 1977 is:\n",
"\tStar Wars: Episode IV - A New Hope (2h1min)\n",
"The longest movie for 1972 is:\n",
"\tThe Godfather (2h55min)\n",
"The longest movie for 1942 is:\n",
"\tCasablanca (1h42min)\n",
"The longest movie for 1969 is:\n",
"\tButch Cassidy and the Sundance Kid (1h50min)\n",
"The longest movie for 1936 is:\n",
"\tModern Times (1h27min)\n",
"The longest movie for 1921 is:\n",
"\tThe Kid (1h8min)\n",
"The longest movie for 1964 is:\n",
"\tDr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1h35min)\n",
"The longest movie for 1955 is:\n",
"\tDiabolique (1h56min)\n",
"The longest movie for 1967 is:\n",
"\tCool Hand Luke (2h6min)\n",
"The longest movie for 1960 is:\n",
"\tThe Apartment (2h5min)\n",
"The longest movie for 1946 is:\n",
"\tThe Best Years of Our Lives (2h52min)\n",
"The longest movie for 1926 is:\n",
"\tThe General (1h15min)\n",
"The longest movie for 1944 is:\n",
"\tDouble Indemnity (1h47min)\n",
"The longest movie for 1978 is:\n",
"\tThe Deer Hunter (3h3min)\n"
]
}
],
"source": [
"fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')\n",
"yearDict = {} \n",
"\n",
"for line in fh:\n",
" if not line.startswith('#'):\n",
" cols = line.strip().split('|')\n",
" year = int(cols[2].strip())\n",
" length = int(cols[3].strip())\n",
" movie = cols[6].strip()\n",
" if not year in yearDict: # if genre in dictionary, add first movie\n",
" yearDict[year] = [length, movie] \n",
" else:\n",
" if length > yearDict[year][0]: # only replace if rating is higher\n",
" yearDict[year] = [length, movie] \n",
"fh.close()\n",
"\n",
"for year in yearDict:\n",
" hours = yearDict[year][0]/3600\n",
" minutes = (yearDict[year][0] - (3600*int(hours)))/60\n",
" print('The longest movie for '+str(year)+' is:\\n\\t'+yearDict[year][1]+\\\n",
" ' ('+str(int(hours))+'h'+str(round(minutes))+'min)')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Can you print the previous output sorted by year?"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The longest movie for 1921 is:\n",
"\tThe Kid (1h8min)\n",
"The longest movie for 1925 is:\n",
"\tThe Gold Rush (1h12min)\n",
"The longest movie for 1926 is:\n",
"\tThe General (1h15min)\n",
"The longest movie for 1927 is:\n",
"\tMetropolis (1h54min)\n",
"The longest movie for 1928 is:\n",
"\tThe Passion of Joan of Arc (1h54min)\n",
"The longest movie for 1931 is:\n",
"\tM (1h39min)\n",
"The longest movie for 1934 is:\n",
"\tIt Happened One Night (1h45min)\n",
"The longest movie for 1936 is:\n",
"\tModern Times (1h27min)\n",
"The longest movie for 1939 is:\n",
"\tGone with the Wind (3h58min)\n",
"The longest movie for 1940 is:\n",
"\tRebecca (2h10min)\n",
"The longest movie for 1941 is:\n",
"\tCitizen Kane (1h59min)\n",
"The longest movie for 1942 is:\n",
"\tCasablanca (1h42min)\n",
"The longest movie for 1944 is:\n",
"\tDouble Indemnity (1h47min)\n",
"The longest movie for 1946 is:\n",
"\tThe Best Years of Our Lives (2h52min)\n",
"The longest movie for 1948 is:\n",
"\tThe Treasure of the Sierra Madre (2h6min)\n",
"The longest movie for 1949 is:\n",
"\tKind Hearts and Coronets (1h46min)\n",
"The longest movie for 1950 is:\n",
"\tAll About Eve (2h18min)\n",
"The longest movie for 1951 is:\n",
"\tStrangers on a Train (1h41min)\n",
"The longest movie for 1952 is:\n",
"\tIkiru (2h23min)\n",
"The longest movie for 1953 is:\n",
"\tTokyo Story (2h16min)\n",
"The longest movie for 1954 is:\n",
"\tSeven Samurai (2h38min)\n",
"The longest movie for 1955 is:\n",
"\tDiabolique (1h56min)\n",
"The longest movie for 1957 is:\n",
"\tThe Bridge on the River Kwai (2h41min)\n",
"The longest movie for 1958 is:\n",
"\tVertigo (2h9min)\n",
"The longest movie for 1959 is:\n",
"\tBen-Hur (3h32min)\n",
"The longest movie for 1960 is:\n",
"\tThe Apartment (2h5min)\n",
"The longest movie for 1961 is:\n",
"\tJudgment at Nuremberg (3h6min)\n",
"The longest movie for 1962 is:\n",
"\tLawrence of Arabia (3h47min)\n",
"The longest movie for 1963 is:\n",
"\tThe Great Escape (2h52min)\n",
"The longest movie for 1964 is:\n",
"\tDr. Strangelove or: How I Learned to Stop Worrying and Love the Bomb (1h35min)\n",
"The longest movie for 1965 is:\n",
"\tFor a Few Dollars More (2h12min)\n",
"The longest movie for 1966 is:\n",
"\tThe Good, the Bad and the Ugly (2h41min)\n",
"The longest movie for 1967 is:\n",
"\tCool Hand Luke (2h6min)\n",
"The longest movie for 1968 is:\n",
"\t2001: A Space Odyssey (2h29min)\n",
"The longest movie for 1969 is:\n",
"\tButch Cassidy and the Sundance Kid (1h50min)\n",
"The longest movie for 1971 is:\n",
"\tA Clockwork Orange (2h16min)\n",
"The longest movie for 1972 is:\n",
"\tThe Godfather (2h55min)\n",
"The longest movie for 1973 is:\n",
"\tThe Sting (2h9min)\n",
"The longest movie for 1974 is:\n",
"\tThe Godfather: Part II (3h22min)\n",
"The longest movie for 1975 is:\n",
"\tBarry Lyndon (3h4min)\n",
"The longest movie for 1976 is:\n",
"\tThe Message (2h57min)\n",
"The longest movie for 1977 is:\n",
"\tStar Wars: Episode IV - A New Hope (2h1min)\n",
"The longest movie for 1978 is:\n",
"\tThe Deer Hunter (3h3min)\n",
"The longest movie for 1979 is:\n",
"\tStalker (2h43min)\n",
"The longest movie for 1980 is:\n",
"\tThe Shining (2h22min)\n",
"The longest movie for 1981 is:\n",
"\tDas Boot (3h59min)\n",
"The longest movie for 1982 is:\n",
"\tGandhi (3h11min)\n",
"The longest movie for 1983 is:\n",
"\tScarface (2h50min)\n",
"The longest movie for 1984 is:\n",
"\tAmadeus (2h40min)\n",
"The longest movie for 1985 is:\n",
"\tRan (2h42min)\n",
"The longest movie for 1986 is:\n",
"\tAliens (2h34min)\n",
"The longest movie for 1987 is:\n",
"\tFull Metal Jacket (1h56min)\n",
"The longest movie for 1988 is:\n",
"\tCinema Paradiso (2h35min)\n",
"The longest movie for 1989 is:\n",
"\tIndiana Jones and the Last Crusade (2h7min)\n",
"The longest movie for 1990 is:\n",
"\tGoodfellas (2h26min)\n",
"The longest movie for 1991 is:\n",
"\tTerminator 2: Judgment Day (2h33min)\n",
"The longest movie for 1992 is:\n",
"\tUnforgiven (2h11min)\n",
"The longest movie for 1993 is:\n",
"\tSchindler's List (3h15min)\n",
"The longest movie for 1994 is:\n",
"\tAndaz Apna Apna (2h40min)\n",
"The longest movie for 1995 is:\n",
"\tBraveheart (2h58min)\n",
"The longest movie for 1996 is:\n",
"\tThe Bandit (2h8min)\n",
"The longest movie for 1997 is:\n",
"\tL.A. Confidential (2h18min)\n",
"The longest movie for 1998 is:\n",
"\tSaving Private Ryan (2h49min)\n",
"The longest movie for 1999 is:\n",
"\tThe Green Mile (3h9min)\n",
"The longest movie for 2000 is:\n",
"\tHera Pheri (2h36min)\n",
"The longest movie for 2001 is:\n",
"\tThe Lord of the Rings: The Fellowship of the Ring (2h58min)\n",
"The longest movie for 2002 is:\n",
"\tThe Lord of the Rings: The Two Towers (2h59min)\n",
"The longest movie for 2003 is:\n",
"\tThe Lord of the Rings: The Return of the King (3h21min)\n",
"The longest movie for 2004 is:\n",
"\tDownfall (2h36min)\n",
"The longest movie for 2005 is:\n",
"\tSin City (2h27min)\n",
"The longest movie for 2006 is:\n",
"\tRang De Basanti (2h37min)\n",
"The longest movie for 2007 is:\n",
"\tLike Stars on Earth (2h45min)\n",
"The longest movie for 2008 is:\n",
"\tThe Dark Knight (2h32min)\n",
"The longest movie for 2009 is:\n",
"\t3 Idiots (2h50min)\n",
"The longest movie for 2010 is:\n",
"\tInception (2h28min)\n",
"The longest movie for 2011 is:\n",
"\tThe Help (2h26min)\n",
"The longest movie for 2012 is:\n",
"\tGangs of Wasseypur (5h20min)\n",
"The longest movie for 2013 is:\n",
"\tThe Wolf of Wall Street (3h0min)\n",
"The longest movie for 2014 is:\n",
"\tInterstellar (2h49min)\n",
"The longest movie for 2015 is:\n",
"\tDrishyam (2h43min)\n",
"The longest movie for 2016 is:\n",
"\tDangal (2h41min)\n"
]
}
],
"source": [
"fh = open('../../downloads/250.imdb', 'r', encoding = 'utf-8')\n",
"yearDict = {} \n",
"\n",
"for line in fh:\n",
" if not line.startswith('#'):\n",
" cols = line.strip().split('|')\n",
" year = int(cols[2].strip())\n",
" length = int(cols[3].strip())\n",
" movie = cols[6].strip()\n",
" if not year in yearDict: # if genre in dictionary, add first movie\n",
" yearDict[year] = [length, movie] \n",
" else:\n",
" if length > yearDict[year][0]: # only replace if rating is higher\n",
" yearDict[year] = [length, movie] \n",
"fh.close()\n",
"\n",
"sorted_years = sorted(list(yearDict.keys()))\n",
"\n",
"for year in sorted_years:\n",
" hours = yearDict[year][0]/3600\n",
" minutes = (yearDict[year][0] - (3600*int(hours)))/60\n",
" print('The longest movie for '+str(year)+' is:\\n\\t'+yearDict[year][1]+\\\n",
" ' ('+str(int(hours))+'h'+str(round(minutes))+'min)')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}