首页 > 解决方案 > 如何让用户输入 int 而不是 float?

问题描述

我正在编写一个程序,该程序在控制台中从用户那里获取一个值,并且我将其转换为int这样的:

num = int(input("Enter a number: "))

我只需要使用我的程序即可ints。这可以将输入到控制台的实际 int 转换为我可以在程序中使用的 int,但是如果用户输入浮点数,例如 3.1,则它不会通过截断或四舍五入转换为 int。

如何让用户输入 int 而不是 float?或者如何将浮点输入转换为 int?

标签: pythonfloating-pointint

解决方案


您可以使用 try catch 块来确保它们只给您一个int

while True:
    try:
        num = int(input("Enter a number: "))
        #do something with num and then break out of the while loop with break
    except ValueError:
        print("That was not a number, please do not use decimals!")

当 ValueError (当它无法转换为 int 时)被排除时,它会返回询问一个数字,一旦你得到你的号码,你就可以用所说的数字做事,或者然后跳出循环并在其他地方使用 num 。


推荐阅读