0

嗨,我对编码还很陌生,我坚持否定以及如何正确实施它。我一直在阅读一本教自己的教科书,但我被困在“写一个否定 n 的 if 语句,当且仅当它小于 0 时”

我已经尝试过并且失败了,任何提示或帮助将不胜感激。

if -n > 0:
n = 1
4

5 回答 5

5

像这样?

if n < 0:
    n = -n

if语句检查是否n小于零。如果是这种情况,它分配-nn,有效地否定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
于 2014-08-10T11:54:13.590 回答
1

求反需要给 n 赋值。“当且仅当”需要一个 if 语句。

if n < 0:
    n = -n
于 2014-08-10T11:55:37.013 回答
1
if n < 0:
  n = n * -1

print n  

我认为这对于初学者来说很简单。

于 2014-08-10T11:59:08.370 回答
1

尝试这个。

n = abs(n)

是一样的..如果是负数就是正数,如果是正数..还是正数

于 2014-08-10T12:00:12.863 回答
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,例如:(if not a is b: ...测试“a”和“b”是否是对同一对象的引用)也可以写if a is not b: ...

于 2014-08-10T12:02:40.040 回答