Sköldpadda / Turtle
Jag försöker köra koden i första uppgiften Programmering / Tänkande maskiner / Sköldpadda men får då felmeddelandet:
SyntaxError: multiple statements found while compiling a single statement.
Kör jag raderna en och en fungerar det däremot. Någon idé vad det kan bero på? Jag försökte också köra raderna från en fil och fick då andra felmeddelanden:
Traceback (most recent call last):
File "/Users/.../Python/turtle.py", line 1, in <module>
import turtle
File "/Users/.../Python/turtle.py", line 2, in <module>
turtle.shape('turtle')
AttributeError: partially initialized module 'turtle' has no attribute 'shape' (most likely due to a circular import)
most likely due to a circular import
Brukar vanligen inträffa om man sparat sin modul med namnet turtle.py. Byt i så fall namn på modulen.
För att bygga vidare lite på ovanstående svar, det du gör med första raden (import turtle
) är att ladda in ett bibliotek med massa ytterligare funktioner. Grejen är dock att Python kan ladda in två olika saker med en import
: Både färdigbyggda bibliotek, och filer du har skrivit själv.
import turtle
ser att det finns en fil som heter just "turtle.py
" i samma mapp som den är i, och därför kommer den att försöka ladda in sin själv (cirkulär import), istället för det färdiga biblioteket turtle som är det du egentligen du vill ha.
Det är därför det fungerar att byta namn på filen till något annat, som Lindehaven skrev. Då kommer import turtle
inte hitta en fil med det namnet, och då går den vidare på att leta bland biblioteken den känner till istället, och där hittar den just det bibliotek du vill ha.
Tack! Nu fungerar det som det ska. :)