You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求获取用户输入浮点数并判断整数部分奇偶的Python替代代码

替代实现方案

下面是几种简洁直观的实现方式,适合Python新手理解:

方法1:用math.floor()直接获取整数部分

math.floor()会返回小于等于输入数的最大整数,完美对应浮点数的整数部分(正负场景都适用),逻辑清晰易懂:

import math

num = float(input("Enter a floating point number: "))
integer_part = math.floor(num)
print("Even" if integer_part % 2 == 0 else "Odd")

示例:math.floor(3.9)返回3,math.floor(-2.3)返回-3,拿到整数部分后直接判断奇偶即可。

方法2:正数场景下用int()转换

如果确定输入的是正数,直接转成int()就能截断小数部分得到整数,代码最简洁:

num = float(input("Enter a floating point number: "))
integer_part = int(num)  # 正数时int(3.9)=3,int(5.1)=5
print("Even" if integer_part % 2 == 0 else "Odd")

注意:这个方法只适用于正数,int(-2.3)会返回-2,而非正确的整数部分-3,负数场景别用。

方法3:用math.trunc()配合判断处理正负

math.trunc()会直接截断小数部分,正数和int()效果一致,但负数需要额外调整才能得到正确的整数部分:

import math

num = float(input("Enter a floating point number: "))
if num >= 0:
    integer_part = math.trunc(num)
else:
    integer_part = math.trunc(num) - 1  # 负数截断后减1,比如-2.3截断为-2,减1得到-3
print("Even" if integer_part % 2 == 0 else "Odd")

方法4:用字符串分割提取整数部分

把输入转成字符串后按小数点分割,取前半部分转成整数,适合新手理解字符串操作逻辑:

num_str = input("Enter a floating point number: ")
if "." in num_str:
    integer_part_str = num_str.split(".")[0]
else:
    integer_part_str = num_str
integer_part = int(integer_part_str)
# 负数比如-2.3分割后是"-2",转int后能正确识别负号
print("Even" if integer_part % 2 == 0 else "Odd")

这个方法能兼容用户输入整数的情况,比如输入5也能正常处理。

内容的提问来源于stack exchange,提问作者User

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 23:22:09