[英]Get a integer if there are no significant digits after decimal or get a float if there are significant digits after decimal in python
我最近在 geeks for geeks 網站上做了一個問題,他們要求兩個排序的 arrays 的中位數,但是如果小數點后沒有數字,他們要求答案是 int,如果小數點后有數字,則答案是 float。 例如,當給出偶數 arrays 的中位數時,我們通常將中間元素除以二,因此如果中間元素是2
和4
那么除法后的答案應該是3
,或者如果元素是3
和4
答案應該是3.5
。 但是,如果我們在 python 中使用/
運算符,它將返回2
和4
的除法作為3.0
,如果我們使用//
運算符,它將返回3
和4
的除法作為3
而不是3.5
。 有什么辦法可以解決這個問題而不是檢查 2 的整除性。
你可以潛在地嘗試這樣的事情。 正常進行除法,然后應用以下內容:
if int(x) == x: # will be true if x=5.0 but not if x = 5.5
x = int(x)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.