Найти - Пользователи
Полная версия: Определение max/min number с запросом ввода пользователя
Начало » Центр помощи » Определение max/min number с запросом ввода пользователя
1
Abeille
Здравствуйте!

Пытаюсь изучать. Застряла на задании.

“”“Задача: Написать программу с повторяющимся запросом пользователя на ввод целого числа пока ввод не будет ”Готово“. После ввода ”Готово“ нужно вывести (print out) наименьшее и наибольшее числа.
И ещё условие: если ввод не является числом, выдать сообщение об ошибке и проигнорировать введенное число.

Ну и, разумеется, присутствует ожидаемый результат, т.е. итог должен совпасть со следующим выводом:
Invalid input
Maximum is 7
Minimum is 4

Стартовый набросок:

largest = None
smallest = None
while True:
num = raw_input(”Enter a number: “)
try:
num = int(num)
except:
print ”Invalid input“
continue
if num == ”done“ : break
print num

print ”Maximum“, largest

Как новичок, я уже ”разбилась"(
werter

res = []
while True:
    num = input('Введите число ')
    if num == 'Готово':
        print('Maximum: ', max(res))
        print('Minimum: ', min(res))
        break
    try:
        res.append(int(num))
        print(res)
    except ValueError:
        print('Повторите ввод')
Abeille
Спасибо большое.

Пока нужно обходить создание списка и использование функций(

Кстати, в какой момент программа прекратит просить числа и выведет min/max из списка?

Здесь тот самый момент, когда маленькие кусочки отдельно работают, а как их правильно “сшить” в большой ни малейшего понятия!(
werter
Abeille
После ввода ”Готово“ нужно вывести (print out) наименьшее и наибольшее числа.
Abeille
>>> Кстати, в какой момент программа прекратит просить числа и выведет min/max из списка?

Всё ясно. Ввожу “Готово”

Только в этом случае нужно предупредительный str что-ли чтобы пользователю было ясно, когда он может остановиться.
Abeille
И ещё - в IDLE всё работает, а в консоли нет (не определено значение “Готово”).
Abeille
Я уже измучилась. Мне нужно получить именно вот это как результат на экране:

Invalid input
Maximum is число
Minimum is число

Поперекраивала все вдоль и поперек, уже и не помню, где было удачно, а где провал. Остановилась здесь:

largest = None
smallest = None
while True:
num = raw_input(“Enter a number: ”)
try:
num = int(num)
print num
except ValueError:
print('Invalid input')

if num == ‘done’:
print ‘Maximum is ’, max
print ‘Minimum is ’, min
break


print “Maximum”, largest

Все ерунда( Результат вывода на экран при нужных мне условиях:

Invalid input
4 ← Mismatch
7
Invalid input
Maximum is <unknown>
Minimum is <unknown>
Maximum None

Хочу сдаться, но очень обидно)
Только начала))
py.user.next
>>> def f():
...     xmin = xmax = None
...     
...     while True:
...         s = raw_input('Enter a number: ')
...         if s == 'done':
...             break
...         try:
...             num = int(s)
...             if xmin is not None:
...                 if num > xmax:
...                     xmax = num
...                 if num < xmin:
...                     xmin = num
...             else:
...                 xmin = xmax = num
...         except ValueError:
...             print 'Invalid input'
...     
...     print 'Maximum', xmax, 'Minimum', xmin
... 
>>> f()
Enter a number: a
Invalid input
Enter a number: 1
Enter a number: 2
Enter a number: 3
Enter a number: 4
Enter a number: b
Invalid input
Enter a number: 5
Enter a number: 6
Enter a number: 7
Enter a number: 1
Enter a number: 2
Enter a number: 3
Enter a number: 4 4
Invalid input
Enter a number: 4
Enter a number: 5
Enter a number: done
Maximum 7 Minimum 1
>>>
Abeille
Спасибо.

Попробую this way)

Abeille
Всем огромнейшее спасибо!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB