{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\"Drawing\" \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 }