首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Python While循环,仅接受整数

Python While循环,仅接受整数
EN

Stack Overflow用户
提问于 2021-10-08 06:23:02
回答 1查看 62关注 0票数 0

我有这个循环,我很难让它接受在线整数。没有字符串。

代码语言:javascript
代码运行次数:0
运行
复制
def addItem(menu, order):
    # get item no from user
    itemNo = int(input('your choice : '))
    # validate item no
    if itemNo == -1:
        return itemNo
    while itemNo not in range(1, len(menu) + 1):
        itemNo = int(input('Invalid input, try again: '))
        if itemNo == -1:
            return itemNo
EN

回答 1

Stack Overflow用户

发布于 2021-10-08 06:30:11

您可以在执行此操作的函数中抛出try/catch

代码语言:javascript
代码运行次数:0
运行
复制
def get_input():
    not_valid = True
    while not_valid:
        itemNo = input("your choice: ")
        try:
           itemNo = int(itemNo) #Try convert the input to an integer
           return itemNo
        except TypeError: #That fails - start over
            print("Enter only integers!")

并使用它

代码语言:javascript
代码运行次数:0
运行
复制
def addItem(menu, order):
    # get item no from user
    itemNo = get_input()
    # validate item no
    if itemNo == -1:
        return itemNo
    while itemNo not in range(1, len(menu) + 1):
        itemNo = int(input('Invalid input, try again: '))
        if itemNo == -1:
            return itemNo
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69491375

复制
相关文章

相似问题

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