熱線電話:13121318867

登錄
首頁精彩閱讀Python的這個特性讓我在學習其他語言的時候崩潰了
Python的這個特性讓我在學習其他語言的時候崩潰了
2022-07-04
收藏

作者:小K

來源:麥叔編程

Python的這個特性讓我在學習其他語言的時候崩潰了

?

我在學了Python的鏈式比較法之后,再用別的語言寫代碼很容易掉坑里。

文末將會告訴大家如何避坑!

?

什么是鏈式比較

>>> 2 == 2 == 1 False 

是否有點懵?其實可以這樣理解,

>>> 2 == 2 and 2 == 1 False 

?

上述第一種代碼中的用法叫做鏈式比較。

?

舉個實例

Python

height = float(input("請輸入您的身高,單位為米"))
weight = float(input("請輸入您的體重,單位為千克"))
bmi = weight/(height*height) print("您的BMI體重指數為"+str(bmi)) #判斷身材是否合理 if bmi < 18.5: print("您的體重過輕") if 18.5 <= bmi < 24.9: print("您的體重正常") if 24.9 <= bmi < 29.9: print("您的體重過重") if bmi >= 29.9: print("肥胖")

看到鏈式比較的代碼了?(正常和過重的那兩個判斷語句中。) 再看看其他語言,

Python的這個特性讓我在學習其他語言的時候崩潰了

JavaScript

const cm = document.getElementById("CM"); const kg = document.getElementById("KG"); const btn = document.getElementById("btn"); const taxt = document.getElementById("taxt");
btn.onclick=function (){ if (isNaN(cm.value || kg.value)){
    taxt.innerText=("輸入錯誤,請輸入數字")
  } const bmi = kg.value / cm.value / cm.value * 10000; if (bmi>0 && bmi <= 18.5){
    taxt.innerText=("偏瘦")
  } if (18.5< bmi&& bmi <=23.9){
    taxt.innerText=("正常")
  } if (23.9 < bmi && bmi <27.9){
    taxt.innerText=("過重")
  } if (27.9 <bmi){
    taxt.innerText=("肥胖")
  }
}

截取代碼片段調試了下,

Python的這個特性讓我在學習其他語言的時候崩潰了

是不是還蠻靈異的,bmi=28的情況下,18.5< bmi <=23.9竟然是true。

試下Python的,

Python的這個特性讓我在學習其他語言的時候崩潰了

相比之下,Python的鏈式比較寫法是不是更加人性化?

?

使用鏈式比較的時候務必考慮運算符的優先級

?

>>> 2 == 2 > 1 True >>> (2 == 2) > 1 False >>> 2 == (2 > 1) False 

后記

因為我的第一語言是Python,所以在學習其他語言的時候都會用Python進行類比學習。

當我在學習JavaScript的時候,因為JavaScript不支持像Python這樣的鏈式比較法,然后又不報異常,所以一整天debug不出來代碼的正確邏輯。

差點當場崩潰?。?!

對了你們還知道哪些語言支持鏈式比較,請在評論區留言,讓我以后少走彎路?。?!在此先謝過~~~

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢