首页 > 解决方案 > codechef问题中的错误,手动检查了测试用例,当时没有显示任何错误

问题描述

m = list(input().split(" "))
a = int(m[0])
b = float(m[1])
if(a%5==0 and a<b):
    y = (b-a-0.50)
    print('%.2f' %y)
else:
    print(b)

键入此代码并检查问题中的三个测试用例,没有收到错误,但在提交时显示错误。

Pooja 想从 ATM 取款 X 美元。取款机只接受X为5的倍数,且Pooja账户余额有足够现金进行取款交易(包括银行手续费)的交易。对于每次成功取款,银行收取 0.50 美元的费用。尝试交易后计算 Pooja 的账户余额。

问:https ://www.codechef.com/problems/HS08TEST

标签: python

解决方案


在您的 else 语句中,您没有在小数点后放置两位数:

    print('%.2f' %b)

此外,您需要确保您的余额可以处理交易和费用:

m = list(input().split(" "))
a = int(m[0])
b = float(m[1])
if(a%5==0 and a + 0.5 <= b):
    y = (b-a-0.50)
    print('%.2f' %y)
else:
    print('%.2f' %b)

推荐阅读