Ввод в консоль код

Когда в консоль напишешь время в цифрах, он должен приветствовать исходя от заданного времени. Например я введу цифру 17, ответ должен приветствовать "Добрый день!" Или же введу 9, ответ: "Доброе утро!"

Как это сделать в самом консоль?


Ответы (2 шт):

Автор решения: Krovorgen

function sayHello(time) {
  if (time >= 0 && time < 7) {
    console.log('Доброй ночи');
  } else if (time >= 7 && time < 20) {
    console.log('Добрый день');
  } else if (time >= 20 && time <= 24) {
    console.log('Добрый вечер');
  }
}

window.sayHello = sayHello;

Как вариант чтобы работать именно через консоль

→ Ссылка
Автор решения: S.H.

Мне кажется - я сужу по этому воросу и по закрытому вопросу "Составить программу", что проблема у автора вопроса не с js.

JS - это язык. программа, написанная на этом языке, должна как то исполняться.

Простых способов выполнить программу на js - два:

  1. загрузить её в браузер

  2. выполнить при помощи node.js

Возьмем для примера задачу автора, и рассмотрим её решение.

Шаг 0.

Это - функция, котрая на вход принимает ввод пользователя (и мы неявно предполагаем, что это число от 0 до 23 - число часов в текущем времени), а на выходе говорит приветствие, зависящее от времени.

        function sayHello(time) {
          if (time >= 6 && time < 12) {
            return('Доброе утро');
          } else if (time >= 12 && time < 18) {
            return('Добрый день');
          } else {
            return('Добрый вечер');
          }
        }

Эта функция реализует алгоритм, но как ввести в неё данные и как показать ответ, который она возвращает?

Шаг 1. Запуск кода в браузере. Взаимодействие с пользователем через prompt() и alert().

(Отметим, что функция prompt() имеет еще и версию с двумя параметрами: второй параметр - это значение по умолчанию в том случае, если пользователь ничего не ввел.)

Создадим такой файл:

    <!DOCTYPE html>
    <html lang="ru">
      <head>
        <script type="text/javascript">

            let time = prompt( 'какое у вас время (в часах)?' );

            if (time >= 6  && time < 12 ) {
               alert( 'Доброе утро' );
            } else if (time >=  12 && time < 18 ) {
               alert( 'Добрый день' );
            } else {
               alert( 'Добрый вечер' );
            }    

        </script>
      </head>
      <body>
        <h3>Учебное задание выполнено!</h3>
      </body>
    </html>

Сохраним этот файл на диске как test.html и откроем его в браузере.

Выполнение кода в браузере

Результат - мы можем взаимодействовать с программой при помощи подсказок, котрые появляются над пустой страницей. А когда подсказки кончились - на странице возникает надпись "учебное задание выполнено!".

Что происходит при загрузке этой страницы в браузер? Браузер начинает интерпретировать загруженную страницу, добирается до тега , интерпретирует скрипт и выполняет его. Скрипт выполняется до отображения основного текста страницы, а так как он прерывается функциями prompt() и alert() - текст отобразится уже после завершения программы.

Шаг 2. Консоль браузера. отладка.

Если нажать клавишу F12, то справа (по умолчанию) открывается консоль, которая позволяет, вообще говоря, делать много разного. Нас интересует сейчас так называаемая "печать в консоль".

Консоль

Изменим файл вот так:

    <!DOCTYPE html>
    <html lang="ru">
      <head>
        <script type="text/javascript">

            let time = prompt( 'какое у вас время (в часах)?' );

            if (time >= 6  && time < 12 ) {
               console.log( 'Доброе утро' );
            } else if (time >=  12 && time < 18 ) {
               console.log( 'Добрый день' );
            } else {
               console.log( 'Добрый вечер' );
            }    

        </script>
      </head>
      <body>
        <h3>Учебное задание выполнено!</h3>
      </body>
    </html>

Мы получим надпись из алгоритма не в виде всплывающего окна, а в виде надписи в поле "console" (не забудьте нажать F12 еще ДО ввода времени, чтобы увидеть, как эта надпись появится)

печать в консоль

И таким способом можно печатать из программы любые сообщения, например, значения переменных, что может понадобиться для отладки боее сложных алгоритмов.

Шаг 3. В игру вступает нода (node.js) node.js - это "исполнитель" javascript, который умеет запускать js-файлы. Чтобы не пересказывать весь "учебник", я просто сошлюсь на сайт https://javascript.ru/ , на его скринкаст https://learn.javascript.ru/screencast/nodejs где в первых двух уроках объясняется общая информация о том, что такое node.js, а третий урок как раз посвящен её установке. Будем считать, что нода у Вас уже установлена, и команда node --version возвращает что то типа v14.17.6.

Создадим файл со скриптом test.js

    const readline = require('readline').createInterface({
      input: process.stdin,
      output: process.stdout
    });

    readline.question('какое у вас время (в часах)?', time => {
      
            if (time >= 6  && time < 12 ) {
               console.log( 'Доброе утро' );
            } else if (time >=  12 && time < 18 ) {
               console.log( 'Добрый день' );
            } else {
               console.log( 'Добрый вечер' );
            }   

      readline.close();
    });

Тогда при его запуске командой node test.js Вы увидите:

печать из ноды

Таким образом, у Вас есть способ запускать учебные js - скрипты. Конечно, мой ответ - это лишь маленькая часть знаний, но я надеюсь, что он будет полезен в случае, когда Вы в первый раз пытаетесь запустить js - скрипт.

→ Ссылка