js让用户输入一个数字,如5,则打印5行的等腰三角形,如果输入其他数字,则打印指定行的等腰三角形
时间: 2023-06-01 20:01:37 浏览: 96
以下是实现该功能的JavaScript代码:
```
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.question('请输入一个数字:', (answer) => {
const n = parseInt(answer);
if (isNaN(n) || n <= 0) {
console.log('请输入一个正整数!');
rl.close();
return;
}
for (let i = 1; i <= n; i++) {
let line = '';
for (let j = 1; j <= n - i; j++) {
line += ' ';
}
for (let j = 1; j <= i * 2 - 1; j++) {
line += '*';
}
console.log(line);
}
rl.close();
});
```
该代码使用了Node.js中的readline模块,用于获取用户输入。首先判断用户输入的是否是一个正整数,如果不是则提示用户重新输入。然后使用两层循环打印等腰三角形,外层循环控制行数,内层循环控制每一行的空格和星号。最后关闭输入流。
相关问题
javascript输入一个数输出倒等腰三角形
在JavaScript中,你可以通过循环结构来创建一个输入数字n对应的倒等腰三角形。以下是一个简单的示例函数,它会根据用户输入打印出指定行数的倒等腰三角形:
```javascript
function printInvertedTriangle(n) {
for (let i = n; i > 0; i--) {
let spaces = " ".repeat(n - i); // 用于填充空格的部分
let stars = "*".repeat(2 * i - 1); // 用于打印星号的部分
console.log(spaces + stars); // 打印每一行
}
}
// 调用函数并传入想要的行数
printInvertedTriangle(prompt("请输入一个正整数:"));
```
这个函数首先从给定的数字n开始递减,然后计算每行所需的空格数和星号数。空格数等于总行数减去当前行数,星号数则是一倍的当前行数减一。每次循环都会将空格和星号连接起来,然后打印到控制台。
如果你想让用户直接在控制台运行这段代码,可以去掉`prompt()`部分,直接传递数字作为函数的参数,例如 `printInvertedTriangle(5)`。
输入一个数字n,输出一个菱形; 例如n的值为5,输出 * *** ***** ******* ********* ******* ***** *** *
为了输出一个指定大小的菱形,你可以编写一个简单的程序,使用循环结构来逐行生成菱形的上下两部分。这里是一个使用Python的例子,输入数字`n`作为菱形的宽度:
```python
def print_right_triangle(n):
for i in range(n):
print(' ' * (n - i - 1) + '*' * (i * 2 + 1))
def print_left_triangle(n):
for i in range(n - 1, -1, -1):
print(' ' * (n - i - 1) + '*' * (i * 2 + 1))
def print_diamond(n):
print_right_triangle(n)
print_left_triangle(n)
# 测试
print_diamond(5)
```
这段代码首先定义了一个右三角形函数,然后定义左三角形函数。最后,将两个三角形合并成菱形并打印出来。输入`n=5`时,会输出类似您所描述的样子。
如果你需要其他编程语言的版本,如JavaScript或Java,也可以告诉我,我会提供相应的代码示例。
阅读全文