python写程序用while实现打印三角形。要求输入一个整数表示三角形的宽度和高度,打印出如下的三种直角三角形
时间: 2023-04-06 17:05:15 浏览: 120
以下是使用 Python 的 while 循环实现打印三角形的代码:
```python
# 打印直角三角形
n = int(input("请输入三角形的宽度和高度:"))
print("直角三角形1:")
i = 1
while i <= n:
print("*" * i)
i += 1
print("直角三角形2:")
i = n
while i >= 1:
print("*" * i)
i -= 1
print("直角三角形3:")
i = 1
while i <= n:
print(" " * (n - i) + "*" * i)
i += 1
```
注意,这里的 while 循环是用来控制行数的,每行的星号数量是通过字符串乘法实现的。第一个直角三角形是从一行开始逐渐增加星号数量,第二个直角三角形则是从最大行数开始逐渐减少星号数量,第三个直角三角形则是在每行前面添加一定数量的空格,使得星号呈直角三角形排列。
相关问题
从键盘任意输入如3个数,分别作为3条线段的长度值,当3条线段不能构成三角形时,则输出:“此三条线段不能构成三角形,请重新输入3个数”。当3条线段能构成三角形时:则输出:“此三条线段能构成三角形”。然后再计算三个形的面积,并输出面积,输出格式为:三角形的面积为:XX平方米。
你可以通过以下步骤编写一个简单的程序来实现这个功能:
1. 首先,提示用户输入三个整数作为线段长度。
2. 检查这三个数字是否满足构成三角形的条件。三角形的任意两边之和必须大于第三边。如果不符合,输出错误消息并提示用户重新输入。
3. 如果输入的线段可以构成三角形,计算它们的面积。对于直角三角形,面积可以用较短的两条边长相乘再除以2;对于等腰或一般三角形,可以使用海伦公式(半周长乘以半周长减去每边长度的平方的算术平方根)。
4. 计算得到面积后,将其转换为平方米或其他合适的单位,并输出结果。
以下是Python代码示例:
```python
def is_triangle(a, b, c):
if a + b > c and a + c > b and b + c > a:
return True
else:
return False
def triangle_area(a, b, c):
# 使用海伦公式计算面积
p = (a + b + c) / 2
area = (p * (p - a) * (p - b) * (p - c)) ** 0.5
return area
while True:
try:
a = int(input("请输入第一条线段的长度:"))
b = int(input("请输入第二条线段的长度:"))
c = int(input("请输入第三条线段的长度:"))
if not is_triangle(a, b, c):
print("此三条线段不能构成三角形,请重新输入3个数")
else:
area = triangle_area(a, b, c)
print(f"三角形的面积为:{area}平方米")
break
except ValueError:
print("输入无效,请输入整数")
```
阅读全文