我试图编写一个代码,从用户输入中打印最大和最小的数字。我希望用户可以输入数字,直到出现
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
此代码创建无限循环。那么我怎样才能使它有限呢?
您需要在这里使用
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
尝试这样做
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')
#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)
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)
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)