Python Forum
Code is returning the incorrect values. syntax error
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Code is returning the incorrect values. syntax error
#1
Just trying to figure out why my code here is returning the incorrect minimum and maximum values. tried flipping the ">" and "<" around and it still doesn't work. I'm not meant to use the min() and max() functions here. My thought was maybe I should hold all of the input values in another variable and then check that one for the min and max values?

largest = None
smallest = None
while True:
    num = input("Enter a number: ")
    if num == "done":
        break
    try:
        int(num)
    except:
        print('Invalid input')
        continue
    if largest is None :
        largest = num
    elif num < largest :
        largest = num
    if smallest is None :
        smallest = num
    elif num > smallest :
        smallest = num
    # print(num)

print("Maximum is", largest, "Minimum is", smallest)
Output:
Enter a number: 9 Enter a number: 41 Enter a number: 12 Enter a number: 3 Enter a number: 74 Enter a number: 15 Enter a number: done Maximum is 12 Minimum is 9
Reply
#2
One way to do this, without using min/max, would be to have the values stored in a list object, then do a .sort(), so that that you can use the index instead of the min/max functions: the minimum and maximum values would then be at index zero and index -1
Sig:
>>> import this

The UNIX philosophy: "Do one thing, and do it well."

"The danger of computers becoming like humans is not as great as the danger of humans becoming like computers." :~ Konrad Zuse

"Everything should be made as simple as possible, but not simpler." :~ Albert Einstein
Reply
#3
(Jun-18-2023, 05:24 PM)rob101 Wrote: One way to do this, without using min/max, would be to have the values stored in a list object, then do a .sort(), so that that you can use the index instead of the min/max functions: the minimum and maximum values would then be at index zero and index -1

Thanks I figured I would need to store all the values somewhere, but wasn't sure how. still new to working with python.
Reply
#4
No worries. Post back if you get stuck, but I'm as sure as I can be, based on your grasp of Python thus far, that you'll work it out in no time flat.

You've made a good start, so keep at it.
007sonic likes this post
Sig:
>>> import this

The UNIX philosophy: "Do one thing, and do it well."

"The danger of computers becoming like humans is not as great as the danger of humans becoming like computers." :~ Konrad Zuse

"Everything should be made as simple as possible, but not simpler." :~ Albert Einstein
Reply
#5
On line 4, you input() num. That means you have a string.

On line 7 and 8, you test if the string can be interpreted as an integer, but you don't change anything. So num is still a string.

So in the rest of the program you're doing string comparisons, not numeric comparisons.
007sonic likes this post
Reply
#6
And your logic is wrong. Once you change the code so "num" is an int, this will give you the wrong answer.
    elif num < largest :
        largest = num
This will assign the smallest value entered to largest. You made the same mistake with smallest which will hold the largest value you entered.
007sonic likes this post
Reply
#7
(Jun-18-2023, 07:05 PM)bowlofred Wrote: On line 4, you input() num. That means you have a string.

On line 7 and 8, you test if the string can be interpreted as an integer, but you don't change anything. So num is still a string.

So in the rest of the program you're doing string comparisons, not numeric comparisons.

OMG I did forget to change num to an int Thanks!
Edit: Yea it was that one simple mistake I knew I had everything right for the most part I just couldn't figure out what was going on. Also I did know I put the > and < in the wrong spots I was trying to troubleshoot and thought that might have been the problem. Thank you so much everyone!
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  is this really a syntax error? Skaperen 4 280 May-25-2024, 07:31 AM
Last Post: snippsat
  World Clock syntax error OscarBoots 1 282 May-03-2024, 05:20 AM
Last Post: snippsat
  Syntax error for "root = Tk()" dlwaddel 15 1,491 Jan-29-2024, 12:07 AM
Last Post: dlwaddel
Photo SYNTAX ERROR Yannko 3 515 Jan-19-2024, 01:20 PM
Last Post: rob101
  Syntax error while executing the Python code in Linux DivAsh 8 1,865 Jul-19-2023, 06:27 PM
Last Post: Lahearle
  Is the following code returning a generator expression? quazirfan 8 1,756 Apr-11-2023, 11:44 PM
Last Post: quazirfan
  syntax error question - string mgallotti 5 1,442 Feb-03-2023, 05:10 PM
Last Post: mgallotti
  Syntax error? I don't see it KenHorse 4 1,396 Jan-15-2023, 07:49 PM
Last Post: Gribouillis
  Syntax error tibbj001 2 1,003 Dec-05-2022, 06:38 PM
Last Post: deanhystad
  Python-for-Android:p4a: syntax error in main.py while compiling apk jttolleson 2 2,011 Sep-17-2022, 04:09 AM
Last Post: jttolleson

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020