Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python - Run for loop 3 times

Tags:

python

loops

So I have this assignment and I have a question about a part I don't know how to do, can you guys help me?

def main():

 # Please see the comments 

    largest = 0

    for index in range(3):  # Enter the value(s) in the parenthesis to run the loop 3 times
        number1 = int(input("Please enter the first number: "))

        number2 = int(input("Please enter the second number: "))

        number3 = int(input("Please enter the third number: "))



    # insert call to function find_largest after this comment.
    # find_largest will take in three parameters and will return the largest of the 3 numbers

    result = find_largest(number1, number2, number3)

    # insert the statement to print the three numbers entered and the largest number after this comment.
    print("The numbers you entered were, \n", [number1, number2, number3]) 
    print ("The largest of the numbers you entered is", result)


def find_largest(a, b, c):

    # insert parameters in the parenthesis
    # Write the code for this function here.
    # find_largest will take in three parameters and will return the largest of the 3 numbers
    # These three numbers are passed in as parameters from the main function
    # Hint: if and elif - no loop needed here

    if (a > b) and (a > c):
       largest = a
    elif (b > a) and (b > c):
       largest = b
    else:
       largest = c

    return largest


main()    # this is the call to main() that will make the program run

So, my question is the part:

for index in range(3):  # Enter the value(s) in the parenthesis to run the loop 3 times

I don't know what to add so the loop run 2 more times after it has found the largest number

like image 255
Vink Avatar asked May 02 '15 17:05

Vink


1 Answers

The loop you have makes the first two iterations of the loop pointless, as each time you loop, you are reassigning new numbers to the three number variables. As a result, only the numbers entered in the last iteration of the loop are ever used for anything. I think this would make more sense:

numbers = []

for i in range(3):
    input = int(input("Enter number: "))
    numbers.append(input)

This will give you a list called numbers with 3 numbers in it entered by the user. Then you can do what you want with them. Having said that, you really don't need a for loop to do this. As Craig Burgler mentioned.

Alternatively(though this doesn't use range...):

number1 = 0
number2 = 0
number3 = 0

for i in (number1, number2, number3):
    i = int(input("Enter number: "))
like image 64
Totem Avatar answered Sep 20 '22 18:09

Totem