использование разделения для хранения значений и поиска среднего числа

#python #list

Вопрос:

скриншот

 numbers = int(input("enter 3 numbers:"))
a, b, c = numbers.split()
average = (a b c)/3
print(average)
 

если есть какой-либо лучший способ сделать это, пожалуйста, предложите

Комментарии:

1. Предоставленный вами блок кода и код на скриншоте не совпадают.

2. Пожалуйста, проясните вашу конкретную проблему или предоставьте дополнительные сведения, чтобы точно указать, что вам нужно. Поскольку это написано в настоящее время, трудно точно сказать, о чем вы просите.

Ответ №1:

Ошибка заключается в том, что вы преобразуете numbers в int , а затем делаете .split() :

  1. Вы не можете преобразовать строку, например 1 2 3 , в int
  2. Даже если у вас есть целое число, у него нет .split() метода

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

 a, b, c = map(int, input("enter 3 numbers: ").split())
average = (a   b   c) / 3
print(average)
 

Отпечатки (например):

 enter 3 numbers: 1 2 3
2.0
 

ИЗМЕНИТЬ: Для произвольных чисел (не только 3):

 lst = list(map(int, input("enter numbers: ").split()))
average = sum(lst) / len(lst)
print(average)
 

Ответ №2:

введите номер , string затем split их и карту int для каждого из них, затем преобразуйте их в list и используйте numpy.mean для получения average . Попробуй это:

 import numpy as np
np.mean(list(map(int, input().split())))
 

Комментарии:

1. Некоторые объяснения были бы полезны. Кроме того, импорт numpy для этого кажется немного излишним.

2. о,это код одной строки спасибо, но знаете ли вы, какую ошибку я допустил выше?

3. @AmalSebastian какая ошибка для какого кода? где находится ваш код, который выдает ошибку?

Ответ №3:

Использование карты будет лучше:

 a, b, c = map(int, input("enter 3 numbers: ").split())
average = (a b c)/3
print(average)
 

Ответ №4:

Вы можете уменьшить количество строк кодов

 num1, num2, num3 = int(input("Enter three numbers comma separated:" ) ).split(', ') 
print((num1 num2 num3)/3)
 

Ответ №5:

Или использовать statistics.mean :

 from statistics import mean
print(mean(map(int, input("enter 3 numbers: ").split())))