Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

miro7975 avatar miro7975 2 Точки

Functions Lab - too little points given by Judge

Почти ми е неудобно да моля за помощ за толкова лесни задачи, но наистина  не мога да разбера какъв е проблемът със следните решения на две задачи от Functions - Lab , за които получавам съответно 14 и 50 точки

Day Of Week

<?php

$input = $_GET["input"];
print dayOfWeek($input);

function dayOfWeek($day)
{
    if($day == "Monday") return 1;
    if($day == "Tuesday") return 2;
    if($day == "Wednesday") return 3;
    if($day == "Thursday") return 4;
    if($day == "Friday") return 5;
    if($day == "Saturday") return 6;
    if($day == "Sunday") return 7;
    return "error";
}

 

Symmetry Check

<?php
 
$input = $_GET["input"];
print isPalindrome($input); 
      
function isPalindrome($str)
{
for ($i = 0; $i < strlen($str) / 2; $i++) 
    if ($str[$i] != $str[strlen($str) - $i - 1]) 
          return "false";
return "true";
}

Тагове:
0
PHP Fundamentals
djc_bg2015 avatar djc_bg2015 923 Точки

Хмм,

я пробвай да си тримнеш входа

$input = trim($_GET["input"]);

 

EDIT:

Не трябва ли да четеш входа от конзолата а не от ГЕТ?

1
22/02/2017 19:17:15
miro7975 avatar miro7975 2 Точки

И с trim не става. Пак получавам 14 точки. Не е и в четенето на входа, защото ако   това беше проблема, щеше да ми даде 0 точки, а не 14. Явно един тест минава.

0
djc_bg2015 avatar djc_bg2015 923 Точки

Все пак пробвай да прочетеш входа от стандартния вход trim(fgets(STDIN))

Моите решения са за 100 и не са с ГЕТ

1
djc_bg2015 avatar djc_bg2015 923 Точки

Да - това е проблема
Прочети входа както ти казах, избери PHP Code (CLI) за стратегия на провеката и двете задачи ще ти минат 100/100

1
fbinnzhivko avatar fbinnzhivko 1586 Точки

Колега miro7975 не четеш правилно входа от Judje.

$input = trim(fgets(STDIN));
function dayOfWeek($day)
{
    if ($day == "Monday")return 1;
    if ($day == "Tuesday") return 2;
    if ($day == "Wednesday") return 3;
    if ($day == "Thursday") return 4;
    if ($day == "Friday") return 5;
    if ($day == "Saturday") return 6;
    if ($day == "Sunday") return 7;

    return "error";
}
print dayOfWeek($input);

Твоя код защо дава 14/100?
Напиши в Judje 
$input = $_GET["input"];
echo gettype($input);

Връща NULLerror.
Подаващ го на фунцията която си написал.
Влиза във случая return "error" защото не е равен на нито един ден от седмицата.
По този начин минава последния от тестовете в Judje за тази задача. 
1
22/02/2017 22:57:18
miro7975 avatar miro7975 2 Точки

а не е ли нормално да дава NULL, след като не е въведен конкретен инпут?

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.