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

Python禁用int()/round()/if()实现浮点数取整问题求教

解法思路与代码

核心思路是通过纯字符串操作提取浮点数的整数部分,全程不使用禁用的int()、round()、if()等方法:

  • 先把浮点数转为字符串,再拼接.0,保证字符串里一定存在小数点,避免输入为整数时找不到小数点的问题
  • 用find('.')定位第一个小数点的位置
  • 通过字符串切片截取小数点之前的内容,直接输出这个字符串(输出结果是纯数字形式,不会显示成3.0这类浮点数格式)

示例代码

x = 3.14159
s = str(x) + ".0"
dot_pos = s.find('.')
print(s[:dot_pos])

测试效果

  • 当x=3.14159时,输出3
  • 当x=5.999时,输出5(注:此方法属于截断取整,若要实现四舍五入,仅用题目允许的三个方法无法完成,因为必然需要判断十分位的数值,而这离不开条件逻辑,正好是题目禁用的内容)
  • 当x=7时,输出7

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:51:37