条件表达式无法正常运行(Python)

时间:2018-02-26 19:50:45

标签: python

我应该编写几行代码来创建一个条件表达式(三元运算),如果user_val小于0则求值为“negative”,如果0或大于0则为“non-negative”。 p>

当数字小于零时,我当前打印的代码为“负数”,但当为user_val分配数字0或更大时,它不打印“非负数”。

user_val = -9

cond_str = 'negative' 
cond_str if (user_val < 0) else
cond_str == 'non-negative'

print(user_val, 'is', cond_str)

我尝试将cond_str定义为一个空字符串,并且我还尝试在语句周围进行交换,以便cond_str =='non-negative'将首先出现。我也尝试删除代码的第二行,但它仍然无法正常工作。感谢您对此的帮助。任何建议或建议将非常感谢!

3 个答案:

答案 0 :(得分:5)

我认为你的意思是:

cond_str = 'negative' if (user_val < 0) else 'non-negative'

三元运算符必须在一行上,因为Python对白空间敏感。

答案 1 :(得分:0)

我不明白为什么你在最后一个声明中测试相等。

对我来说最简单的是:

cond_str = 'negative' if user_val < 0 else 'non-negative'

您可以使用Python中的赋值链接if语句,以测试要分配的值。 这被称为“三元运算符”。

答案 2 :(得分:0)

您将希望构建一个条件语句来一行执行此操作。  所以:conditionalstatement =(userval> = 0)? “ non-negative”:“ negative”;这样,0将被注册为非负数。一个简单的程序,您可以使用索引或数组对其进行扩展。