我是Python的绝对初学者,完成了以下培训任务:
“两个朋友在一家餐馆吃饭,账单是47.28美元。在加15%小费后,朋友们平分了账单。计算小费、支付总额和每个朋友的份额,然后输出一条信息:”每个人都需要支付:“后面跟着结果号码。”
我编写了下面给出的代码,但是系统说那里有一个计算错误。究竟什么是错误?
bill = 47.28
tip = 15 // bill * 100
total = bill + tip
share = total // 2
print("Each person needs to pay:" + str(share))
发布于 2022-06-09 17:02:05
您可以通过一个函数来更优雅地解决这个问题:
def split_bill_calculator(invoice:float, taxes:int, people:int)-> float:
"""
Invoice: FLOAT value
Taxes: INTEGER percent value
People: INTEGER
Return: total amount splitted for each person
"""
add_tip = invoice * (1 + taxes / 100)
payable_by_each = round(add_tip / people, 2)
print(f"Each of the {people} guests should pay {payable_by_each}")
return payable_by_each
发布于 2022-06-09 16:38:56
//是泛泛的除法(将除法的结果舍入最接近的整数).如果分子比分母小,那么你将得到0作为泛泛除法的结果。试着用tip = bill * 0.15
来计算小费。
https://stackoverflow.com/questions/72563798
复制相似问题