Regular Expressions - More Exercise - 1. Winning Ticket
Здравейте колеги. Имам нужда от малко помощ за тази задача, защото ми дава 80/100.
Здравейте колеги. Имам нужда от малко помощ за тази задача, защото ми дава 80/100.
Здравей!
Трябва да промениш някой някой неща:
- променлива за най малка дължина на поредицата
var length = Math.Min(matchesLeftSide.Length, matchesRightSide.Length);
- Мисля че if (lenLeftSide >= 6 && lenRightSide >= 6) не ти е нужно след като си определил минимума в патърн-а. Тази проверка можеш да я замениш с проверка за мачване на лява и дястна страна и ако една от двете не се мачва да изпишеш на конзолата Console.WriteLine($"ticket \"{currentTicket}\" - no match"); Пример:
if(matchesLeftSide.Success || matchesRightSide.Success)
{
Console.WriteLine($"ticket \"{ ticket}\" - no match");
continue;
}
след това
allSymbolsLeft = matchesLeftSide.ToString();
allSymboRight = matchesRightSide.ToString();
промени на
allSymbolsLeft = matchesLeftSide.Value.Substring(0, length);
allSymboRight = matchesRightSide.Value.Substring(0, length);
проверката
if (lenLeftSide >= 6 && lenRightSide >= 6 && lenLeftSide == lenRightSide && singleSymbolLeft == singleSymbolRight )
я промени на
if (allSymbolsLeft.Equals(allSymboRight))
след което промени
if (lenRightSide == 10 && lenLeftSide == 10)
на
if (allSymbolsLeft.Length == 10)
а else го остави без if и мисля че ще ти върне 100/100
Благодаря ти за отговора колега. Промените ти ме накараха да се замисля че този инпут също трябва да е валиден според мен Ca$$$$$$$$Ca$$$$$$sh(добавил съм две $ в лявата част. Броят вляво е 8, а вдясно 6). Output-а би трябвало да е - ticket "Ca$$$$$$$$Ca$$$$$$sh" - 6$. А при мен го дава като невалиден.
Имаш и много променливи извън цикъла, които се предполага че ще се ползват при всеки нов ред подаден от масива. Направи дебъг и виж да не би да връща грешка от останала стойност от предишен цикъл. Ако ми пратиш променения код ще дебъгна и ще ти пратя промени ако се наложат.
Направих две корекции, с които взех 100/100, благодарение на твоите препоръки. Благодаря