如何简化Python中判断数字正负零的多段if语句?
Python数字正负零判断代码简化方案
原代码问题说明
你提供的原代码使用了3个独立的if判断,每次执行都会完整走三次判断逻辑,同时存在拼写错误:Negitive应为Negative,以下是几种简化方案:
方案1:使用elif优化多分支判断(可读性最高,推荐)
把独立if替换为elif,匹配到对应分支后会直接终止后续判断,最后用else覆盖等于0的场景,省去额外判断:
number = int(input("Enter your number: ")) if number > 0: value = 'Positive' elif number < 0: value = 'Negative' else: value = 'Zero' print(value)
方案2:嵌套三元表达式(代码最精简)
如果追求代码长度最短,可以用Python的三元表达式嵌套实现一行完成赋值:
number = int(input("Enter your number: ")) value = 'Positive' if number > 0 else 'Negative' if number < 0 else 'Zero' print(value)
注:该方案逻辑清晰,适合简单的多分支赋值场景
方案3:基于布尔值特性的极简实现
利用Python中布尔值对应1/0的特性,通过元组索引取值实现简化:
number = int(input("Enter your number: ")) value = ('Zero', 'Positive', 'Negative')[(number > 0) - (number < 0)] print(value)
注:number>0为真时返回1,number<0为真时返回-1,对应元组索引直接取值,对不熟悉Python特性的开发者来说可读性稍低
内容的提问来源于stack exchange,提问作者Sri Govind
相关产品推荐
相关产品推荐

