【问题标题】:Imported functions aren't working even with __init__即使使用 __init__ 导入的函数也不起作用
【发布时间】:2020-07-27 18:15:15
【问题描述】:

我已经学习编程大约一个月了,我真的很想自己找到答案,所以如果结果很明显,我真的很抱歉。

我正在开发一个刽子手游戏作为入门项目,但遇到了麻烦。 我想从一个不同的目录导入一个文件,该文件将处理海龟将要绘制的所有形状,polygon.py 文件中的函数只要它们没有被导入就可以工作。下面是我的一些代码,我现在并不真正担心代码本身(因为它是一项正在进行的工作),就像当程序点击 square(t, 100) 时我收到错误 NameError: name 'square' is not defined 一样。我在Test_Programs 中有一个__init__.py,它是空白的,在Shapes 中有一个from polygon import *。我尝试过在其中一个或另一个之间进行更改,但似乎没有任何效果。抱歉,解释太长了,只是想避免说“试过了!”非常感谢!

import random, turtle, math, os, sys

sys.path.insert(0, 'C:\School\Intro to Prog. 6.00\Test_Programs\Shapes')

import polygon

t = turtle.Turtle()
t.speed(6)

alphabet = ['a','b','c','d','e','f','g','h','i','j','k','l',
            'm','n','o','p','q','r','s','t','u','v','w','x','y','z']

def DrawNoose():##Draws up the game   
    t.pu()          
    t.setx(-50)
    t.pd()
    square(t, 100)   
    t.sety(100)
    t.fd(50)
    t.sety(200)
    t.fd(100)
    t.sety(150)

DrawNoose()

(我也将我的代码缩减为导致错误的原因,以防万一没有任何意义)

【问题讨论】:

  • 也许你的意思是from polygon import square,或者polygon.square(t, 100)
  • 请随意添加任何关于我的代码草率的帮助!
  • 确实有效!所以谢谢!问题是我有几个形状函数我希望能够从多边形调用
  • @StillLearnin from polygon import square, circle, oval, rectangle 可以工作,或者只写他们的限定名(polygon.squarepolygon.circle 等)
  • 太棒了!我没有意识到可以像这样将这些功能放在一起谢谢!

标签: python init


【解决方案1】:

我认为您只是在 square 函数前面缺少了一个 t.,所以它应该是 t.square(t, 100) 而不仅仅是 square(t, 100)

【讨论】:

  • 哇,只是看起来不够努力!谢谢你就是这样
猜你喜欢
  • 1970-01-01
  • 2012-03-14
  • 2019-06-17
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多