【问题标题】:getting more than 1 value from turtle.textinput()从 turtle.textinput() 获得超过 1 个值
【发布时间】:2020-03-08 14:54:32
【问题描述】:

我知道下面的代码会给出 2 个变量

var1,var2 = input("Input 2 things: ").split()

但我使用的是海龟,并且在海龟屏幕中输入是使用 textinput() 方法。我有这行代码,认为它会工作:

var1,var2 = turtle.textinput("Input 2 things: ").split()

我会输入“3 5”,期望 var1 == 3 和 var2 == 5 但我得到了,请注意,除了最后一行之外,我不知道整个错误是关于什么的。

Tkinter 回调异常

Traceback(最近一次调用最后一次): call 中的文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/tkinter/init.py”,第 1699 行 返回 self.func(*args) 文件“/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/turtle.py”,第 675 行,在 eventfun 乐趣(x, y)
NameError: 名称 'var2' 未定义

有人能解释一下如何从海龟屏幕的一个输入中获取 2 个变量吗?我只知道turtle.textinput 让文本出现在turtle 中。

【问题讨论】:

    标签: python python-3.x variables turtle-graphics


    【解决方案1】:

    turtle.textinput() 不是input() 的直接替代品,因为除了提示之外,它还需要另一个初始参数。它需要对话框窗口的标题:

    > python3
    ...
    >>> import turtle
    >>> var1,var2 = turtle.textinput("User Input", "Input 2 things: ").split()
    >>> var1
    '3'
    >>> var2
    '5'
    >>> 
    

    【讨论】:

      【解决方案2】:

      split方法允许你选择用哪个符号来分割,所以你可以尝试用空格符号来分割,例如:

      var1,var2 = turtle.textinput("Input 2     things: ").split(' ')
      

      所以如果我输入3 5 那么var1 将等于3var2 将等于5

      【讨论】:

      • 不,他们不会。您将收到“TypeError: textinput() missing 1 required positional argument: 'prompt'”错误。 OP 的这个特定部分是正确的——你“修复”了错误的东西。
      猜你喜欢
      • 2020-12-05
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-10
      相关资源
      最近更新 更多