Ошибка происходит от функции input()
. Как только вы используете функцию solve
, функции input()
ожидают значения, но вы, вероятно, набираете Enter, чтобы solve
двигался вперед. Решите enterprete enter и вызовите ValueError.
Вы должны написать свой код следующим образом:
def solve(meal_cost,tip_percent,tax_percent):
if __name__ == '__main__':
meal_cost = float(meal_cost)
tip_percent = int(tip_percent)
tax_percent = int(tax_percent)
tc = float(meal_cost + (tip_percent * meal_cost * 0.01) + (tax_percent * 0.01 * meal_cost))
print(round(tc))
solve(12,20,8)
15
Однако, если вы действительно хотите, чтобы ваша функция была интерактивной с помощью функции input()
, вы могли бы напишите это так:
def solve():
if __name__ == '__main__':
meal_cost = float(input("enter meal_cost value : "))
tip_percent = int(input("enter tip_percent value : "))
tax_percent = int(input("enter tax_percent value : "))
tc = float(meal_cost + (tip_percent * meal_cost * 0.01) + (tax_percent * 0.01 * meal_cost))
print(round(tc))
solve()
Кстати, не нужно писать if __name__ == '__main__':
внутри вашей функции; -)