Сколько стоит ваш фронтенд?


#1

var getPrice = function(time, isUrgently){
var rate = 1500;
var price;

if(!isUrgently){
if(time > 150){
rate-=250;
}
price = time * rate;
}else{

price = (rate * 2.5)*(time / 2 ) ;

}
return price;
}

getPrice(320, true)

не могу понять в чем проблема.Вместо 56000 выдает 60000


#2

У вас в коде rate -= 250 применяется только для несрочных, а надо, чтоб срочные тоже подпадали под проверку time > 150.


#3

Не проходит последняя проверка. Подскажите, что не так

var getPrice = function (hours, isUrgently) {
  var fixedPrice = 1500;
  if (isUrgently) {
    hours /= 2;
    fixedPrice *=2.5;
  }
   
  if (isUrgently && hours > 150) {
    fixedPrice = (fixedPrice * 2.5) - 250;
    hours /=2;    
  }
    var totalCost = hours * fixedPrice;
  return totalCost;
}

#4
if ( hours > 150) {
    fixedPrice -= 250;   
}

переделайте второе условие так. логически неверно было
переменная totalCost избыточна


#5

Добрый день.
Это первый тест:
"Первый тест. Время в часах: 200 , срочный ли проект: true . Ожидаемая стоимость: 375000"

Здесь: время в часах > 150, а значит фиксированная ставка (1500) * 2,5 и - 250.
Так как это true, то часов соответственно 100.
Итого: 100 часов * ((1500 * 2,5) - 250) = 350000.
В задании ожидаемая стоимость 375000 рублей.
Где ошибка?
Спасибо.


#6

так 100 или 200 часов? =) сами же написали что 100 часов, а денег берете как за 150+.
100 * 1500 * 2.5 = 375000


#7

Как-то так:

code
function getPrice(time, isUrgent) {
  var standardPrice = 1500;
  var urgentPrice = 3750;
  var discount = 250;
  var standardPriceTime = 150;
  
  if (time < (standardPriceTime * 2) && isUrgent) {
    discount = 0;
  }
  
  if (isUrgent && time <= standardPriceTime) {
    return (time / 2) * urgentPrice;
  }  
  else if (isUrgent && time > standardPriceTime) {
    return (time / 2) * (urgentPrice - discount);
  }  
  else if (!isUrgent && time <= standardPriceTime) {
    return time * standardPrice;
  }  
  else if (!isUrgent && time > standardPriceTime) {
    return time * (standardPrice - discount);
  }
}

#8

Оцените. Пришлось довольно долго поковыряться, что бы максимально сократить и оставить ее рабочей)))

var getPrice=function (hours, speed) {
var price=1500;
if (speed) {
price*=2.5;
hours/=2;
}
if(hours>150) {
price-=250;
}
return hours*price
}


#9

Здравствуйте. Программа прошла все проверки вот в таком виде из-за этого я долго мучился в следующем задании, а ошибка была именно тут(в закоментированном виде добавил в код исправление) + не знаю, как избавиться от повторений в коде, подскажите пожалуйста

var getPrice = function (time, isQuickly)
{
var rate = 1500;
var price = time*rate;
if(isQuickly){
time /= 2;
rate *= 2.5
if(time>150){
rate -= 250
price = time * rate}
else{
price = time * rate}
}
else{
if(time>150){rate -=250;
//price = time * rate
}
}
return price
}


#10

сами себя запутали лишней переменной
и else не нужна

var getPrice = function(time, isQuickly) {
  var rate = 1500;
  if (isQuickly) {
    time /= 2;
    rate *= 2.5;
  }
  if (time > 150) {
    rate -= 250;
  }
  return time * rate;
}