python中求絕對值
『壹』 【python】數組中絕對值最小的數
題目:有一個升序的數組,數組中可能有正數、負數或者0,求數組中元素的絕對值最小的數。例如,數組[-10, -5, -2, 7, 15, 50],該數組中絕對值最小的數是-2。
分析:二分法。該題可分為以下三種情況:
(1)如果數組第一個元素為非負數,那麼minNum = arr[0]
(2)如果數組最後一個值為負數,那麼minNum = arr[-1]。
(3)如果數組中既有正數又有負數,首先找到正數與負數的分界點,如果分界點恰好為0,那麼0為最小值。否則通過比較分界點左右的正數與負數的絕對值來確定最小數。
如何查找正數與負數的分界點呢?採用二分法,主要思路:取數組中間位置的值a[mid],並將它與0值比較,比較結果分為如下三種情況:
(1)如果a[mid] == 0,那麼這個數就是絕對值最小的數。
(2)如果a[mid] > 0,a[mid - 1] < 0,那麼通過比較a[mid]與a[mid - 1]的絕對值就可以找到數組中絕對值最小的數;如果a[mid - 1] == 0, 那麼a[mid - 1]就是要找的數;否則接著在數組的左半部分查找。
(3)如果a[mid] < 0,a[mid + 1] > 0,那麼通過比較a[mid]與a[mid +1]的絕對值就可以找到數組中絕對值最小的數;如果a[mid + 1] == 0, 那麼a[mid + 1]就是要找的數;否則接著在數組的右半部分查找。
code:
def findMinNum(arr):
if arr is None or len(arr) <= 0:
return
# [1] 數組中沒有負數
if arr[0] >= 0:
return arr[0]
# [2] 數組中沒有正數
if arr[-1] <= 0:
return arr[-1]
# [3] 數組中既有正數又又負數
mid = None
absMin = None
begin = 0
end = len(arr) - 1
while begin < end:
mid = begin + (end - begin) >> 1
# 如果arr[mid] == 0,則是絕對值最小的數
if arr[mid] == 0:
return 0
# 如果大於0, 正負數的分界點在左側
elif arr[mid] > 0:
# 繼續在數組的左半部分查找
if arr[mid - 1] > 0:
end = mid - 1
elif arr[mid - 1] == 0:
return 0
# 找到正負數的分界點
else:
break # 如果小於0, 在數組右半部分查找
else:
# 在數組的右半部分繼續查找
if arr[mid + 1] < 0:
begin = mid + 1
elif arr[mid + 1] == 0:
return 0
else:
break
# 獲取正負數分界點處絕對值最小的值
if (arr[mid] > 0):
if arr[mid] < abs(arr[mid - 1]):
absMin = arr[mid]
else:
absMin = arr[mid - 1]
else:
if abs(arr[mid]) < abs(arr[mid + 1]):
absMin = arr[mid]
else:
absMin = arr[mid + 1]
return absMin
if __name__ == "__main__":
arr = [-10, -5, -2, 7, 15, 50]
print(findMinNum(arr))
『貳』 python怎麼把 a的值賦值給b 讓a保持不變 然後求b的絕對值
把a的值賦值給b,保持a不變:b = a # 最簡單的東西吧返回b的絕對值:print(abs(b)) #abs() 是py中返回絕對值的函數
『叄』 python,用選擇結構,求鍵盤上輸入的任意一個整數x的絕對值
代碼及運行結果如圖所示,望採納!
『肆』 python中,怎樣對列表中每一項求絕對值
可以使用map函數,map函數會對列表的每一個元素執行函數操作後返回一個新的函數。
map函數的一個參數是需要對每一個元素執行的操作,對於本問題就是求絕對值,可以通過內置abs()函數實現,第二個參數是列表。示常式序如下:
myList=[-1,2,-3,4,-5,6]
absList=map(abs,myList)#對於Python3.x需要用list函數對map的返回值轉換為列表
print(absList)
#[1,2,3,4,5,6]
『伍』 python 3.x編程求實數x的絕對值
參數,x--數值表達式,返回值,函數返回x(數字)的絕對值。
Python的3.0版本,常被稱為Python3000,或簡稱Py3k相對於Python的早期版本,這是一個較大的升級為了不帶入過多的累贅,Python3在設計的時候沒有考慮向下相容許多針對早期Python版本設計的程式都無法在Python3上正常執行。
Python2默認編碼是ASCII,在使用Python2的過程中經常會遇到編碼問題,當時因為Python語言還沒使用Unicode,所以使用ASCII作為默認編碼Python3默認編碼是Unicode(utf-8),也就不需要在文件頭部寫#coding=utf-8。
『陸』 Python 輸入兩個整數a和b,求a-b的絕對值
#!envpython
#-*-coding:utf-8-*-
a=input("a:")
b=input("b:")
print(abs(int(a)-int(b)))
運行結果:
『柒』 python中如何求一個數的絕對值
a=-12。
按照從左至右結合性和優先順序順序,先計算a-=a*a,最後a結果為a=a-a*a,a=3-3*3=-6;
再計算a+=-6,因為此時a的值已經變成了-6,所以計算過程是a=a+(-6)=-6-6=-12。
或:
a+=a-=a*a;
復合賦值表達式,從右到左運行,可以分拆成:
a-=a*a;
a+=a;
a的原值為3
a-=a*a;
相當於
a=a-a*a=3-3*3=-6;
再運行
a+=a;
自然就成了-12
(7)python中求絕對值擴展閱讀:
任務的優先順序等級與相對截止期、空閑時間之間的層次關系可以用一種線性關系來描述,比如,
di+ksj=g
其中,k為線性關系的斜率,g 可以看成是優先順序等級。對於確定的斜率k,g 越小,優先順序等級越高。比如,對於g1<g2,滿足di+ksj=g1的任務優先順序要高於滿足di+ksj=g2的任務優先順序。圖中帶箭頭的斜向上直線表示一種不同等級的排序,越往左上,等級越高。
『捌』 用python求絕對值
1.條件判斷
2.內置函數abs()
3.內置模塊 math.fabs
abs() 與fabs()的區別
abs()是一個內置函數,而fabs()在math模塊中定義的。
fabs()函數只適用於float和integer類型,而abs()也適用於復數。
abs()返回是float和int類型,math.fabs()返回是float類型
『玖』 python裡面的函數是什麼意思
1、Python中的函數是什麼意思?
如果你需要實現一個功能,那麼你需要用代碼來實現。
那麼Python中為你設置了一些固定功能的代碼,實現一個功能的這些代碼就是一個函數。
簡而言之,函數就是實現特有的功能,你可以直接調用的內建函數。
2、函數舉例
Python內置了許多函數,我們可以直接調用。
比如:abs函數,是用來求絕對值的。
如下圖所示,a就是輸入,b就是經過函數處理後得到的輸出。
具體如何求絕對值?我們不管,abs幫我們做好了,我們只要把他需要的值給他就行了
『拾』 python 求數值絕對值最小值並返回原值
代碼如下
lst=[5,3,4,-6,-2,-9]
minabs=abs(lst[0])
minele=lst[0]
forlinlst:
ifabs(l)<minabs:
minabs=abs(l)
minele=l
print('minabs=%s;minele=%s'%(minabs,minele))
這是返回最左邊的絕對值最小的元素,要想返回最右邊的絕對值最小的元素把<改成<=就可以了。不明白可追問。