Пользовательская функция: преобразование строковых входов в число с плавающей запятой после ввода - PullRequest
0 голосов
/ 26 августа 2018

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

"Ошибка типа: невозможно умножить последовательность на не-int типа 'float' в строке 8"

Ниже приведен код, который работает, но я хочу сохранить введенную строку и преобразовать ее в float после ввода:

def computepay(h,r):
    if h<=40:
        return h*r
    else:
        return h*r+((h-40)*b)
h = float(input("Enter Hours:"))
r = float(input("Enter Rate:"))
b = 0.5*r
p = computepay(h,r)
print(p)

Как бы это было сделано правильно?

Спасибо!

1 Ответ

0 голосов
/ 26 августа 2018

Вы можете преобразовать в float как отдельный шаг и создать новые переменные для хранения ваших значений float.Это оставит ваши исходные данные в виде строк.

h = input("Enter Hours:")
r = input("Enter Rate:")

h_float, r_float = map(float, (h, r))

b = 0.5 * r_float
p = computepay(h_float, r_float)

В качестве альтернативы, вы можете использовать более подробный синтаксис:

h_float = float(h)
r_float = float(r)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...