(Python) Почему фигурные скобки дают мне ответ с добавлением ровно 1,0, а квадратные скобки дают правильный ответ?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 (Python) Почему фигурные скобки дают мне ответ с добавлением ровно 1,0, а квадратные скобки дают правильный ответ?

Сообщение Anonymous »

На самом деле это не проблема, которую мне нужно решать, я уже понял, как получить правильные результаты, но ошибка, которую я получил, заинтересовала меня. Моя функция Find_Center в Python изначально была написана следующим образом:

Код: Выделить всё

def Find_Center(Array_of_Points):
point_count = 0
for point in Array_of_Points:
point_count = point_count + 1

X_Sum = 0
Y_Sum = 0
Z_Sum = 0
for point in Array_of_Points:
X_Sum = X_Sum + point[0]
Y_Sum = Y_Sum + point[1]
Z_Sum = Z_Sum + point[2]

return {((X_Sum)/point_count), ((Y_Sum)/point_count), ((Z_Sum)/point_count)}
Когда я вызвал функцию, чтобы найти среднюю точку между этими тремя точками:
[[4.0, 4.0, 4.0], [4.0, 2.0, 2.0], [3.0, 4.0, 2.0]]
Это дало мне:
{3.3333333333333335, 2.6666666666666665, 3.6666666666666665
Последнее число на 1000 больше, чем должно быть. Но когда я переключил обратную строку в Find_Center на:

Код: Выделить всё

return [((X_Sum)/point_count), ((Y_Sum)/point_count), ((Z_Sum)/point_count)]
Используя квадратные скобки вместо фигурных, я получаю правильную точку:
{3.3333333333333335, 2.6666666666666665, 2.6666666666666665}
Почему это произошло? Еще более странно, что при оригинальной обратной линии я получил правильный центр для другого списка точек. Проблема возникла только во втором списке пунктов. Я мог бы предоставить полный код, если кому-то нужны дополнительные объяснения.

Подробнее здесь: https://stackoverflow.com/questions/792 ... dded-to-it
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»