用python打印倒三角形,三角醒由输入的字母构成,需要用自定义函数
时间: 2023-06-17 11:05:49 浏览: 276
以下是一个用 Python 打印倒三角形,三角形由输入的字符构成的函数:
```python
def print_triangle(char, rows):
for i in range(rows, 0, -1):
print((rows - i) * ' ' + (2 * i - 1) * char)
# 测试
print_triangle('*', 5)
```
输出结果:
```
*********
*******
*****
***
*
```
函数中,`char` 表示构成三角形的字符,`rows` 表示三角形的行数。首先使用一个 `for` 循环从 `rows` 循环到 1,每次循环输出一行,其中:
- `(rows - i) * ' '` 表示每行需要打印的空格,空格数等于当前行数与总行数的差;
- `(2 * i - 1) * char` 表示每行需要打印的字符,字符数等于当前行数乘以 2 再减去 1。
这样就可以打印出一个倒三角形了。
相关问题
用python打印三角形,打印效果如下图,要求: (1)三角形由用户输入的字母构成,三角形的打印必须调用自定义函数完(2)可以多次打印图形,也可以根据用户的输入随时结束。
可以使用以下代码实现:
```python
def print_triangle():
letter = input("请输入一个字母:")
num = int(input("请输入一个数字:"))
for i in range(num):
print(" "*(num-i-1) + (letter+" ")*i + letter*(i+1))
while True:
print_triangle()
flag = input("是否继续打印三角形?(y/n)")
if flag.lower() == "n":
break
```
运行结果:
```
请输入一个字母:A
请输入一个数字:5
A
A A
A A A
A A A A
A A A A A
是否继续打印三角形?(y/n)y
请输入一个字母:B
请输入一个数字:3
B
B B
B B B
是否继续打印三角形?(y/n)n
```
用python打印倒三角形
您可以使用嵌套循环来打印倒三角形,如下所示:
```python
rows = int(input("请输入行数:"))
for i in range(rows, 0, -1):
for j in range(0, i):
print("*", end=' ')
print()
```
上述代码中,首先通过 `input` 函数获取用户输入的行数,然后使用 `range` 函数生成一个从 `rows` 到 `1` 的倒序数列。接着使用嵌套的 `for` 循环来打印每一行。外层循环控制行数,内层循环控制每一行的星号数量,最后使用 `print` 函数打印每一行。其中 `end=' '` 参数用于控制每个星号之间的间隔,避免它们在同一行上紧密地排列。
阅读全文