if语句否定python 2.7.8

时间:2014-08-10 11:52:59

标签: python if-statement negation

嗨,我对编码很新,我坚持否定以及如何正确实施。  我自己经历过一本教科书,而且我被困了 "写一个否定n的if语句,当且仅当它小于0"

我已经尝试过并且失败了,任何提示或帮助都会受到赞赏。

if -n > 0:
n = 1

5 个答案:

答案 0 :(得分:5)

喜欢这个吗?

if n < 0:
    n = -n

if语句检查n是否小于零。如果是这种情况,则会将-n分配给n,从而有效地否定n

如果您将n替换为实际数字,您会看到它的工作原理:

n = -10
if n < 0:   # test if -10 is less than 0, yes this is the case
    n = -n  # n now becomes -(-10), so 10

n = 10
if n < 0:   # test if 10 is less than 0, no this is not the case
    n = -n  # this is not executed, n is still 10

答案 1 :(得分:1)

否定需要为n赋值。 “当且仅当”需要if语句。

if n < 0:
    n = -n

答案 2 :(得分:1)

if n < 0:
  n = n * -1

print n  

我认为这对初学者来说非常简单。

答案 3 :(得分:1)

试试这个。

n = abs(n)

是否相同..如果它是否定的,它将是正面的,如果它是正面的......它仍将是正面的

答案 4 :(得分:1)

通常Python程序员使用 not 关键字来否定条件:

if not -n > 0:
    n = 1

(虽然,这个例子有点复杂,可能更容易维护为if n < 0: ...)。

Python条件表达式的一个好处是not的使用可以通过自然地读取英语的方式来完成。例如,我可以说if 'a' not in 'someword': ...并且它是相同的(语义上),就好像我将其编码为if not 'a' in 'someword': ...这在使用is测试对象标识时特别方便...例如:{{ 1}}(测试'a'和'b'是否是对同一个对象的引用)也可以写成if not a is b: ...