[Python] If语句练习题

这篇博客介绍了Python编程中关于三角形的几个练习题,包括如何按顺序输出三个整数,以及根据输入的三角形边长判断是否能构成三角形、等腰三角形和直角三角形,并提供了多种解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、输入三个整数x,y,z,请把这三个数由小到大输出

方法1:确定最大值和最小值做比较(比较繁琐)

方法2:通过两两比较重新赋值,确定最小值

方法3:使用排列组合的方式连续判断

二、依次输入三角形的三边长,判断能否生成一个三角形

方法1:确定最长边,判断(三边总长-最长边)与最长边的关系

方法2:直接用两边之和与第三边关系判断

方法3:通过两两比较重新赋值,确定最长边

三、依次输入三角形的三边长,判断能否生成一个等腰三角形

方法1:通过计算

方法2:用or连接三种可能性

四、依次输入三角形的三边长,判断能否生成一个直角三角形

方法1:多计算

方法2:通过重新赋值确定最长边



一、输入三个整数x,y,z,请把这三个数由小到大输出

方法1:确定最大值和最小值做比较(比较繁琐)

x = int(input("请输入x="))
y = int(input("请输入y="))
z = int(input("请输入z="))

if min(x,y,z) ==x and max(x,y,z)==z:
    print(x,y,z)
elif min(x,y,z) ==x and max(x,y,z)==y:
    print(x,z,y)
elif min(x, y, z) == z and max(x, y, z) == x:
    print(z, y, x)
elif min(x, y, z) == z and max(x, y, z) == y:
    print(z, x, y)
elif min(x, y, z) == y and max(x, y, z) == x:
    print(y, z, x)
else:
    print(y,x,z)

方法2:通过两两比较重新赋值,确定最小值

x = int(input("请输入x="))
y = int(input("请输入y="))
z = int(input("请输入z="))

if x>y:
    x,y=y,x
if x>z:
    x,z=z,x
if y>z:
    y,z=z,y
print("{}<{}<{}".format(x,y,z))

方法3:使用排列组合的方式连续判断

x = int(input("请输入x="))
y = int(input("请输入y="))
z = int(input("请输入z="))

if(x>y>z):
    print(z,y,x)
if(x>z>y):
    print(y,z,x)
if(y>x>z):
    print(z,x,y)
if(y>z>x):
    print(x,z,y)
if(z>x>y):
    print(y,x,z)
if (z>y>x):
    print(x,y,z)

二、依次输入三角形的三边长,判断能否生成一个三角形

方法1:确定最长边,判断(三边总长-最长边)与最长边的关系

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if max(a,b,c)< a+b+c-max(a,b,c):
    print("可以生成三角形")
else:
    print("不可以生成三角形")

方法2:直接用两边之和与第三边关系判断

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if max(a,b,c)==c and a+b>c:
    print("可以生成三角形")
elif max(a,b,c)==b and a+c>b:
    print("可以生成三角形")
elif max(a,b,c)==a and b+c>a:
    print("可以生成三角形")
else:
    print("不可以生成三角形")

方法3:通过两两比较重新赋值,确定最长边

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if a<b:
    a,b=b,a
if a<c:
    a,c=c,a
if a<b+c:
    print("可以生成三角形")
else:
    print("不可以生成三角形")

三、依次输入三角形的三边长,判断能否生成一个等腰三角形

方法1:通过计算

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if min(a,b,c)== (a+b+c-max(a,b,c))/2 and max(a,b,c)< min(a,b,c)*2:
    print("可以生成等腰三角形")
else:
    print("不可以生成等腰三角形")

方法2:用or连接三种可能性

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if((a==b and a+b>c)or(a==c and a+c>b) or (b==c and b+c>a) ):
    print("可以生成等腰三角形")
else:
    print("不可以生成等腰三角形")

四、依次输入三角形的三边长,判断能否生成一个直角三角形

方法1:多计算

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if max(a,b,c)< a+b+c-max(a,b,c) and max(a,b,c)**2==min(a,b,c)**2+(a+b+c-max(a,b,c)-min(a,b,c))**2:
    print("可以生成直角三角形")
else:
    print("不可以生成直角三角形")

方法2:通过重新赋值确定最长边

a = int(input("请输入边长a="))
b = int(input("请输入边长b="))
c = int(input("请输入边长c="))

if a<b:
    a,b=b,a
if a<c:
    a,c=c,a
if(a**2==b**2+c**2):
    print("可以生成直角三角形")
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值