python - 以 10 为底的 int 的无效文字 - 当用户不选择任何选项时

标签 python

我在下面有这段代码,当我选择选项 1、选择选项 2 和选择其他选项时,它都能正常工作。

但是如果用户不选择任何选项并按回车键,我想显示一条消息“空”并再次要求用户选择一个选项。

但在这种情况下,当该字段为空时,我会收到此错误:

invalid literal for int with base 10

代码:

def nav(number):
    while True:
        option = int(raw_input(number))
        if filename == 1:
            createjob()
        elif option == "2":
            print filename
        elif option == "":
            print "empty"
        else:
            print "Option not available"

def main():
    print " 1 - option 1"
    print " 2 - option 2"
    nav("Choose an option:")
main()

最佳答案

我不确定你为什么有这么多 while 循环...... 无论如何,您遇到此问题的原因是因为当用户按下输入时,“”正试图转换为 int。也许你应该改用字符串。即:

def nav(option_number):
    option = raw_input(option_number)
    if option == "1":
        test()
    elif option == "2":
        print option
    elif option == "":
        print "empty"
    else:
        print "option unavailable"

print " 1 - Option 1"
print " 2 - Option 2"
nav("Select option:")

关于python - 以 10 为底的 int 的无效文字 - 当用户不选择任何选项时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30371306/

相关文章:

python - 函数调用后的方括号

javascript - Tornado 不向客户端发送 Ajax 响应

python - 是否可以在 Python 中使用一条 .append 语句将多个单独的元素添加到列表中?

python - Django 1.7 Pillow 和 PIL 都无法导入 : No module named Image

python - 对于 MultinomialNB,Sklearn 偏向正值

python - 使用现有的 pptx Python-Pptx 创建新的 pptx

python - 如何使用 python win32com 访问除默认文件夹(如收件箱、已发送)以外的 outlook 文件夹?

python - Gensim Doc2vec – KeyError : "tag not seen in training corpus/invalid"

python - 如何在 python 中异步处理 xml?

Python - 从电子邮件附件下载 excel 文件然后解析它