Module (57%)
Section (27%)

Обработчик цифр:

В третьей программе показан простой метод, позволяющий вводить строки, заполненные числами, и легко их обрабатывать. Примечание: рутинная функция input() в сочетании с функциями int() или float() не подходит для этой цели.

Обработка будет чрезвычайно простой - мы хотим, чтобы числа были суммированы.

Посмотрите на код в редакторе. Давайте проанализируем его.

Понимание списков может сделать код более компактным. Можете сделать это, если хотите.

Давайте рассмотрим нашу версию:

  • строка 03: просим пользователя ввести строку, заполненную любым количеством чисел (числа могут быть числами с плавающей запятой);
  • строка 04: разбиваем строку, на список подстрок;
  • строка 05: определяем общую сумму как ноль;
  • строка 06: поскольку преобразование string-float может вызвать исключение, лучше реализовать защиту с помощью блока try-exept;
  • строка 07: итерируемся по списку...
  • строка 08: ... и попробуем преобразовать все его элементы в числа с плавающей точкой; если это работает успешно, увеличиваем значение суммы;
  • строка 09: пока все хорошо, поэтому выведите значение суммы;
  • строка 10: программа должна закончится в этом месте в случае ошибки;
  • строка 11: выводим диагностическое сообщение, показывающее пользователю причину сбоя.

Код имеет один важный недостаток - он отображает фиктивный результат, когда пользователь вводит пустую строку. Можете исправить это?



Code

# Numbers Processor.

line = input("Enter a line of numbers - separate them with spaces: ")
strings = line.split()
total = 0
try:
for substr in strings:
total += float(substr)
print("The total is:", total)
except:
print(substr, "is not a number.")
{{ dockerServerErrorMsg }} ×
{{ errorMsg }} ×
{{ successMsg }} ×