Почему в Python говорится, что голова только имеет 2 аргумента

Почему Python, говоря мне "TypeError: голова ожидала 2 аргумента, получил 3 дюйма несмотря на него работающий в НЕАКТИВНОМ (иногда, это говорит мне это в НЕАКТИВНОМ также)? Я просто делаю pow(a,b,c). моя программа очень коротка, и я не изменяю определение pow в любое время, так как я должен использовать его для некоторого возведения в степень.

Примечание: Это pow от __builtin__, нет Math

11
задан Michael Mrozek 23 July 2010 в 20:59
поделиться

2 ответа

Встроенный pow принимает два или три аргумента. Если вы выполняете из math import * , тогда он заменяется математическим pow , который принимает только два аргумента. Я рекомендую выполнить import math или явно указать функции, которые вы используете, в списке импорта. Аналогичная проблема возникает с open по сравнению с os.open .

16
ответ дан 3 December 2019 в 07:10
поделиться

http://docs.python.org/release/2.6.5/library/functions.html

pow(x, y[, z]) Возвращаем x к мощности y; если присутствует z, верните x в мощность y, по модулю z (вычисляется более эффективнее, чем pow(x, y) % z). На сайте двухаргументная форма pow(x, y) эквивалентна использованию оператора мощности оператора: x**y.

Аргументы должны иметь числовые типы. При смешанных типах операндов правила коэрцитивности применяются правила коэрцитивности для бинарных арифметических операторов применяются. Для операндов int и long int, результат имеет тот же тип, что и операндов (после коэрцитивности), если только второй аргумент отрицательный; в этом случае в этом случае все аргументы преобразуются в float и выдается результат типа float. Например, 102 возвращает 100, но 10-2 возвращает 0,01. (Эта последняя была добавлена в Python 2.2. В Python 2.1 и ранее, если оба аргументы были целочисленными и второй аргумент был отрицательным, то возникало исключение). Если второй отрицательный, то третий должен быть опущен. Если z присутствует, x и y должны быть целочисленными и y должны быть целыми, причем y должно быть неотрицательным. (Это ограничение было добавлено в Python 2.2. В Python 2.1 и ранее, плавающий 3-аргумент pow() возвращал результаты, зависящие от платформы, в зависимости от от случайностей округления плавающей точки.)

Возможно, вы нарушаете выделенную жирным часть?

0
ответ дан 3 December 2019 в 07:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: