Кто-нибудь может помочь мне найти логическую ошибку в этой программе Python?

Если вас интересует существующая библиотека javascript, которая выполняет эту работу очень хорошо, вы можете проверить moment.js .

В частности, соответствующий момент.js для вашего вопроса есть длительность .

Вот несколько примеров того, как вы можете использовать это для достижения своей задачи:

var duration = moment.duration(31536000);

// Using the built-in humanize function:
console.log(duration.humanize());   // Output: "9 hours"
console.log(duration.humanize(true));   // Output: "in 9 hours"

moment.js имеет встроенную поддержку 50 + человеческих языков, поэтому, если вы используете метод humanize(), вы получаете бесплатную поддержку нескольких языков.

Если вы хотите отображать точную информацию о времени, вы можете воспользоваться моментом-точным диапазоном plug-in для момента.js, который был создан именно для этой цели:

console.log(moment.preciseDiff(0, 39240754000);
// Output: 1 year 2 months 30 days 5 hours 12 minutes 34 seconds

Следует отметить, что в настоящий момент moment.js не поддерживает недели / дни (в неделю) для объекта продолжительности.

Надеюсь, это поможет!

-8
задан Vishant Sharma 11 December 2018 в 08:50
поделиться

2 ответа

def calculate_bill_amount(food_type,quantity_ordered,distance_in_kms):
    bill_amount=0

    if(food_type=="N" and quantity_ordered>=1 and distance_in_kms>0):
        if(distance_in_kms>0 and distance_in_kms<=3):
            bill_amount=150*quantity_ordered
        elif(distance_in_kms >3 and distance_in_kms<=6)
            bill_amount=150+(3*(distance_in_kms-3))*quantity_ordered
        else:
            bill_amount=150+(6*(distance_in_kms-6))*quantity_ordered

    elif (food_type=="V" and quantity_ordered>=1 and distance_in_kms>0):
        if(distance_in_kms>0 and distance_in_kms<=3):
            bill_amount=120*quantity_ordered
        elif(distance_in_kms>3 and distance_in_kms<=6):
            bill_amount=120+(3*(distance_in_kms-3))*quantity_ordered
        else:
            bill_amount=120+(6*(distance_in_kms-6))*quantity_ordered
    else:
        bill_amount=-1
return bill_amount

bill_amount=calculate_bill_amount ("N", 1,7) печать (bill_amount)

0
ответ дан 5 September 2019 в 20:48
поделиться
def calculate_bill_amount(food_type, quantity_ordered, distance_in_kms):
    bill_amount = 0
    vegComboPrice = 120
    nonVegComboPrice = 150



    if quantity_ordered > 0 and distance_in_kms > 0: 
        if food_type == "V":

            vegSubTotal = vegComboPrice * quantity_ordered
            if distance_in_kms <= 3:
                bill_amount = vegSubTotal
            elif distance_in_kms > 3 and distance_in_kms <= 6:
                distanceCharge = distance_in_kms - 3
                distanceCharge *= 3
                bill_amount = vegSubTotal + distanceCharge
            else:
                distanceCharge = distance_in_kms - 6
                distanceCharge *= 6
                bill_amount = vegSubTotal + distanceCharge + 9

        elif food_type == "N":
            nonVegSubTotal = nonVegComboPrice * quantity_ordered
            if distance_in_kms <= 3:
                bill_amount = nonVegSubTotal
            elif distance_in_kms > 3 and distance_in_kms <= 6:
                distanceCharge = distance_in_kms - 3
                distanceCharge *= 3
                bill_amount = nonVegSubTotal + distanceCharge
            else:
                distanceCharge = distance_in_kms - 6
                distanceCharge *= 6
                bill_amount = nonVegSubTotal + distanceCharge + 9

        else:
            bill_amount = -1
    else:
        bill_amount = -1

    return bill_amount


bill_amount = calculate_bill_amount("V",1,1)
print(bill_amount)
0
ответ дан 5 September 2019 в 20:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: