无法将字符串转换为浮点数 Python 并且代码未产生预期的输出
Cannot convert string into float Python and code isn't producing the expected output
任务
给定膳食价格(一顿饭的基本成本),
小费百分比(作为小费添加的膳食价格的百分比),
和一顿饭的税收百分比(作为税收添加的膳食价格的百分比),
查找并打印这顿饭的总费用。
总餐费=餐费+小费+税)
def solve(meal_cost,tip_percent,tax_percent):
if __name__ == '__main__':
meal_cost = float(input())
tip_percent = int(input())
tax_percent = int(input())
tc = float(meal_cost + (tip_percent * meal_cost * 0.01) + (tax_percent * 0.01 * meal_cost))
print(round(tc))
solve(12,20,8)
代码未产生预期的输出。任何人都可以解释这个错误吗?
错误消息是 "ValueError: could not convert string to float: '' "。
错误来自 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__':
;-)
任务
给定膳食价格(一顿饭的基本成本), 小费百分比(作为小费添加的膳食价格的百分比), 和一顿饭的税收百分比(作为税收添加的膳食价格的百分比), 查找并打印这顿饭的总费用。
总餐费=餐费+小费+税)
def solve(meal_cost,tip_percent,tax_percent):
if __name__ == '__main__':
meal_cost = float(input())
tip_percent = int(input())
tax_percent = int(input())
tc = float(meal_cost + (tip_percent * meal_cost * 0.01) + (tax_percent * 0.01 * meal_cost))
print(round(tc))
solve(12,20,8)
代码未产生预期的输出。任何人都可以解释这个错误吗? 错误消息是 "ValueError: could not convert string to float: '' "。
错误来自 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__':
;-)