马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
求两个数的最大公约数,但是调用之后只能运行里面一个循环,也拿不到两个数的重复的数字,对说也没用,大神 ...
求最大公约数,大神帮帮忙
我是想用函数来求两个整数的最大公约数,然后执行这个代码的时候,不能我想的那样执行,大神你看一下我的代码就懂了,是求两个整数的最大公约数。
是python写的
你在and关键字的理解上出现了问题,and并不是求两个列表的交集。你的return(list1 and list2),只要list1不为空就和return list2是等价的。
其实求最大公约数函数一句就可以搞定啦:gcd = lambda x,y:x if y==0 else gcd(y, x%y)
给你附一个and详解:
1、当两个操作数均为逻辑值时,与我们通常理解的逻辑运算一致;
2、当第一个操作数为逻辑值,第二个操作数为其他类型时,执行以下规则:
a and b:在a为false的时候,返回a,否则返回b。
a or b: 在a为true的时候,返回a,否则返回b。
总之,and与or返回的不仅有true/false的语义,还返回了它的值。
|