Главная » Задание 2 : работа с циклами

Задание 2 : работа с циклами


04.03.2021, 08:24

Исходные данные

Данное задание - оптимизация полученного скрипта из задания 1

1) Автоматизировать вопросы пользователю про фильмы при помощи цикла

2) Сделать так, чтобы пользователь не мог оставить ответ в виде пустой строки,
отменить ответ или ввести название фильма длинее, чем 50 символов. Если это происходит -
возвращаем пользователя к вопросам опять. (К любой строке можно обратиться как
str.length - и получить её длину)

3) При помощи условий проверить personalMovieDB.count, и если он меньше 10 - вывести сообщение
"Просмотрено довольно мало фильмов", если от 10 до 30 - "Вы классический зритель", а если больше -
"Вы киноман". А если не подошло ни к одному варианту - "Произошла ошибка"

4) Переписать цикл еще двумя способами





Код

"use strict";

const numberOfFilms = +prompt("Сколько фильмов вы уже посмотрели?", "");

const personalMovieDB = {
  count: numberOfFilms,
  movies: {},
  actors: {},
  genres: [],
  privat: false
};

for (let i = 0; i < 2; i++) {

  const a = prompt("Один из последних просмотренных фильмов?", ""),
  b = prompt("На сколько его оцените?", "");

  if (a != null && b != null && a != '' && b != '' && a.length < 50) {
  personalMovieDB[a] = b;
  } else {
  console.log('Error');
  i--;
  }

}

if (personalMovieDB.count < 10) {
  console.log("Просмотрено довольно мало фильмов");
  } else if (personalMovieDB.count >= 10 && personalMovieDB.count < 30) {
  console.log("Вы классический зритель");
  } else if (personalMovieDB.count >= 30) {
  console.log("Вы киноман");
  } else {
  console.log("Произошла ошибка");
}

console.log(personalMovieDB);
  

Код

/* Альтернативный способ с помощью цикла while */

let num = 0;

while (num < 2) {

  const a = prompt("Один из последних просмотренных фильмов?", ""),
  b = prompt("На сколько его оцените?", "");

  num++;

  if (a != null && b != null && a != '' && b != '' && a.length < 50) {
  personalMovieDB[a] = b;

  } else {
  console.log('Error');
  num--;
  }

}

/* Альтернативный способ с помощью цикла do...while */

let num = 0;

do {
  const a = prompt("Один из последних просмотренных фильмов?", ""),
  b = prompt("На сколько его оцените?", "");

  num++;

  if (a != null && b != null && a != '' && b != '' && a.length < 50) {
  personalMovieDB[a] = b;
  } else {
  console.log('Error');
  num--;
  }
}

while (num < 2);



КОММЕНТАРИИ (0)