Python def marcat ca sintaxă invalidă [închis] (Programare, Python, Sintaxă, Calculator)

ei1 a intrebat.

Im de lucru pe un calculator de geometrie (in-shell) în Python, și am primit o eroare de sintaxă de fiecare dată marcat ca fiind def în codul de mai jos:

def scepm(r,h):#surface-area circular-prism(cylinder)comment s.o.f. only
    print(3.14159265358979323846264338327950*r**2+3.14159265358979323846264338327950*r*h)

S-ar putea fi ceva evident. Dacă este, poate cineva să o indice? mulțumesc.

Comentarii

  • Probabil ceva în linia anterioară (de exemplu, lipsește paranteza). –  > Por Daniel Roseman.
  • funcționează pentru mine în consolă. –  > Por agconti.
  • Funcționează pentru mine în consolă. Importați numpy pentru a include pi ca o constantă în codul dvs.: importați numpy ca np și în loc de 3,14… folosiți np.pi –  > Por TommasoF.
2 răspunsuri
Duncan

În cazul în care eroarea de sintaxă indică faptul că def înseamnă că def nu este validă în acest punct al programului. def începe o instrucțiune, deci concluzia ar fi că nu începeți o instrucțiune la începutul liniei, trebuie să aveți paranteze neînchise în linia precedentă, necomentată și fără spații libere.

Asta presupunând că descrierea dvs. este exactă: dacă nu, ați putea obține alte erori, cum ar fi o eroare de indentare, sau dacă a indicat undeva mai târziu în linie, ar putea fi vorba de un alt aspect pe care nu ați reușit să îl copiați exact.

Nobi

Funcționează bine, ar trebui să apelați totuși funcția:

def scepm(r,h): # surface-area circular-prism(cylinder)comment s.o.f. only
    print(3.14159265358979323846264338327950*r**2+3.14159265358979323846264338327950*r*h)

scepm(1,3) #function call

Comentarii

  • eu chem funcția în shell. shell-ul este locul unde se află calculatorul real. –  > Por ei1.