第一次问一个关于stackoverflow的问题。我一直在努力解决这个问题。这是我的代码:
a = int(input())
b = int(input())
给出两个非零整数,如果正好其中一个为正,则打印“ YES”,否则打印“ NO”。
if (a > 0) or (b > 0):
print('YES')
else:
print('NO')
答案 0 :(得分:3)
if (a>0) != (b>0):
print("YES")
else:
print("NO")
答案 1 :(得分:1)
您可以使用更复杂的布尔运算来执行此操作,但是具有多个条件是最简单的方法:
a = int(input())
b = int(input())
if (a > 0 and b < 0) or (a < 0 and b > 0):
print('YES')
else:
print('NO')
答案 2 :(得分:1)
print('YES' if a * b < 0 else 'NO')
答案 3 :(得分:1)
Tomothy32的答案是最好的方法,可以确保不断简化,更重要的是,易于理解。但是,这是做同一件事的另一种方式,只是为了说明另一个程序员可能如何做:
onePositive = ( (a > 0 and b < 0) or (a < 0 and b > 0) )
print('yes' if onePositive else 'no' )
答案 4 :(得分:0)
不是最快的解决方案或1-liner,但可以帮助您理解我的思考过程(给定正好2个非零整数),如果正整数之一为正,则打印是,否则为否。
解决方案-如果两个整数均为非零值,则您想精确地表示一个正数,而另一个则必须为负数
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')