这个if-else条件可以用任何运算符替换吗?或者可以用更少的代码编写。如果是,那怎么办?
if workingPeriod<3 and gender=="male":
return f"He is not experienced"
elif workingPeriod<3 and gender =="female":
return f"She is not experienced"
elif workingPeriod >=3 and gender =="male":
return f"He is experienced"
elif workingPeriod >=3 and gender =="female":
return f"She is experienced"
else:
pass
你有两种情况(男性或女性以及是否有经验(。您正试图解析同一if语句块中的所有条件组合,因此有4个分支,因为有4个组合。
您可以简化为分别解决每个条件,而不是4个分支。这样可以减少代码的复杂性和行数。
prefix = "He" if gender == "male" else "She"
return prefix + (" is experienced" if workingPeriod > 3 else " is not experienced")
假设除了'male'
或'female'
之外没有其他性别(如果情况并非如此,则不想返回None
(:
return f'{"He" if gender=="male" else "She"} is {"not " if workingPeriod<3 else ""}experienced'
如果你确实有更多的性别(即pass
情况`(:
return f'{"He" if gender=="male" else "She" if gender=="female" else "They"} is {"not " if workingPeriod<3 else ""}experienced'