Уведомления

Группа в Telegram: @pythonsu

#1 Март 25, 2024 08:39:54

baxtiyor1989
Зарегистрирован: 2024-03-25
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите решить задачу из книги Питон для всех

УПРАЖНЕНИЕ 1 Написать программу, которая многократно считывает числа до тех пор, пока пользователь не введет слово done. После ввода done выводится общая сумма, количество и  среднее арифметическое всех вве-денных чисел. Если пользователь вводит что­то, отличающееся от числа, то обнаружить эту ошибку с использованием инструкций try и except, вывести сообщение об ошибке и перейти к вводу следующего числа.

Офлайн

#2 Март 25, 2024 09:40:43

Wellerman148
Зарегистрирован: 2024-03-25
Сообщения: 1
Репутация: +  0  -
Профиль  

Помогите решить задачу из книги Питон для всех

 num = []
while True:
  ans = input("Введите число или done чтобы закончить: ")
  num.append(ans)    
  
  try:
      int(ans)
  except ValueError:
      if ans == "done":
          num.pop()
          count = len(num)
          print(f"Количество: {count}")
          sum = 0
          for i in num:
              i = int(i)
              sum = sum + i
          print(f"Сумма: {sum}")
          div = sum/count
          print(f"Среднее арифметическое: {div}")
          break
      else:
          print("Это не число! Попробуйте снова:")
          num.pop()

Вот ответ.
Сначала мы создаем список в котором будут лежать введенные нами числа
Потом мы начинаем цикл добавления
В переменную ans мы вводим что-то и сразу добавляем это в список
Потом проверяем число ли это, и если нет, то done ли это а если нет то выводим ошибку и убираем “нечисло” из списка. Если это число то просто перезапускаем цикл. Если это done то убираем done из списка, считаем все что нужно, выводим это и заканчиваем цикл. Если нужны более подробные объяснения пишите.
PS: Перед данной строкой кода:
 num = [] 
пробела нет, я понятия не имею почему он там появился.



——————————————————————————————————————————–
Пытаюсь оставить свой след в этой жизни, прежде чем ее покинуть.

Отредактировано Wellerman148 (Март 25, 2024 10:03:31)

Офлайн

#3 Март 25, 2024 18:26:41

xam1816
Зарегистрирован: 2020-05-11
Сообщения: 1311
Репутация: +  113  -
Профиль   Отправить e-mail  

Помогите решить задачу из книги Питон для всех

  
nums = []
while True:
    data_input = input('Введите число или done чтобы закончить: ')
    if data_input == 'done':
        break
    try:
        nums.append(int(data_input))
    except:
        print('Ошибка! Должно быть число или done')
        continue
total = sum(nums)
count = len(nums)
average = total / count
print(f"cумма {total}\nколичество{count}\nсреднее {average}")

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version