Обработчик цифр:
В третьей программе показан простой метод, позволяющий вводить строки, заполненные числами, и легко их обрабатывать. Примечание: рутинная функция 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 }}
×