Я пытаюсь преобразовать строковый ввод в float после ввода ввода. Оставляя возможность сделать что-то со входом, если это строка. Я пробовал некоторые вещи, но они возвращают следующую ошибку:
"TypeError: не может умножить последовательность на non-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)
Как это будет сделано правильно?
Спасибо!
Вы можете конвертировать в 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)