Професионална програма
Loading...
+ Нов въпрос
PMadzharov avatar PMadzharov 0 Точки

Judge system - как да разбера каква ми е грешката, когато Judge не ми я показва?

Здравейте,

не знам дали на друг се е случвало, но на мен вече ми се случва с 2ра задача така пример - пускаш решение на една заадача и получаваш 10/100 точки, влизам в дитайли и виждам примерно, че съм изпуснал една запетая, добавям я и пак пускам и получавам този път 40/100 точки, влизам пак дитайли, обаче тоя път не пише какъв е проблема и ми изписва само това, как да разбера къде евентуално ми е грешката?? Това е задача от Nested Conditional Statements - Exercise - 04. New House - кода съм го копирал по-долу

 

Тест №1 (Грешен отговор)

Използвано време: 0.031 s

Използвана памет: 8.08 MB

Тест №2 (Грешен отговор)

Използвано време: 0.031 s

Използвана памет: 8.08 MB

Тест №3 (Грешен отговор)

Използвано време: 0.031 s

Използвана памет: 8.07 MB

Тест №4 (Грешен отговор)

Използвано време: 0.031 s

Използвана памет: 8.08 MB

Тест №5 (Верен отговор)

Използвано време: 0.031 s

Използвана памет: 8.07 MB

КОД:

<?php

$type = readline();
$count = floatval(readline());
$budget = floatval(readline());

$price = 0;
$discount = 0;

if ($type == 'Roses'){
    if ($count > 80){
      $discount = (5.00 * $count)* 0.10;
      $price = (5.00 * $count) - $discount;
    }
    if ($count < 80) {
    $discount = 0;
      $price = (5.00 * $count) - $discount;
        
    }
}
if ($type == 'Dahlias'){
    if ($count > 90){
      $discount = (3.80 * $count)* 0.15;
      $price = (3.80 * $count) - $discount;
    }
    if ($count < 90) {
       $discount = 0;
      $price = (3.80 * $count) - $discount;
        
    }
}
if ($type == 'Tulips'){
    if ($count > 80){
      $discount = (2.80 * $count)* 0.15;
      $price = (2.80 * $count) - $discount;
    }
    if ($count < 80) {
       $discount = 0;
      $price = (2.80 * $count) - $discount;
        
    }
}
if ($type == 'Narcissus'){
    if ($count < 120){
      $discount = (3.00 * $count)* 0.15;
      $price = (3.00 * $count) + $discount;
    }
    if ($count > 120) {
       $discount = 0;
      $price = (3.00 * $count) - $discount;
        
    }
}
else if ($type == 'Gladiolus'){
    if ($count < 80){
      $discount = (2.50 * $count)* 0.2;
      $price = (2.50 * $count) + $discount;
    }
     if ($count > 80)  {
       $discount = 0;
      $price = (2.50 * $count) - $discount;
        
    }
}

if ($budget > $price){
    
    $save = $budget - $price;
    
   printf("Hey, you have a great garden with $count $type and %.2f leva left.",$save);  
}

else  {
    
    $extra = $price - $budget;
    
    printf("Not enough money, you need %.2f leva more.",$extra);

Тагове:
0
PHP Fundamentals
plamenpik avatar plamenpik 31 Точки

Я помисли както ще стане ако ти подадът вход Roses 80, Dahlias 90, Tulips 80, Narcissus 120 или Gladiolus 80 със произволен бюджет.

0
VasilKotsev avatar VasilKotsev 805 Точки

Само нулевите тестове са с отворен output, и можеш да видиш какво очаква като output unit test-а. Те не дават точки. Реалните тестове образуват точките и те няма да ти покажат къде грешиш. Все пак трябва да се сетиш сам за някакви гранични case-ове. В една реална работна среда няма да имаш Judge, който да ти показва какво не е наред.

0
PMadzharov avatar PMadzharov 0 Точки

Сега разбирам, значи нещо в самия код не е правилно, кактo в случая кода не може да върне резултат при Roses 80, Dahlias 90 ....защото съм дефинирал <>.

0