fc5igm 发表于 2021-5-28 03:32:16

005讲关于要求输入整数的问题求助

num1 = int(input("请输入第一个整数:"))
num2 = int(input("请输入第二个整数:"))

if num1 < num2:
    print("第一个数比第二个数小!")

if num1 > num2:
    print("第一个数比第二个数大!")

if num1 == num2:
    print("第一个数和第二个数一样大!")

005讲动动手第二个问题给了三种代码,如上为其中一种。通过更正代码,程序变为了必须输入整数才可以正常运行,否则则会报错。
那请问,如果我想改为,输入小数会自动更正为整数,应该怎么做?

动动手第0问给的代码是允许输入任何实数。
第一问改为了仅输入整数才不会报错。
本问题的目标需求为,求问如何做才可以自动将被输入的数字自动转化为整数?

小伤口 发表于 2021-5-28 07:57:11

本帖最后由 小伤口 于 2021-5-28 08:11 编辑

把int换成float
然后可以用下面的的方法
我这里举第一种num=int(num)
其他类似这样写就行,不过round方法有缺陷
小数位多了就不行

向下取整,用int()
print(int(-2.33))
print(int(2.22))

"""
-2
2
"""
2.向上取整,用math模块的ceil()
print(math.ceil(-2.77))
print(math.ceil(2.22))
print(math.ceil(3.75))

"""
-2
3
4
"""

3.四舍五入,用round()
print(round(2.44))
print(round(3.66))
print(round(3.66, 1))
print(round(3.663, 2))

"""
2
4
3.7
3.66

逃兵 发表于 2021-5-28 08:15:38

python中,int为整型,float为浮点数
其中int为向下取整
可以先将字符串转化为float浮点数,再转化为整型
num1 = int(float(input("请输入第一个整数:")))
num2 = int(float(input("请输入第二个整数:")))

if num1 < num2:
    print("第一个数比第二个数小!")

if num1 > num2:
    print("第一个数比第二个数大!")

if num1 == num2:
    print("第一个数和第二个数一样大!")

fc5igm 发表于 2021-5-28 10:56:01

小伤口 发表于 2021-5-28 07:57
把int换成float
然后可以用下面的的方法
我这里举第一种num=int(num)


十分感谢。

fc5igm 发表于 2021-5-28 10:56:50

逃兵 发表于 2021-5-28 08:15
python中,int为整型,float为浮点数
其中int为向下取整
可以先将字符串转化为float浮点数,再转化为整型 ...

谢谢!
页: [1]
查看完整版本: 005讲关于要求输入整数的问题求助