嗨,我对编码很新,我坚持否定以及如何正确实施。 我自己经历过一本教科书,而且我被困了 "写一个否定n的if语句,当且仅当它小于0"
我已经尝试过并且失败了,任何提示或帮助都会受到赞赏。
if -n > 0:
n = 1
答案 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: ...