python - 如何让用户输入 int 而不是 float?
问题描述
我正在编写一个程序,该程序在控制台中从用户那里获取一个值,并且我将其转换为int
这样的:
num = int(input("Enter a number: "))
我只需要使用我的程序即可ints
。这可以将输入到控制台的实际 int 转换为我可以在程序中使用的 int,但是如果用户输入浮点数,例如 3.1,则它不会通过截断或四舍五入转换为 int。
如何让用户输入 int 而不是 float?或者如何将浮点输入转换为 int?
解决方案
您可以使用 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 。
推荐阅读
- google-colaboratory - 如何在 Google Colab 中导入和运行 SQL 查询?
- pandas - 在数据框中查找字符串的索引和列号
- javascript - 如何从 MongoDB 中的数组中渲染对象并做出反应
- ios - 无法从 Firebase 中注销帐户
- python - pystray 与其他代码执行
- python - PyInstaller 生成一个不断调用子进程的 exe
- flutter - 如何从自定义 PickImage 页面中选择多个文件并传递到另一个页面
- java - Java生成复杂的json响应
- android - 如何按需扩展android中的对话(例如单击按钮)
- c++ - 如何让函数返回两个值?还有其他方法可以解决我的问题吗?