Почему эта функция Python 3.x не работает - PullRequest
0 голосов
/ 30 сентября 2018

Мы только что изучили функции в классе пару дней назад, и я не уверен, почему эта функция не будет работать.Это в основном идентично функциям, которые я делал в классе.

def pay(hrs, rate, finalPay):
    hrs = int(input("Hours worked"))
    rate = float(input("Pay grade"))
    finalPay = (hrs * rate)
    if hrs > 40:
        finalPay = (((finalPay - 40) * 1.5) + finalPay)
        return finalPay

print(pay)

Я получаю оплату по функции в терминале 0x109b5a6a8 после того, как я пытаюсь запустить его.Если я пытаюсь перечислить параметры в функции печати, я получаю ошибку трассировки, в которой говорится, что параметры не определены.Я не уверен, что здесь происходит.

Ответы [ 4 ]

0 голосов
/ 30 сентября 2018

В настоящее время вы пытаетесь распечатать адрес функции.

Если вы хотите напечатать вывод функции, finalPay вам нужно вызвать функцию.

Чтобы вызвать функцию, вы должны поставить () после ее имени, которое содержитпараметры, переданные в функцию.

Итак, в этом случае используйте print(pay(1,2,3)) вместо просто print(pay), где 1, 2 и 3 будут вашими значениями hrs, rate и finalPay.

Я думаю, вы еще мало что знаете о функциях в языках программирования.Я предлагаю вам это , чтобы получить обзор.

0 голосов
/ 30 сентября 2018

Не используйте переменные при создании этой функции.

def pay():

Вы определяете их в своей функции:

def pay():
    hrs = int(input("Hours worked"))
    rate = float(input("Pay grade"))
    finalPay = (hrs * rate)
    if hrs > 40:
        finalPay = (((finalPay - 40) * 1.5) + finalPay)
        return finalPay

И используете функцию как:

print(pay())
0 голосов
/ 30 сентября 2018

Вы печатаете ссылку на функцию pay.Если вы хотите вызвать функцию, вам нужно иметь круглые скобки (()):

print(pay())

Обратите внимание, что hrs и rate вводятся внутри функции, а finalPay вычисляется внутриэто, так что все три должны быть удалены из определения функции.

0 голосов
/ 30 сентября 2018

Чтобы вызвать функцию, вам нужно добавить круглые скобки в место, где вы хотите вызвать.

В вашем примере вам нужно написать последнюю строку, например, такую:

print(pay(1, 2, 3))

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...