Уведомления

Группа в Telegram: @pythonsu

#1 Июль 6, 2015 11:26:51

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

Здравствуйте!

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

“”“Задача: Написать программу с повторяющимся запросом пользователя на ввод целого числа пока ввод не будет ”Готово“. После ввода ”Готово“ нужно вывести (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

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

Офлайн

#2 Июль 6, 2015 12:14:17

werter
Зарегистрирован: 2014-09-02
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя


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('Повторите ввод')

Отредактировано werter (Июль 6, 2015 12:19:06)

Офлайн

#3 Июль 6, 2015 12:29:05

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

Спасибо большое.

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

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

Здесь тот самый момент, когда маленькие кусочки отдельно работают, а как их правильно “сшить” в большой ни малейшего понятия!(

Офлайн

#4 Июль 6, 2015 12:34:36

werter
Зарегистрирован: 2014-09-02
Сообщения: 19
Репутация: +  1  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

Abeille
После ввода ”Готово“ нужно вывести (print out) наименьшее и наибольшее числа.

Отредактировано werter (Июль 6, 2015 12:34:48)

Офлайн

#5 Июль 6, 2015 12:36:31

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

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

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

Только в этом случае нужно предупредительный str что-ли чтобы пользователю было ясно, когда он может остановиться.

Офлайн

#6 Июль 6, 2015 12:40:33

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

И ещё - в IDLE всё работает, а в консоли нет (не определено значение “Готово”).

Офлайн

#7 Июль 6, 2015 13:18:53

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

Я уже измучилась. Мне нужно получить именно вот это как результат на экране:

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

Хочу сдаться, но очень обидно)
Только начала))

Офлайн

#8 Июль 6, 2015 14:00:40

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

>>> 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
>>>



Офлайн

#9 Июль 6, 2015 14:15:52

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

Спасибо.

Попробую this way)

Офлайн

#10 Июль 6, 2015 15:30:23

Abeille
Зарегистрирован: 2015-07-06
Сообщения: 20
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение max/min number с запросом ввода пользователя

Всем огромнейшее спасибо!

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version