我被要求根据租用日期和返回日期创建用于租金计算的python程序,但每当我运行此代码时我都会收到错误

问题描述 投票:-2回答:3

我被要求根据租用日期和返回日期创建用于租金计算的python程序,但每当我运行此代码时我都会收到错误

这是我的代码:

from datetime import date
rent= date(int(input("enter rented yeat") ),int(input("enter month") ) , int(input("enter day")))
returned=date(int(input("enter returned year") ),int(input("enter month") ) , int(input("enter day")))
BD= returned-rent

if BD>=7 and BD<30:
    Rate= BD*1000
    print(Rate)
elif BD>=30 and BD<365:
    rate= BD*3000
    print(rate)
else:
    rate= BD*1200
    print(rate)
python python-3.x python-2.7 datetime
3个回答
1
投票

尝试:BD = (returned-rent).days


1
投票

returned-rent返回timeDelta对象,而不是整数,因此无法与整数进行比较。你想要的是天数,所以你可以使用(returned-rent).days


0
投票

Correct code should look like this:

1.Cast datetime.timedelta to days

2.Fix压缩

你很受欢迎

from datetime import date


if __name__=="__main__":
    rent = date(int(input("enter rented year: ")),
                int(input("enter month: ")),
                int(input("enter day: ")))

    returned = date(int(input("enter returned year: ")),
                    int(input("enter month: ")),
                    int(input("enter day: ")))
    # get days from datetime.timedelta 
    BD= (returned-rent).days

    if BD>=7 and BD<30:
        Rate = BD*1000
        print(Rate)

    elif BD>=30 and BD<365:
        rate = BD*3000
        print(rate)

    else:
        rate = BD*1200
        print(rate)
© www.soinside.com 2019 - 2024. All rights reserved.