Нарисуйте перевернутый прямоугольный треугольник справа налево с помощью JS HTML

#javascript #html

#javascript #HTML

Вопрос:

Я пытаюсь нарисовать 3-й и 4-й треугольники на следующем рисунке с помощью JS в HTML. Я создал две функции для первых двух треугольников, и я думаю, что мне просто нужно немного скрутить циклы for для 3-го и 4-го, но я не знаю, как это сделать. Вот коды для первых двух.

введите описание изображения здесь

 function draw1() {
  let mytable = "<table>"
  for (let i = 1; i < 6; i  ) {
        mytable  = "<tr>";
        mytable  = "<td>"   "*".repeat(i)  "</td>";
        }
        mytable  = "</tr>"
  document.write(mytable)
}

draw1()

function draw2() {
  let mytable = "<table>"
  for (let i = 5; i > 0; i--) {
        mytable  = "<tr>";
        mytable  = "<td>"   "*".repeat(i)  "</td>";
        }
        mytable  = "</tr>"
  document.write(mytable);
}

draw2() 

Комментарии:

1. Вам были даны ответы. Пожалуйста, выберите один из многих и отметьте как решенный.

Ответ №1:

Чтобы повернуть * стрелки, вам не нужно переделывать js. Вы можете просто использовать direction: rtl правило css для table того, что создает ваш js. Вот так:

 table {
  direction: rtl;
}
 
 function draw1() {
  let mytable = "<table>"
    for (let i = 1; i < 6; i  ) {
      mytable  = "<tr>";
      mytable  = "<td>"   "*".repeat(i)  "</td>";
    }
    mytable  = "</tr>"
    document.write(mytable);
}

draw1();

function draw2() {
  let mytable = "<table>"
    for (let i = 5; i > 0; i--) {
      mytable  = "<tr>";
      mytable  = "<td>"   "*".repeat(i)  "</td>";
    }
    mytable  = "</tr>"
    document.write(mytable);
}

draw2(); 
 table {
  direction: rtl;
} 

Ответ №2:

Вам нужно добавить пробелы перед добавлением *. Поскольку вы рендерите HTML, используйте amp;nbsp; символ пробела. Используйте 2 из них, чтобы соответствующим образом покрыть область в цикле.

 function draw1() {
                    let mytable = "<table>";
                    for (let i = 1; i < 6; i  ) {
                          mytable  = "<tr>";
                          mytable  = "<td>"   "*".repeat(i)  "</td>";
                          }
                          mytable  = "</tr>";
                    document.write(mytable);
              }
              draw1()
              function draw2() {
                    let mytable = "<table>";
                    for (let i = 5; i > 0; i--) {
                          mytable  = "<tr>";
                          mytable  = "<td>"   "*".repeat(i)  "</td>";
                          }
                          mytable  = "</tr>";
                    document.write(mytable);
              }
              draw2();
              function draw3() {
                    let mytable = "<table>";
                    for (let i = 1; i < 6; i  ) {
                          mytable  = "<tr>";
                          mytable  = "<td>"   "amp;nbsp;amp;nbsp;".repeat(5-i)   "*".repeat(i)  "</td>";
                    }
                    mytable  = "</tr>";
                    document.write(mytable);
              }
              draw3();
               function draw4() {
                    let mytable = "<table>";
                    for (let i = 5; i > 0; i--) {
                          mytable  = "<tr>";
                          mytable  = "<td>"    "amp;nbsp;amp;nbsp;".repeat(5-i)   "*".repeat(i)  "</td>";
                    }
                    mytable  = "</tr>";
                    document.write(mytable);
              }
              draw4(); 

Ответ №3:

Используйте приведенный ниже код для создания шаблона.

 let n = 5; // you can take input from prompt or change the value
let string = "";
for (let i = 1; i <= n; i  ) {
  // printing spaces
  for (let j = 0; j < n - i; j  ) {
    string  = " ";
  }
  // printing star
  for (let k = 0; k < i; k  ) {
    string  = "*";
  }
  string  = "n";
}
console.log(string); 

Вот код для второго шаблона.

 let n = 5; // you can take input from prompt or change the value
let string = "";
for (let i = 0; i < n; i  ) {
  // printing star
  for (let k = 0; k < n - i; k  ) {
    string  = "*";
  }
  string  = "n";
}
console.log(string);