首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python3中,如何测试以确保用户输入是整数?

在Python3中,如何测试以确保用户输入是整数?
EN

Stack Overflow用户
提问于 2016-05-06 10:47:09
回答 1查看 63关注 0票数 0

我让用户输入一个整数。如果他们不这样做,我想告诉他们他们的错误,并要求他们提供不同的输入。

这就是我到目前为止所知道的:

代码语言:javascript
复制
while (float(dimension) % int(dimension)) > 0:
    prompt = "That number won't work. Please enter an integer between 3-9"
    prompt += "\n>>>"
    dimension = input(prompt)

每次我运行它,假设要测试它,我输入数字5.1。这是我在响应中得到的错误:

代码语言:javascript
复制
ValueError: invalid literal for int() with base 10: 5.1

我输入的任何非整数都会发生这种情况。不知道我做错了什么。

EN

回答 1

Stack Overflow用户

发布于 2016-05-06 10:52:21

EAFP (请求宽恕比请求许可更容易):

代码语言:javascript
复制
dimension = None
while dimension is None:
    try:
        dimension = int(input(">>>"))
    except ValueError:
        print("That number won't work. Please enter an integer.")

对于3-9,你需要额外的逻辑;我可能会把它写成if dimension < 3 or dimension > 9: raise ValueError()风格的东西,但是有些人会不喜欢这种风格。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37063414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档