2015-05-06 21 views
0

Я пытаюсь сделать код, который печатает наибольшее и наименьшее число с пользовательского ввода. Я хочу, что ввод пользователь может количество до тех пор, пока 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 

этот код создает бесконечный цикл. Итак, как я могу сделать это конечным.

+0

Пожалуйста, покажите фактический код, который вы написали. PS не очень помогает в заполнении частей кода. – thefourtheye

+0

Вы хотите сделать что-то вроде; как только пользователь вводит ввод, вы хотите показать наибольшее и наименьшее число? ИЛИ Пользователь будет вводить все цифры, и вы хотите показать наибольшее и наименьшее число –

+0

@thefourtheye Я не много сделал, но я редактировал вопрос и добавил полный код – Freddy

ответ

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

Вы сравниваете строки с '>'. – bereal

+0

@bereal Спасибо ... –

+0

в любом случае сбой, перейдите в 'int (raw_input ("> "))'. вы забыли про 'large_so_far = value' – Reishin

0

Try к этому

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

нет не работает. Он показывает следующую ошибку: Traceback (последний последний звонок): Файл «test.py», строка 9, в raise ValueError ('most_so_far') ValueError: most_so_far – Freddy

Смежные вопросы