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
  Syntax error for "root = Tk()" dlwaddel 15 1,214 Jan-29-2024, 12:07 AM
Last Post: dlwaddel
Photo SYNTAX ERROR Yannko 3 401 Jan-19-2024, 01:20 PM
Last Post: rob101
  Syntax error while executing the Python code in Linux DivAsh 8 1,626 Jul-19-2023, 06:27 PM
Last Post: Lahearle
  Is the following code returning a generator expression? quazirfan 8 1,645 Apr-11-2023, 11:44 PM
Last Post: quazirfan
  syntax error question - string mgallotti 5 1,327 Feb-03-2023, 05:10 PM
Last Post: mgallotti
  Syntax error? I don't see it KenHorse 4 1,273 Jan-15-2023, 07:49 PM
Last Post: Gribouillis
  Syntax error tibbj001 2 911 Dec-05-2022, 06:38 PM
Last Post: deanhystad
  Python-for-Android:p4a: syntax error in main.py while compiling apk jttolleson 2 1,872 Sep-17-2022, 04:09 AM
Last Post: jttolleson
  error 1102 (42000) incorrect database name 's' Anldra12 4 1,717 Jun-08-2022, 09:00 AM
Last Post: Anldra12
  Mysql Syntax error in pymysql ilknurg 4 2,378 May-18-2022, 06:50 AM
Last Post: ibreeden

Forum Jump:

User Panel Messages

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