Skip to content

Instantly share code, notes, and snippets.

@jmangrad
Last active May 25, 2024 18:05
Show Gist options
  • Save jmangrad/8aa25d1cd21b564eb0457114441e5d8b to your computer and use it in GitHub Desktop.
Save jmangrad/8aa25d1cd21b564eb0457114441e5d8b to your computer and use it in GitHub Desktop.
Write another program that prompts for a list of numbers
as above and at the end prints out both the maximum and minimum of
the numbers instead of the average.
largest = None
smallest = None
count = 0
total = 0
while True:
try:
number = input("Enter a number: ")
if number == "done":
break
number = int(number)
count +=1
total =number + total
if largest == None and smallest == None:
largest = number
smallest = number
if largest == None or number > largest:
largest = number
if smallest == None or number < smallest:
smallest = number
except:
print("Invalid input")
print("The maximum number is: {}".format(largest))
print("The minimum number is: {}".format(smallest))
print("The total number is: {}".format(total))
print("The count number is: {}".format(count))
@kholoud24
Copy link

maxum = False
minum = False
while True:
input_value = input("enter number\n")
if input_value == 'done':
break
try:
input_value = int(input_value)
if not maxum or maxum < input_value:
maxum = input_value

    if not minum or minum > input_value:
        minum = input_value

except:
    print('invalid data')

print('max is ', maxum, 'min is', minum)

@Minting-2022
Copy link

When I enter a number,it just shows the'Invalid input',how can I fix it?
count=0
total=0
largest=None
smallest=None

while True:
number=input("Enter a number: ")
if number=='done':
break
try:
fnum=float(number)
if number=='done':
break
if largest<=fnum:
largest=fnum
if smallest>=fnum:
smallest=fnum
except:
print("Invalid input")
continue
total=total+fnum
count=count+1

print(total,count,largest,smallest)

@gaurvimadan
Copy link

gaurvimadan commented Nov 13, 2022

I guess the problem is that you have used below mentioned if statement twice. It shouldn't be added in try statement.
if number=='done':
break

I tried solving the question in the below mentioned way, maybe it can help you.

count = 0
tot = 0.0
maximum = None
minimum = None

while True:
    number = input("Enter a Number: ")
    if number == "done":
        break
    try:
        n = float(number)
        if maximum is None:
            maximum = n
        elif n > maximum:
            maximum = n

        if minimum is None:
            minimum = n
        elif n < minimum:
                minimum = n

        count = count + 1
        tot += n
    except:
        print("Invalid, Enter a Number")
        continue
print (f"The count is {count}, total is {tot}, maximum number is {maximum} and minimum number is {minimum}.")

When I enter a number,it just shows the'Invalid input',how can I fix it? count=0 total=0 largest=None smallest=None

while True: number=input("Enter a number: ") if number=='done': break try: fnum=float(number) if number=='done': break if largest<=fnum: largest=fnum if smallest>=fnum: smallest=fnum except: print("Invalid input") continue total=total+fnum count=count+1

print(total,count,largest,smallest)

@marzth23
Copy link

I did mine like this, I hope it helps...

smallest = None
largest = None

while True :
    sline = input("Plase enter a number: ")
    if sline == "done" : break
    try:
        fline = float(sline)
    except:
        print("Invalid input")
        continue
    if largest is None or fline > largest : largest = fline
    if smallest is None or fline < smallest : smallest = fline

print('Maximum:',smallest)
print('Minimum:',largest)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment