从用户输入中查找最大数字

问题描述 投票:0回答:5

我试图编写一个代码,从用户输入中打印最大和最小的数字。我希望用户可以输入数字,直到出现

ValueError

我尝试过这样的事情:

value = raw_input(">")

largest_so_far = None
smalest_so_far = None

while(value):
    if value > largest_so_far:
        largest_so_far = value
    if ValueError:
        print largest_so_far

此代码创建无限循环。那么我怎样才能使它有限呢?

python python-2.7 while-loop infinite-loop
5个回答
0
投票

您需要在这里使用

try
except

while(True):
    try:
         value = float(raw_input(">"))     # Get the input from user
         if value > largest_so_far:        # Type cast to integer
            largest_so_far = value
    except ValueError as e:                # Handle ValueError
        print largest_so_far
        break                              # Break the infinite loop

0
投票

尝试这样做

value = raw_input(">")

largest_so_far = None
smalest_so_far = None

while(value):
    if value > largest_so_far:
        largest_so_far = value
    raise ValueError('largest_so_far')

0
投票
#Initialize the largest and smallest values as 'None'  
largest  = None  
smallest = None  

while True:  
    num = input("Enter a number:")  
        if num == "finish": #Type 'finish' to get the output    
    break  
    try:  
        fnum = float(num)  #Convert input to float  

        #Get largest value  
        if largest is None:  
            largest = fnum  
        elif fnum > largest:  
            largest = fnum  

        #Get smallest value  
        elif smallest is None:   
            smallest = fnum  
        elif fnum < smallest:  
            smallest = fnum  

    except: 
        #If the user input is not 'finish' or a number    
        print("Invalid input")   
        continue    


print("Largest value is",largest)  
print("Smallest value is",smallest)  

0
投票
largest_so_far = -1

for i in [1,2,3,4,5]:
   try:
        userNumber = int(input("Enter a number: "))
        if userNumber > largest_so_far:
            largest_so_far = userNumber
   except:
       print('Invalid Input')

print('The largest number you entered is: ', largest_so_far)

-1
投票
num1 = int(input("Enter first number: "))
num2 = int(input("Enter second number: "))
num3 = int(input("Enter third number: "))

if (num1 >= num2) and (num1 >= num3):
    largest = num1
elif (num2 >= num1) and (num2 >= num3):
    largest = num2
else:
    largest = num3

print("The largest number between", num1, ",", num2, "and", num3, "is", largest)
© www.soinside.com 2019 - 2024. All rights reserved.