编写一个非常简单的函数来屏蔽除“#”字符以外的所有字符串的最后4位数字。这是我到目前为止有:Python三元无效语法
def maskify(cc):
res = "#" * (len(cc) - 4) if len(cc) > 4 else return cc
res += cc[len(cc) - 4:]
return res
print(maskify("12355644"))
如果我写了IFS的陈述,而不是利用他们作为三元的运营商,该功能工作正常。如果我尝试做以上操作,我会在res = "#" * (len(cc) - 4) if len(cc) > 4 else return cc
上得到一个无效的语法错误克拉指向n作为回报。如果我重写上面一行来排除else部分,那么克拉指向> 4.
我在这里丢失了什么?该程序使用传统的if-else方法可以正常工作,但是我看到的是三元表达式。用变量替换len(cc)也不会改变任何东西。
你不能在条件表达式'return'声明 – jonrsharpe
你可以,但是,'返回X,如果COND其他y'如果你自己看着办了解如何重写你的功能。 –
你期望'return'在那里做什么? 'return'不是一个表达式,不能成为其他表达式的一部分。 –