有没有办法缩短代码?

2024-04-26 20:40:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我今天创建了这行代码,它决定一个数是否等分

if (numerator / denominator * denominator) == numerator:
    print "Divides evenly!"
else:
    print "Doesn't divide evenly."

然而,我在除以0时遇到了一个问题,因为我仍然希望它通过观察分子,看它是偶数还是奇数,来告诉我即使分母是0,它是否也会除以。我想到了这个:

if denominator != 0 and (numerator / denominator * denominator) == 
numerator:
    print "Divides evenly!"
elif denominator == 0 and numerator % 2 == 0:
    print "Divides evenly!"
else:
    print "Doesn't divide evenly."

有没有办法缩短这个时间?还有,有没有办法不必添加新的“elif”语句?你知道吗


Tags: and代码if分子else偶数printdivide
2条回答

简而言之,如果denominator0,您希望它是2

if denominator == 0:
    denominator = 2

if numerator % denominator == 0:
    print "Divides evenly!"
else:
    print "Doesn't divide evenly."

甚至更短:

if numerator % (denominator or 2) == 0:
    print "Divides evenly!"
else:
    print "Doesn't divide evenly."
def fun(n,d):
    return (d==0 and n%2==0) or (d!=0 and n%d==0)

相关问题 更多 >