Given two non-zero integers, print “YES” if exactly one of them is positive and print “NO” otherwise (Python)
本问题已经有最佳答案,请猛点这里访问。
第一次问关于stackoverflow的问题。我一直在努力解决这个问题。这是我的代码:
1 2 | a = int(input()) b = int(input()) |
给定两个非零整数,如果其中一个正,则打印"是",否则打印"否"。
1 2 3 4 | if (a > 0) or (b > 0): print('YES') else: print('NO') |
1 2 3 4 | if (a>0) != (b>0): print("YES") else: print("NO") |
如何获得Python中两个变量的逻辑XOR?
Tomothy32的答案无疑是最好的方法,简单,更重要的是,易懂。但这里有另一种方法来做同样的事情,只是为了说明另一个程序员可能如何做到这一点:
1 2 3 | onePositive = ( (a > 0 and b < 0) or (a < 0 and b > 0) ) print('yes' if onePositive else 'no' ) |
1 | print('YES' if a * b < 0 else 'NO') |
您可以使用更复杂的布尔运算来实现这一点,但拥有多个条件是最简单的方法:
1 2 3 4 5 6 7 | a = int(input()) b = int(input()) if (a > 0 and b < 0) or (a < 0 and b > 0): print('YES') else: print('NO') |
不是最快的解决方案或1行程序,但将有助于您理解我的思想过程,在解决问题时,只给2个非零整数,如果其中一个正整数,则打印"是",否则打印"否"。
解决方案-如果两个整数都为非零,则只需要一个正的含义,另一个必须为负。
1 2 3 4 5 6 7 8 9 10 11 | a = int(input()) b = int(input()) #if a is positive and b and negative if (a > 0) and (b < 0) : print('YES') #if a is negative and b is positive elif (a < 0) and (b > 0) : print('YES') else : print('NO') |