【问题标题】:Not a floating point valid. Message error Python不是有效的浮点数。消息错误 Python
【发布时间】:2014-06-19 21:37:30
【问题描述】:

嗯,我正在学习如何使用 Python,我正在使用海龟图形来制作菜单,其中一部分我要一个数字

def getNumber():
    return screen.numinput("Title"," Enter a number...")

运行程序,当我调用此函数并插入一个字母或什么都不插入时,我在一个窗口中收到错误:“不是有效的浮点数。请重试”。那么,有没有办法更改消息?,我想将该消息更改为“输入数字,而不是字母!”或类似的东西。

【问题讨论】:

  • @devnull 添加一个尝试 .. 除了不捕获错误:/ 它仍然显示消息。

标签: python error-handling tkinter turtle-graphics


【解决方案1】:

编辑:

import sys, tkMessageBox

def getNumber():
    try:
        return screen.numinput('Title', 'Enter a number...')
    except:
        tkMessageBox.showerror(title='Wrong Input',message='Enter a valid number!')
        sys.exit(1)

【讨论】:

  • 感谢您的帮助,但这不是我想要的,使用“screen.numinput”我得到一个窗口询问数字,而不是来自 Python shell :(
  • @nanokuro 编辑了代码。这有效还是您仍然收到该错误窗口?
  • @Amazingred 我仍然收到错误消息:S link
【解决方案2】:

所有用户输入始终是一个字符串。您必须将字符串显式转换为数字:

result = float(getNumber())

-或-

def getNumber():
    s = screen.numinput("Title"," Enter a number...")
    return float(s)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-19
    • 2012-08-15
    • 2016-05-31
    • 1970-01-01
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多