Python编程:使用键盘输入一个正整数n,用循环在控制台输出 n行由“*”组成的直角三角形、反直角三角,倒直角三角形形和等腰三角形
时间: 2024-02-12 15:07:41 浏览: 152
好的,以下是Python代码实现:
```python
n = int(input("请输入一个正整数n:"))
# 直角三角形
print("直角三角形:")
for i in range(1, n+1):
print("*" * i)
# 反直角三角形
print("反直角三角形:")
for i in range(n, 0, -1):
print("*" * i)
# 倒直角三角形
print("倒直角三角形:")
for i in range(1, n+1):
print(" " * (n-i) + "*" * i)
# 等腰三角形
print("等腰三角形:")
for i in range(1, n+1):
print(" " * (n-i) + "*" * (2*i-1))
```
这段代码首先通过 `input()` 函数获取用户输入的正整数n,然后分别使用循环输出直角三角形、反直角三角形、倒直角三角形和等腰三角形。其中,直角三角形和反直角三角形的循环中,使用了字符串的乘法运算符 `*` 来输出一行由“*”组成的直角三角形或反直角三角形;倒直角三角形和等腰三角形的循环中,则使用了字符串的拼接运算符 `+` 和空格来控制输出的格式。
相关问题
Python中多重循环——输出*组成的三角形,输入一个正整数n,输出n层的*组成的三角形图形的代码
以下是Python中多重循环输出n层三角形的代码:
```
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-i,*号数等于2*i-1。
编程实现:输出一个由n行组成的直角杨辉三角形。注意:n是一个整数,由用户从键盘输入(1 <= n<= 15)。
在Python中,可以使用嵌套循环来实现这个功能。下面是一个简单的示例,通过打印每个位置的数字来构造直角杨辉三角形:
```python
def print_pascal_triangle(n):
# 初始化一个空列表,用于存储每一行的值
triangle = [[0] * (i + 1) for i in range(n)]
# 遍历每一行
for i in range(n):
# 杨辉三角的第一行和最后一行始终只有一个元素,分别是1
if i == 0 or i == n - 1:
print(" ".join(str(num) for num in triangle[i]))
else:
# 对于中间的行,每个元素是它上面两个元素之和
for j in range(i):
triangle[i][j] = triangle[i - 1][j] + triangle[i - 1][j + 1]
# 输出当前行
print(" ".join(str(num) for num in triangle[i]))
# 获取用户输入并验证
try:
n = int(input("请输入一个1到15之间的整数:"))
if 1 <= n <= 15:
print_pascal_triangle(n)
else:
print("输入错误,请输入1到15之间的整数。")
except ValueError:
print("输入错误,请输入一个整数。")
阅读全文