PHPFixing
  • Privacy Policy
  • TOS
  • Ask Question
  • Contact Us
  • Home
  • PHP
  • Programming
  • SQL Injection
  • Web3.0

Wednesday, July 20, 2022

[FIXED] How do I find the highest float from a list?

 July 20, 2022     arrays, highest, integer, list, python     No comments   

Issue

I have made a program that gets a movie you pick from a list and tells you its directors and rating it also tells you if a movie is the highest-rated. I want the program to do the same thing it is doing but instead of just checking if the title is 5 stars, it checks if the rating is higher than all the other floats.

movieDirectorRatingList = [
  ["Munich: The Edge of War", "Christian Schwochow", 4.1],
  ["Avengers:Endgame", "Anthony Russo, Joe Russo and Joss Whedon", 4.8],
  ["Tombstone", "Cosmatos and Kevin Jarre", 4.1],
  ["Waterloo", "George P. and Sergei Bondarchuk", 4.0],
  ["Iron Man", "Jon Favreau", 5.0],
  ["Harry Potter", "Chris Columbus", 4.1],
  ["Percy Jackson", "Thor Freudenthal and Chris Columbus", 3.8],
  ["John Wick", "Chad Stahelski", 4.9],
  ["Avengers:Civil War", "Joe Russo and Anthony Russo" , 2.2]
  #Made a 2d list called movieDirectorRatingList which stores the movies with their name, director and rating
]

movieSelection = input("What movie would you like to know about?\nMunich: The Edge of War, Avengers:Endgame, Tombstone, Waterloo, Iron Man, Harry Potter, Percy Jackson, John Wick or Avengers:Civil War\n")
#Asks the user what movie they would like to know about and stores it in a variable called movieSelection
  
for movie in movieDirectorRatingList:
  #divides the 2d list into smaller sections each known as movie
  title, director, rating = movie 
  #Unpacks each of the movie bits from movieDirectorRatingList and explains what each of the variables within it are in the order of title, director and lastly, rating
  if movieSelection in movie and rating != 5.0:
    print(f"{movieSelection} directed by {director}: {rating}" )
    #prints the movie selec with it's director and rating
    break 
    #stops the program
  elif movieSelection in movie and rating == 5.0:
    print(f"{movieSelection} directed by {director}: {rating}" )
    #prints the movie selec with it's director and rating
    print("This is one of the highest rated movies")
    break
    #stops the program
else:
    print("Movie selection not found")     
    #prints that the movie selection wasn't found 

Solution

In Python you can get the highest value in a list (or in an iterable in general) with the built-in function max:

>>> l = [1, 2, 4, 3]
>>> max(l)
4

In your case you just have to put the ratings into a list:

ratings = [x[2] for x in movieDirectorRatingList]

and then find the highest value:

max(ratings)

An even better solution would be this one suggested by @Matthias:

max(movieDirectorRatingList, key=lambda x: x[2])

This is the same thing, but it allows you to avoid initializing a useless list.



Answered By - FLAK-ZOSO
Answer Checked By - Candace Johnson (PHPFixing Volunteer)
  • Share This:  
  •  Facebook
  •  Twitter
  •  Stumble
  •  Digg
Newer Post Older Post Home

0 Comments:

Post a Comment

Note: Only a member of this blog may post a comment.

Total Pageviews

Featured Post

Why Learn PHP Programming

Why Learn PHP Programming A widely-used open source scripting language PHP is one of the most popular programming languages in the world. It...

Subscribe To

Posts
Atom
Posts
Comments
Atom
Comments

Copyright © PHPFixing