Задача 8 упражнение: Условни конструкции
Здравейте,
Изкарвам 86 точки на задачата (Тест 6 и 8 са грешни).
Знам и видях решения на задачата, искам да разбера къде греша.
function solve(input) {
let income = Number(input.shift());
let midRes = Number(input.shift());
let minSal = Number(input.shift());
let Scol = midRes * 25
let socScol = minSal * 0.35
if (midRes < 4.5) {
console.log(`You cannot get a scholarship!`);
}
if (midRes >= 5.5) {
if (income > minSal) {
console.log(`You get a scholarship for excellent results ${Math.floor(Scol)} BGN`);
} else if (Scol >= socScol) {
console.log(`You get a scholarship for excellent results ${Math.floor(Scol)} BGN`);
} else {
console.log(`You get a Social scholarship ${Math.floor(socScol)} BGN`);
}{
}
}
if (midRes < 5.5) {
if (income > minSal) {
console.log(`You cannot get a scholarship!`);
}
else {
console.log(`You get a Social scholarship ${Math.floor(socScol)} BGN`);
}
}
}
Имаш в предвид :
if (midRes >= 5.5) {
if (income > minSal) {
console.log(`You get a scholarship for excellent results ${Math.floor(scol)} BGN`);
} else if (scol >= socScol) {
console.log(`You get a scholarship for excellent results ${Math.floor(scol)} BGN`);
} else {
console.log(`You get a Social scholarship ${Math.floor(socScol)} BGN`);
}
Не използвам && понеже се предполага, че до този момент не би трябвало да ги знам.
Благодаря, очевидно имам пропуски :)
Е, то не се предполага, че си запознат и с вложени условни конструкции, но ги ползваш.
Ето нагледно какво имам предвид.
Ако има нещо, което не е съвсем ясно - сега му е времето да питаш.
Бях го направил със същата логика и последователност, но с грешки в синтаксиса.
Вложената конструкция докарах по логика, затова съм я използвал.
Иии благодаря отново за съдействието, надявам се няма да откажеш рамо и за напред.
Като цяло си се справил добре. Продължавай в същия дух.
Извинявам се ако е нахално, но дали може някакъв контакт за още едно-две въпросчета?
Здравей,
ако не е проблем за теб - питай тук. И да не съм аз, винаги ще има кой да ти помогне.
Поздрави :)
Нямах особено желание заради естеството на въпроса, но очевидно нямам избор.
Става въпрос за здача 6 от вложени условни конструкции. Или по-точно за синтаксиса.
Искам да изполвзам суич в суича, за да избегна голям обем, а и суич-овете ми изглеждат по-четливи и ясни.
За да избегна критики ще вмъкна, че знам как решението може да бъде по съкратено и както каза елегантно с да кажем нова променлива и по един конзол лог на кейс.
https://pastebin.com/pHdvyhB3?fbclid=IwAR31JhFXWyli3ZH8YzWb-DUozYh85_Mrymwvlv4SEc2Xdpm5Qa1VSh6LtoQ
Не съм я тествал с Джъдж.
Влиза в първият суич, прескача кейсовете и вади еррор от дефаулт. Не ми е ясно защо.
Здравей,
ето решението на задачата с вложен switch. Поне според мен, по-краткият код не винаги е по-елегантен. Въпросът е, че при теб има доста повторяем код, което не е лошо да се опитваш да избегнеш. В моя примерен код може да видиш как можеш да го реализираш.
Това е синтаксиса на switch-a. Всеки case трябва да завършва с break, а ако имаш няколко случая с един и същ код блок ги описваш и чак тогава break-ваш. И не е задължително да пишеш default, ако няма да го ползваш.
Пример :
Поздрави :)
PS -> Лично аз много уважавам тази конструкция и я ползвам винаги, когато имам "фиксирани" стойности.
Ако трябва да пишеш на Python, то там няма такава конструкция и пишеш if .. elif докато ти се изясни.