鱼C论坛

 找回密码
 立即注册
查看: 1597|回复: 6

[已解决]help

[复制链接]
发表于 2020-5-6 13:19:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输入三角形的3条边长,判断其形状。输入错误则,输出“EER”。(例:输入:3 4 5,输出:直角三角形)我的代码有哪些问题,请指出。另外if语句有没有满足则继续执行,不满足则将后面的代码不再执行的函数?
a=input()
b=a.isdigit()
if b==False:
    print("ERR")
x=a.split(" ")
x.sort(key=int)
c=int(x[0])
d=int(x[1])
e=int(x[2])
if c**2+d**2==e**2:
    print("直角三角形")
elif c**2+d**2>e**2:
    print("钝角三角形")
elif c**2+d**2<e**2:
    print("锐角三角形")
最佳答案
2020-5-6 13:25:08
本帖最后由 liuzhengyuan 于 2020-5-6 13:29 编辑
a = input()
x = a.split(" ")

b = True
if len(x) != 3:
        b = False
for i in x:
    if not i.isdigit():
        b = False
        
if b == False:
    print("ERR")
else:
    x.sort()
    c=int(x[0])
    d=int(x[1])
    e=int(x[2])
    if c**2+d**2==e**2:
        print("直角三角形")
    elif c**2+d**2>e**2:
        print("钝角三角形")
    elif c**2+d**2<e**2:
        print("锐角三角形")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-5-6 13:22:27 | 显示全部楼层
本帖最后由 qiuyouzhi 于 2020-5-6 13:26 编辑

1,
a=input()
x=a.split(" ")
for each in x:
    b=each.isdigit()
    if b==False:
        print("ERR")
x.sort(key=int)
c=int(x[0])
d=int(x[1])
e=int(x[2])
if c**2+d**2==e**2:
    print("直角三角形")
elif c**2+d**2>e**2:
    print("钝角三角形")
elif c**2+d**2<e**2:
    print("锐角三角形")
2,exit。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 13:24:19 | 显示全部楼层
qiuyouzhi 发表于 2020-5-6 13:22
1,你可以自己测试一下,我没看出来什么错误。
2,exit。

很明显,有空格的字符串 isdigit 返回 False

评分

参与人数 1荣誉 +3 鱼币 +2 收起 理由
qiuyouzhi + 3 + 2 鱼C有你更精彩^_^

查看全部评分

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

使用道具 举报

发表于 2020-5-6 13:25:08 | 显示全部楼层    本楼为最佳答案   
本帖最后由 liuzhengyuan 于 2020-5-6 13:29 编辑
a = input()
x = a.split(" ")

b = True
if len(x) != 3:
        b = False
for i in x:
    if not i.isdigit():
        b = False
        
if b == False:
    print("ERR")
else:
    x.sort()
    c=int(x[0])
    d=int(x[1])
    e=int(x[2])
    if c**2+d**2==e**2:
        print("直角三角形")
    elif c**2+d**2>e**2:
        print("钝角三角形")
    elif c**2+d**2<e**2:
        print("锐角三角形")
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 13:30:04 | 显示全部楼层
try:
    a,b,c=sorted(map(lambda i:i*i,map(int,input().split())))
    
except:
    print('ERR')

else:
    a+=b
    
    if a>c:
        print('钝角三角形')
    elif a<c:
        print('锐角三角形')
    else:
        print('直角三角形')
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-6 13:48:10 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-5-6 13:24
很明显,有空格的字符串 isdigit 返回 False

那有什么解决的办法吗?转成列表之类的吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-6 14:23:16 | 显示全部楼层
可爱的菲菲酱 发表于 2020-5-6 13:48
那有什么解决的办法吗?转成列表之类的吗?

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-11 01:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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