Python一行if-else语句
这个问题来自codingbat。给定两个int值,返回它们的和。除非两个值相同,否则返回两倍的总和 我试图用一句话来解决这个问题:Python一行if-else语句,python,Python,这个问题来自codingbat。给定两个int值,返回它们的和。除非两个值相同,否则返回两倍的总和 我试图用一句话来解决这个问题: def sum_double(a, b): return 2*(a+b) if (a == b) else return a+b 但我有一个错误,我不知道为什么。非常感谢您的帮助。您不能在else条款中返回。应该是: def sum_double(a, b): return 2*(a+b) if (a == b) else a+b 在else子句中不
def sum_double(a, b):
return 2*(a+b) if (a == b) else return a+b
但我有一个错误,我不知道为什么。非常感谢您的帮助。您不能在else条款中返回。应该是:
def sum_double(a, b):
return 2*(a+b) if (a == b) else a+b
在else子句中不能有退货。应该是:
def sum_double(a, b):
return 2*(a+b) if (a == b) else a+b
您应该删除第二个
返回值
def sum_double(a, b):
return 2*(a+b) if a == b else a+b
如果a==b,则
2*(a+b)的值,否则a+b
表达式就是您实际想要返回的值。您应该删除第二个返回值
def sum_double(a, b):
return 2*(a+b) if a == b else a+b
如果a==b,则2*(a+b)的值,否则a+b
表达式就是您实际想要返回的值。您有两个选项:
使用if/else
语句:
def sum_double(a, b):
if (a == b): #if/else statement
return 2*(a+b) # <--- return statement #^
else: #^
return a+b # <--- return statement #^
每个都有不同的语法和含义您有两个选项:
使用if/else
语句:
def sum_double(a, b):
if (a == b): #if/else statement
return 2*(a+b) # <--- return statement #^
else: #^
return a+b # <--- return statement #^
每个都有不同的语法和含义在Python中,True和False与1、0相同:
def sum_double(a, b): return ((a==b) + 1) * (a+b)
或者使用lambda
sum_double = lambda a, b: ((a==b) + 1) * (a+b)
在Python中,True和False与1、0相同:
def sum_double(a, b): return ((a==b) + 1) * (a+b)
或者使用lambda
sum_double = lambda a, b: ((a==b) + 1) * (a+b)
它不是单行上的if/else语句;它是一个条件表达式,选择两个值中的一个,而不是两个返回语句中的一个。省略第二个return
它不是单行上的if/else语句;这是一个条件表达式,选择两个值中的一个,而不是两个返回语句中的一个。省略第二个return