鱼C论坛

 找回密码
 立即注册
楼主: 冬雪雪冬

[技术交流] Python:每日一题 150

[复制链接]
发表于 2018-2-7 21:09:04 | 显示全部楼层
  1. import math
  2. a=int(input("请输入三角形的第一个边长:"))
  3. b=int(input("请输入三角形的第二个边长:"))
  4. c=int(input("请输入三角形的第三个边长:"))
  5. if math.sqrt(a)+math.sqrt(b)>math.sqrt(c)and math.sqrt(a)+math.sqrt(c)>math.sqrt(b)and math.sqrt(c)+math.sqrt(b)>math.sqrt(a):
  6.     if a==b or a==c or b==c :
  7.         if a==b==c:
  8.             print("该三角形是等边三角形")
  9.         else:
  10.             print("该三角形是等腰三角形")
  11.             
  12.         
  13.         
  14.     elif a+b==c or a+c==b or b+c==a:
  15.         if a==b or a==c or b==c:
  16.             print("该三角形是等腰直角三角形")
  17.         else:
  18.             print("该三角形是直角三角形")
  19.     else:
  20.         print("该三角形是个其他三角形")
  21. else:
  22.     print("不能成为三角形")
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 21:59:11 | 显示全部楼层
  1. x = int(input('请输入三角形边长x(z为最长边):'))
  2. y = int(input('请输入三角形边长y(z为最长边):'))
  3. z = int(input('请输入三角形边长z(z为最长边):'))
  4. if x + y > z:
  5.         if x == y == z:
  6.                                 print ('是个等边三角形')
  7.         elif x == y != z:
  8.                                 print ('这是个等腰三角形')
  9.         elif (x ** 2) + (y ** 2) == (z ** 2):
  10.                                 print ('这是个直角三角形')
  11.         elif x == y and (x ** 2) + (y ** 2) == (z ** 2):
  12.                                 print ('这是个等腰直角三角形')
  13.         else:
  14.                                 print ('这个是其他三角形')
  15. else:
  16.                         print ('不能成为三角形')
复制代码


初学者 楼主帮忙看看哪里需要改进。

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 22:13:27 | 显示全部楼层
本帖最后由 °蓝鲤歌蓝 于 2018-2-10 20:28 编辑
  1. def SanFun(x,y,z):
  2.     L = [x**0.5,y**0.5,z**0.5]
  3.     L.sort()
  4.     if L[0]+L[1] >= L[2] and L[0] >= L[2]-L[1]:
  5.         return ShenSan([x,y,z])
  6.     else:
  7.         return '不能成为三角形'

  8. def ShenSan(L):
  9.     L.sort()
  10.     if L[0]+L[1] == L[2]:
  11.         if L[0] == L[1]:
  12.             return '等腰直角三角形'
  13.         else:
  14.             return '直角三角形'
  15.     elif L[0]==L[1] or L[1]==L[2]:
  16.         if L[0]==L[2]:
  17.             return '等边三角形'
  18.         else:
  19.             return '等腰三角形'
  20.     else:
  21.         return '其它三角形'
复制代码

点评

问题同2楼  发表于 2018-2-10 19:46
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 22:37:22 | 显示全部楼层
本帖最后由 qichq_7 于 2018-2-7 22:44 编辑

def sanjiaoxing(x, y, z):
    a = x
    b = y
    c = z
    if (a >= b+c) or (b >= a+c) or (c >= a+b):
        print('不能成为三角形')
    else:
        if a == b and a == c:
            print('等边三角形')
        elif (a**2 + b**2 == c**2) or (a**2 + c**2 == b**2) or (c**2 + b**2 == a**2):
            if (a == b) or (a == c) or (b == c):
                print('等腰直角三角形')
            else:
                print('直角三角形')
        elif (a == b and b != c) or (a == c and c != b) or (b == c and c != a):
            if (round(a**2, 15) + round(b**2, 15) == round(c**2, 15)) or (round(a**2, 15) + round(c**2, 15) == round(b**2, 15)) or (round(c**2) + round(b**2) == round(a**2)):
                print('等腰直角三角形')
            else:
                print('等腰三角形')
        else:
            print('其他三角形')

学了几天的新手写了好一会,题目没看清楚,输入的是三边长。测试了下基本可以,一些浮点数还可能会不行。
sanjiaoxing(1,1,2**0.5)                           #等腰直角
sanjiaoxing(1,1,1.9999**0.5)                      #等腰
sanjiaoxing(3,4,5)                                #直角
sanjiaoxing(5,5,5)                                #等边
sanjiaoxing(4,7,8)                                #其他三角形

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-7 22:53:29 | 显示全部楼层
  1. def tri(a, b, c):
  2.         for each in (a, b, c):
  3.                 if each <= 0:
  4.                         return "Can't for triangle."
  5.         list1 = [a, b, c]
  6.         list1.sort()
  7.         if (list1[0] + list1[1]) <= list1[2]:
  8.                 return "Can't form triangle."
  9.         elif list1[0] == list1[1] == list1[2]:
  10.                 return "It's equilateral triangle."
  11.         elif list1[0] == list1[1] and abs(list1[2]**2 - list1[1]**2 - list1[0]**2) <= 10 ** (-8):
  12.                 return "It's isosceles right-angled triangle."
  13.         elif list1[0] == list1[1] or list1[1] == list1[2]:
  14.                 return "It's isosceles triangle."
  15.         elif abs(list1[2]**2 - list1[1]**2 - list1[0]**2) <= 10 ** (-8):
  16.                 return "It's right-angled triangle."
  17.         elif (list1[2]**2 - list1[1]**2 - list1[0]**2) > 10 ** (-8):
  18.                 return "It's obtuse-angle triangle."
  19.         else:
  20.                 return "It's acute-angle triangle。"
复制代码

还加了辨别锐角三角形与钝角三角形的功能,关键是要知道计算机不能计算精确值,所以判定直角三角形哪块要有范围。

点评

因为浮点数的精度,所以题目为输入三边的平方,且为整数  发表于 2018-2-10 19:47

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 03:23:02 | 显示全部楼层
本帖最后由 被翻红浪 于 2018-2-8 08:15 编辑
  1. import math as mm

  2. def triType(a=9, b=16, c=25):

  3.     if mm.sqrt(a) + mm.sqrt(b) > mm.sqrt(c) and mm.sqrt(b) + mm.sqrt(c) > mm.sqrt(a) and mm.sqrt(c) + mm.sqrt(a) > mm.sqrt(b):

  4.         if a == b == c:
  5.             print("This is an equilateral triangle")

  6.         elif a == b or b == c or a == c:
  7.             if (a == b or b == c or a == c) and (a + b == c or b + c == a or a + c == b):
  8.                 print("This is an isosceles right triangle")

  9.             elif a == b or b == c or a == c:
  10.                 print("This is an isosceles triangle")

  11.         elif a + b == c or b + c == a or a + c == b:
  12.             print("This is a right triangle")

  13.         elif a != b != c:
  14.             print("This is a scalene triangle")

  15.     else:
  16.         print("This is not a triangle")
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 04:33:45 From FishC Mobile | 显示全部楼层
本帖最后由 shigure_takimi 于 2018-2-8 04:35 编辑
  1. from math import *
  2. def angle(a2,b2,c2):
  3.         if a2==0 or b2==0 or c2 ==0:
  4.                 return "不能构成三角形"
  5.         a2,b2,c2=sorted([a2,b2,c2])
  6.         a = a2**0.5
  7.         b = b2**0.5
  8.         c = c2**0.5
  9.         ##  A = degrees(acos((b2+c2-a2)/(2*b*c)))
  10.         ##  B = degrees(acos((a2+c2-b2)/(2*a*c)))
  11.         C = degrees(acos((a2+b2-c2)/(2*b*a)))
  12.         if a+b<=c:
  13.                 return "不能构成三角形"
  14.         elif a2==b2==c2:
  15.                 return "等边三角形"
  16.         elif a2+b2==c2:
  17.                 if a2== b2:
  18.                         return "等腰直角三角形"
  19.                 else:
  20.                         return "直角三角形"
  21.         else:
  22.                 if C > 90:
  23.                         return "钝角三角形"
  24.                 else:
  25.                         return "锐角三角形"
  26.                
  27. print(angle(0,2,6)) # 不能构成三角形
  28. print(angle(1,1,4)) # 不能构成三角形
  29. print(angle(25,9,16)) # 直角三角形
  30. print(angle(6,6,6)) # 等边三角形
  31. print(angle(49,64,91)) # 锐角三角形
  32. print(angle(1,1,2)) # 等腰直角三角形
  33. print(angle(1,1,3)) # 钝角三角形
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 10:05:08 | 显示全部楼层
  1. import math
  2. a,b,c = map(int,input('请输入三角形的三个边的长度平方a,b,c:').split())
  3. triangle = [a,b,c]
  4. triangle.sort()
  5. if math.sqrt(triangle[0]) + math.sqrt(triangle[1]) > math.sqrt(triangle[2]):
  6.         if triangle[0] + triangle[1] == triangle[2]:
  7.                 if triangle[0] == triangle[1]:
  8.                         print('此三角形是等腰直角三角形')
  9.                 else:
  10.                         print('此三角形是直角三角形')
  11.         else:
  12.                 if triangle[0] == triangle[1] == triangle[2]:
  13.                         print('此三角形是等边三角形')
  14.                 elif triangle[0] == triangle[1] or triangle[1] == triangle[2]:
  15.                         print('此三角形是等腰三角形')
  16.                 else:
  17.                         print('此三角形是其他三角形')
  18. else:
  19.         print('这三个边构不成三角形')

复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 11:01:25 | 显示全部楼层
本帖最后由 冰封雪舞 于 2018-2-10 21:58 编辑

a = int(input('请输入第一条边的长度平方'))
b = int(input('请输入第二条边的长度平方'))
c = int(input('请输入第三条边的长度平方'))
d1=[a,b,c]
e=len(set(d1))
f=set(d1)
if e ==1:
    print('这是个等边三角形')
if e ==2:
    for i in d1:
        if d1.count(i)==1:
            aa = i
        if d1.count(i)==2:
            bb = i
    if 2*bb==aa:
       print('这是个等腰直角三角形')
    elif 2*bb**0.5 >aa**0.5 :
        print('这是个等腰三角形')
    else:
        print('这是其它三角形')        
if e==3:
    a1=max(d1)
    d1.remove(a1)   
    b1=min(d1)
    d1.remove(b1)
    c1=d1[0]
    if b1**0.5<=a1**0.5-c1**0.5 or b1==0:
        print('不能成为三角形')
    elif c1+b1==a1:
        print('这是个直角三角形')
    else:
        print('这是个其它三角形')
针对第一版本e==2时,忽略的其它三角型模式的更改,谢谢楼主指出的错误。

点评

e为2时,不一定能成为三角形,如1,1, 10  发表于 2018-2-10 19:50
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 12:41:47 | 显示全部楼层

def check_triangle(a,b,c):
        list1 = [a,b,c]
        list1.sort()
        if a**0.5 + b**0.5 > c**0.5:
                if list1[0] ==list1[1] == list1[2]:
                        print('等边三角形')
                elif list1[0] == list1[1] and list1[0] + list1[1] == list1[2]:
                        print('等腰直角三角形')
                elif list1[0] + list1[1] == list1[2]:
                        print('直角三角形')
                elif list1[0] == list1[1]:
                        print('等腰三角形')
                else:
                        print('其他三角形')
        else:
                print('不能成为三角形')
               
print('请输入三角形的三条边的平方(整数):')
a = int(input('第1条边的平方:'))
b = int(input('第2条边的平方:'))
c = int(input('第3条边的平方:'))
check_triangle(a,b,c)

print(a**0.5 , b**0.5 , c**0.5)

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 14:17:24 | 显示全部楼层
a , b , c = 1 , 2, 1 #每条边的平方
list = [a, b, c]
list.sort()
cosC = (list[0] + list[1] - list[2])/(list[0]*list[1]*4)**0.5

p0 = cosC <= -1 #不是三角形
p1 = cosC == 0.5 #等边
p2 = cosC == 0 and (list[0] != list[1] ) #直角
p3 = p2 and list[0] == list[1] #等腰直角
p4 = (list[0] == list[1]) or (list[1] == list[2]) and not p2 and not p1 #等腰
p5 = not (p1 or p2 or p3 or p4) #普通三角形

L1 = [p0, p1, p2 ,p3 ,p4 , p5]
L2 = ['不是三角形','等边三角形','直角三角形','等腰直角三角形','等腰三角形','普通三角形']

print(L2[L1.index(True)])

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 15:44:00 | 显示全部楼层
n=float (input("输入边长n:"))
m=float (input("输入边长m:"))
d=float (input('输入边长d:'))
if d<n<m or n<d<m:
    h=d; d=m; m=h
elif d<m<n or m<d<n:
    h=d; d=n; n=h
cos= (n**2+m**2-d**2)/(2*n*m)
if n+m<=d or n+d<=m or m+d<=n:
    print('不能成为三角形')
elif n==m==d:
    print('等边三角形')
   
elif n==m or n==d or m==d:
    if cos==0:
        print('等腰直角三角形')
    print("等腰三角形")
elif cos ==0:
    print('直角三角形')
else:
    print('其他三角形')

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 15:44:28 | 显示全部楼层
import math

def inputIsdigit():
    num = input('请输入三角形一条边的平方:')
    flag = True
    while(flag):
        try:
            if(float(num) or int(num)):
                flag = False
        except:
            flag = True
            num = input('输入格式错误,请重新输入一个三角形一条边的平方:')
    return num

a =inputIsdigit()
b =inputIsdigit()
c =inputIsdigit()
a = float(a) if float(a) else int(a)
b = float(b) if float(b) else int(b)
c = float(c) if float(c) else int(c)
listsort = [a,b,c]
listsort.sort()
min = listsort[0]
mid = listsort[1]
max = listsort[2]
if(math.sqrt(min)+math.sqrt(mid)>math.sqrt(max)):
    if(min==mid and mid == max):
        print('由%d,%d,%d组成的是等边三角形'%(min,mid,max))
    elif(min == mid and min+mid == max):
        print('由%d,%d,%d组成的是等腰直角三角形'%(min,mid,max))
    elif(min != mid and min+mid == max):
        print('由%d,%d,%d组成的是直角三角形'%(min,mid,max))
    elif(min == mid and min+mid != max):
        print('由%d,%d,%d组成的是等腰三角形'%(min,mid,max))
    elif(min != mid and min+mid != max):
        print('由%d,%d,%d组成的是其他三角形'%(min,mid,max))
else:
    print('由%d,%d,%d不能组成三角形'%(min,mid,max))

请输入三角形一条边的平方:9
请输入三角形一条边的平方:16
请输入三角形一条边的平方:25
由9,16,25组成的是直角三角形

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 16:08:29 | 显示全部楼层
本帖最后由 天圆突破 于 2018-2-8 16:12 编辑
  1. #装饰器,确保输入一个正整数
  2. def intm(func):
  3.     def intn(args):
  4.         while True:
  5.             res = func(args)
  6.             if res.isdigit() and res != '0':
  7.                 return int(res)
  8.     return intn

  9. #输入模块,循环用
  10. @intm
  11. def inputnum(i):
  12.     res = input('请输入第%d个数字:'%(i+1))
  13.     return res

  14. #判断三角形,先排列,后判断
  15. def Triangle():
  16.     lst = list()
  17.     for i in range(3):
  18.         res = inputnum(i)
  19.         lst.append(res)
  20.     a = max(lst)
  21.     c = min(lst)
  22.     lst.remove(a);lst.remove(c)
  23.     b = lst[0]

  24.     #判断:
  25.     if a**(0.5) >= (b**(0.5) + c**(0.5)):
  26.         print('这三个数字构不成三角形。')
  27.     else:
  28.         if a == b == c:
  29.             print('这是个等边三角形。')
  30.         elif b + c == a and (a== b or b == c):
  31.             print('这是个等腰直角三角形')
  32.         elif b + c == a:
  33.                 print('这是个一般直角三角形。')
  34.         elif a== b or b == c:
  35.             print('这是个一般等腰三角形')
  36.         else:
  37.             print('这是个普通三角形。')


  38. if __name__ == '__main__':
  39.     Triangle()
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 16:11:32 | 显示全部楼层
a = int(input('请输入第一条边的长度:'))
b = int(input('请输入第二条边的长度:'))
c = int(input('请输入第三条边的长度:'))
d = []

if a + b > c and a + c > b and c + b > a:
    d.append(a)
    d.append(b)
    d.append(c)
    d.sort() #排序
    d = list(set(d))
    e = len(d)
   
    if e == 1:
        print('等边三角形')
    if e == 2:
        if d[0]*d[0]*2 == d[1]*d[1]:
            print('等腰直角三角形')
        else:
            print('等腰三角形')
    if e == 3:
        if d[0]*d[0]+ d[1]*d[1]== d[2]*d[2]:
            print('直角三角形')
        else:
            print('其它三角形')

   
else:
    print('不能成为三角形')

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 16:32:22 | 显示全部楼层
#!/usr/bin/env python
# -*- coding:utf-8 -*-


def judge_triangle(a, b, c):
    if a+b<=c or a+c<=b or b+c<=a:
        print('不能成为三角形!')
    elif a==b==c:
        print('等边三角形!')
    elif a==b or a==c or b==c:
        if a**2 + b**2 == c**2:
            print('等腰直角三角形!')
        else:
            print('等腰三角形!')
    elif a**2 + b**2 == c**2:
        print('直角三角形!')
    else:
        print('其它三角形!')


if __name__ == '__main__':
    try:
        a, b, c = map(int, input('请输入三个整数(以空格分隔):').strip().split())
        judge_triangle(a, b, c)
    except ValueError as e:
        print('输入的内容不是数字!')

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 16:50:06 | 显示全部楼层
  1. from math import sqrt
  2. def judge(lines):
  3.     a,b,c = sorted(lines)
  4.     if a == b == c:
  5.         print("等边三角形")
  6.     elif sqrt(a)+sqrt(b)<=sqrt(c):
  7.         print("不能成为三角形")
  8.     elif a + b == c:
  9.         if a == b:
  10.             print("等腰直角三角形")
  11.         else:
  12.             print("直角三角形")
  13.     elif a == b or b==c:
  14.         print("等腰三角形")
  15.     else:
  16.         print("其他三角形")


  17. judge((16,25,9))
  18. judge((2,1,1))
  19. judge((1,1,1))
  20. judge((1,1,9))
  21. judge((1,1,3))
  22. judge((1,2,2))
  23. judge((1,7,9))
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-8 20:59:10 | 显示全部楼层
本帖最后由 cr161680 于 2018-2-8 21:00 编辑
  1. import math
  2. bian1 = float(input('请输入第一条边的长度:'))
  3. bian2 = float(input('请输入第二条边的长度:'))
  4. bian3 = float(input('请输入第三条边的长度:'))
  5. bianjihe = [bian1,bian2,bian3]
  6. bianjihe.sort()
  7. a = bianjihe[2]
  8. b = bianjihe[1]
  9. c = bianjihe[0]


  10. if b + c > a:
  11.     if a == b and b == c:
  12.         print('三个边组成等边三角形')
  13.     elif b == c:
  14.         if b ** 2 + c ** 2 == a ** 2:
  15.             print('三个边组成等腰直角三角形')
  16.         else:
  17.             print('三个边组成等腰三角形')
  18.     elif (b ** 2 + c ** 2) == a ** 2:
  19.         print('三个边组成直角三角形')
  20.     else:
  21.         print('三个边组成其他三角形')
  22. else:
  23.     print('三个边不能组成三角形')
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-9 11:03:46 | 显示全部楼层
  1. import cmath


  2. def triangle(s1, s2, s3):
  3.     ls1 = cmath.sqrt(int(s1)).real
  4.     ls2 = cmath.sqrt(int(s2)).real
  5.     ls3 = cmath.sqrt(int(s3)).real

  6.     print(s1, s2, s3)
  7.     print(ls1, ls2, ls3)

  8.     if ls1+ls2 <= ls3 or ls1+ls3 <= ls2 or ls2+ls3 <= ls1:
  9.         print('不是三角形!')
  10.     elif s1 == s2 == s3:
  11.         print('该三角形为:等边三角形')
  12.     elif s1 == s2 != s3 or s1 == s3 != s2 or s2 == s3 != s1:
  13.         if s1+s2 == s3 or s1+s3 == s2 or s2+s3 == s1:
  14.             print('该三角形为:等腰直角三角形')
  15.         else:
  16.             print('该三角形为:等腰三角形')
  17.     elif s1+s2 == s3 or s1+s3 == s2 or s2+s3 == s1:
  18.         print('该三角形为:直角三角形')
  19.     else:
  20.         print('该三角形为:其它三角形')


  21. s1_sq = input("请输入三角形的第一条边的平方:")
  22. s2_sq = input("请输入三角形的第二条边的平方:")
  23. s3_sq = input("请输入三角形的第三条边的平方:")

  24. if s1_sq.isdigit() and s2_sq.isdigit() and s3_sq.isdigit():
  25.     triangle(int(s1_sq), int(s2_sq), int(s3_sq))
  26. else:
  27.     print("输入错误,请输入整数!")
复制代码

评分

参与人数 1荣誉 +3 鱼币 +3 收起 理由
冬雪雪冬 + 3 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-9 11:27:32 | 显示全部楼层
  1. def Triangle(n1,n2,n3):
  2.     if n1 + n2 < n3 or abs(n1 - n2) > n3:
  3.         return 1
  4.     else:
  5.         return 0

  6. a = int(input("请输入三角形的边长的平方:"))
  7. b = int(input("请输入三角形的边长的平方:"))
  8. c = int(input("请输入三角形的边长的平方:"))

  9. flag = 0
  10. flag = Triangle(a,b,c)
  11. flag = Triangle(a,c,b)
  12. flag = Triangle(b,c,a)

  13. if flag == 1:
  14.     print("不能成为三角形")
  15. if a == b == c and flag == 0:
  16.     print("等边三角形!")
  17.     flag = 1

  18. if flag == 0:
  19.     if a == b or b == c or a == c:
  20.         print("等腰",end = '')
  21.         flag = 1
  22.     if (a + b == c) or (a + c == b) or (b + c == a):
  23.         print("直角",end = '')
  24.         flag = 1
  25.     if flag == 1:
  26.         print("三角形")

  27. if flag == 0:
  28.     print("其他三角形")
  29.    
  30.         
复制代码

执行结果:
  1. >>>
  2. 请输入三角形的边长的平方:3
  3. 请输入三角形的边长的平方:1
  4. 请输入三角形的边长的平方:10
  5. 不能成为三角形
复制代码
  1. 请输入三角形的边长的平方:9
  2. 请输入三角形的边长的平方:16
  3. 请输入三角形的边长的平方:25
  4. 直角三角形
复制代码
  1. 请输入三角形的边长的平方:4
  2. 请输入三角形的边长的平方:4
  3. 请输入三角形的边长的平方:8
  4. 等腰直角三角形
复制代码
  1. 请输入三角形的边长的平方:6
  2. 请输入三角形的边长的平方:6
  3. 请输入三角形的边长的平方:8
  4. 等腰三角形
复制代码
  1. 请输入三角形的边长的平方:4
  2. 请输入三角形的边长的平方:5
  3. 请输入三角形的边长的平方:6
  4. 其他三角形
复制代码

点评

问题同2楼  发表于 2018-2-11 20:17
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-19 08:20

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表