一、Python數字比較的基礎知識
Python中,比較數字的常用操作符有以下幾種:
> 大於
< 小於
== 等於
!= 不等於
>= 大於等於
<= 小於等於
當需要比較大小時,直接使用>、<、>=、<=即可。當需要判斷兩個數字是否相等時,使用==(雙等號),而不是=(單等號),因為單等號是賦值操作符。
二、數字比較的差異對比
比較5和4的大小:
num1 = 5
num2 = 4
if num1 > num2:
print("num1大於num2")
elif num1 < num2:
print("num1小於num2")
else:
print("num1等於num2")
上述代碼的輸出結果為:
num1大於num2
比較5和字符串’5’的大小:
num1 = 5
num2 = '5'
if num1 > num2:
print("num1大於num2")
elif num1 < num2:
print("num1小於num2")
else:
print("num1等於num2")
上述代碼會報錯,因為數字和字符串不能直接比較大小。需要將字符串轉換為數字才能比較:
num1 = 5
num2 = '5'
if num1 > int(num2):
print("num1大於num2")
elif num1 < int(num2):
print("num1小於num2")
else:
print("num1等於num2")
輸出結果為:
num1等於num2
三、數字比較的注意事項
在Python中,浮點數的比較有時會出現意想不到的結果:
num1 = 0.1 + 0.2
num2 = 0.3
if num1 == num2:
print("num1等於num2")
else:
print("num1不等於num2")
上述代碼的輸出結果為:
num1不等於num2
這是因為0.1不能完全精確的表示為二進制小數,所以0.1+0.2的結果並不是0.3。在比較浮點數時,應該使用math.isclose()函數來進行近似比較:
import math
num1 = 0.1 + 0.2
num2 = 0.3
if math.isclose(num1, num2):
print("num1等於num2")
else:
print("num1不等於num2")
輸出結果為:
num1等於num2
此外,當使用多個條件進行比較時,需要注意Python中的邏輯運算符:
num1 = 5
num2 = 4
num3 = 6
if num1 > num2 and num2 < num3:
print("num1大於num2,num2小於num3")
上述代碼的輸出結果為:
num1大於num2,num2小於num3
其中and表示邏輯與(兩個條件都滿足),or表示邏輯或(兩個條件中至少一個滿足),not表示邏輯非(條件不滿足時執行代碼塊)。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/230501.html