这个 if else 条件是否可以由任何运算符替换,或者可以用更少的代码编写。如果是这样,那又如何呢?
Can this if else condition be replaced by any operator or can this be written using less code. if so then how?
这个 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'
没有其他性别(并且不想 return 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'
这个 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'
没有其他性别(并且不想 return 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'