{"id":349,"date":"2025-12-05T21:56:16","date_gmt":"2025-12-05T21:56:16","guid":{"rendered":"https:\/\/sites.wp.odu.edu\/aidansidwell\/?page_id=349"},"modified":"2025-12-05T22:18:36","modified_gmt":"2025-12-05T22:18:36","slug":"movie-sorter","status":"publish","type":"page","link":"https:\/\/sites.wp.odu.edu\/aidansidwell\/monty\/movie-sorter\/","title":{"rendered":"Movie Sorter"},"content":{"rendered":"\n<pre class=\"wp-block-code\"><code>import os\r\n\r\nos.chdir(os.path.dirname(os.path.realpath(__file__)))\r\n\r\nclass Movie:\r\n    #initializing movie class and maiking sure release_year and revenue are seen as numbers\r\n    def __init__(self, title, director, genre, release_year, revenue):\r\n        self.title = title\r\n        self.director = director\r\n        self.genre = genre\r\n        self.release_year = int(release_year)\r\n        self.revenue = float(revenue)\r\n\r\n    #customizing print functionality\r\n    def __str__(self):\r\n        return f\"{self.title} by {self.director} ({self.release_year}) ${self.revenue}M\"\r\n\r\n#reading the data and passing it through to create classes and adding them to a list of classes\r\ndef read_data(filepath):\r\n    movie_list = &#091;]\r\n    with open(filepath, 'r') as file:\r\n        for line in file:\r\n            title, director, genre, release_year, revenue = line.strip().split(\",\")\r\n            movie_list.append(Movie(title, director, genre, release_year, revenue))\r\n    return movie_list\r\n\r\n#displaying movies in a new line\r\ndef display_movies(movies):\r\n    print(\"Movie List:\")\r\n    for movie in movies:\r\n        print(movie)\r\n    print()\r\n\r\n#sorting and displaying movies by year\r\ndef display_sorted_movies(movies):\r\n    print(\"Sorted Movie List:\")\r\n    sorted_movies = sorted(movies, key=lambda movie: movie.release_year)\r\n    for movie in sorted_movies:\r\n        print(movie)\r\n    print()\r\n\r\n#displaying only movies that are in the romance genre\r\ndef display_movies_by_romance(movies):\r\n    sorted_movies = &#091;]\r\n    for movie in movies:\r\n        if movie.genre == \"Romance\":\r\n            sorted_movies.append(movie)\r\n    print(\"Movies In Romance Genre:\")\r\n    for movie in sorted_movies:\r\n        print(movie)\r\n    print()\r\n\r\n#displaying the highest revenue for an action movie before 2010\r\ndef highest_action_pre2010(movies):\r\n    inrange = &#091;]\r\n    for movie in movies:\r\n        if movie.genre == \"Action\" and movie.release_year &lt; 2010:\r\n            inrange.append(movie)\r\n    sorted_movies = sorted(inrange, key=lambda movie: movie.revenue, reverse = True)\r\n    print(f\"Highest Grossing 'Action' Movie Before 2010:\\n{sorted_movies&#091;0]}\")\r\n       \r\ndef main():\r\n    filepath = \"movies.txt\"       \r\n    movie_list = read_data(filepath)\r\n    display_movies(movie_list)\r\n    display_sorted_movies(movie_list)\r\n    display_movies_by_romance(movie_list)\r\n    highest_action_pre2010(movie_list)\r\n\r\nif __name__ == \"__main__\":\r\n    main()<\/code><\/pre>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-1 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading has-text-align-center\">Input<\/h2>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h2 class=\"wp-block-heading has-text-align-center\">Output<\/h2>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-layout-2 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"467\" height=\"275\" src=\"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-content\/uploads\/sites\/34248\/2025\/12\/image-6.png\" alt=\"\" class=\"wp-image-354\" style=\"width:661px;height:auto\" srcset=\"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-content\/uploads\/sites\/34248\/2025\/12\/image-6.png 467w, https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-content\/uploads\/sites\/34248\/2025\/12\/image-6-300x177.png 300w\" sizes=\"(max-width: 467px) 100vw, 467px\" \/><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"703\" height=\"755\" src=\"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-content\/uploads\/sites\/34248\/2025\/12\/image-7.png\" alt=\"\" class=\"wp-image-355\" style=\"width:675px;height:auto\" srcset=\"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-content\/uploads\/sites\/34248\/2025\/12\/image-7.png 703w, https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-content\/uploads\/sites\/34248\/2025\/12\/image-7-279x300.png 279w\" sizes=\"(max-width: 703px) 100vw, 703px\" \/><\/figure>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-layout-1 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/sites.wp.odu.edu\/aidansidwell\/monty\/\">            Back            <\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Input Output<\/p>\n","protected":false},"author":27530,"featured_media":0,"parent":133,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/pages\/349"}],"collection":[{"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/users\/27530"}],"replies":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/comments?post=349"}],"version-history":[{"count":5,"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/pages\/349\/revisions"}],"predecessor-version":[{"id":362,"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/pages\/349\/revisions\/362"}],"up":[{"embeddable":true,"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/pages\/133"}],"wp:attachment":[{"href":"https:\/\/sites.wp.odu.edu\/aidansidwell\/wp-json\/wp\/v2\/media?parent=349"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}