我应该编写几行代码来创建一个条件表达式(三元运算),如果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'将首先出现。我也尝试删除代码的第二行,但它仍然无法正常工作。感谢您对此的帮助。任何建议或建议将非常感谢!
答案 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将被注册为非负数。一个简单的程序,您可以使用索引或数组对其进行扩展。