输入一个[3,101上的正整数n,输出口行由 “* 字行组成的三角形(每行 “*” 字符的个数组成首 项为 1,公差为2的等差数列)。输入无效时输出 “ERROR
时间: 2024-02-03 21:12:59 浏览: 21
以下是 Python 代码实现:
```python
n = input()
if not n.isdigit() or int(n) % 2 == 0:
print("ERROR")
else:
n = int(n)
for i in range(1, n+1, 2):
print(" "*(n-i)//2 + "*"*i)
```
代码思路:
1. 首先判断输入是否为正整数,并且是否为奇数。如果不满足条件,则输出 "ERROR"。
2. 如果输入有效,则进行下一步操作。
3. 使用循环从 1 开始,每次增加 2,遍历到 n。
4. 对于每个循环变量 i,先计算出空格的个数为 (n-i)//2,然后再输出 i 个星号。其中, // 代表整除符号。
5. 输出结果即可。
相关问题
从键盘上输入一个整数n,打印出n行*号组成的三角形
好的,这个问题我可以回答。以下是代码:
```
n = int(input("请输入一个整数n:"))
for i in range(1, n+1):
print("*" * i)
```
希望能帮到你!
输入正整数n,输出由n行*号组成的等腰三角形,第一行为1个*第二行为3个*
好的,下面是 Python 代码实现:
```python
n = int(input("请输入正整数n:"))
# 依次输出每一行的星号
for i in range(1, n+1):
# 输出空格
for j in range(n-i):
print(" ", end="")
# 输出星号
for k in range(2*i-1):
print("*", end="")
# 换行
print()
```
上述代码中,我们首先输入正整数 `n`,然后使用两个循环依次输出每一行的星号,第一个循环控制行数,第二个循环分别输出空格和星号。其中,空格的个数为 `n-i`,星号的个数为 `2*i-1`,因为在等腰三角形中,第 `i` 行有 `2*i-1` 个星号。最后使用 `print()` 换行即可。
例如,当输入 `n=5` 时,输出结果如下:
```
*
***
*****
*******
*********
```