我最近在 geeks for geeks 网站上提出了一个问题,他们要求两个排序数组的中位数,但是如果小数点后没有数字,他们要求答案为 int;如果小数点后有数字,则答案为 float。例如,当给出偶数数组的中位数时,我们通常将中间元素除以二,因此如果中间元素是 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)
关于python - 在Python中,如果小数点后没有有效数字,则获取整数;如果小数点后有有效数字,则获取浮点型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75046064/