Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Nu gasesc un topic, un fel de caf...

Jocuri Android Multiplayer online...

Diferenta consum smart meter - Co...

Recomandare demontare+instalare ...
 CAIET SERVICE PREDEAL II

Internare spital psihiatrie

CM de snooker 2024

Scot penele dupa montajul tamplar...
 Masina de spalat vase si grasimea

Noua lege de acces in paduri

Sunt ouale proaspete?

Aplicatie invatare limba Germana
 Presbiopia - la 43 ani ?

Termen transcriere autovehicul

Cazare Timisoara pe 4-5 zile

Primele zile ale internetului per...
 

[Python] user-defined functions

- - - - -
  • Please log in to reply
16 replies to this topic

#1
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
Buna,
M-am jucat putin si eu in Python, si fiind la inceput evident am dat si de mici dificultati. Nu stiu in situatia atasata cam care ar fi problema si sper sa existe cineva care ma poate ajuta cu ceva explicatii.

def add(a, b):
return int(a)+int(b)
print ("The fist number is?")
a=raw_input("First number is: ")
print ("The second number is?")
b=raw_input("Second number is: ")
result=add(a, b)
print"Result is: %r." % result

Am atasat si un screenshot cu detalii vizavi de error. Presupun ca nu e o problema faptul ca incerc python in vs code.
Nu imi pot explica eroarea.

Attached Files



#2
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
print lipit de ghilimele?

Apoi, daca ai dat deja return din functie, de ce mai ai cod in ea dupa return?

Edited by dani.user, 17 February 2020 - 21:57.


#3
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
am incercat cu spatiu.. dar la fel.
desi eroarea de dupa imi spune de paranteze.
cum ar trebui sa arate functional?

Attached Files


Edited by cammelia08, 17 February 2020 - 21:59.


#4
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
Ai incercat sa pui paranteze?

#5
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
da..si primesc urmatoarele erori.
Ma asteptam sa prind logica din spate dar imi scapa ceva

Attached Files



#6
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007
https://stackoverflo...-is-not-defined

#7
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
Intr-adevar..input. dar se leaga primul print acum.

Attached Files



#8
tehnics

tehnics

    acolo unde vara-i zi la miezul noptii

  • Grup: Senior Members
  • Posts: 30,827
  • Înscris: 01.11.2005
Nu ma pricep la python, dar la primul print nu cred ca e nevoie de paranteze pentru ca ai doar text. La al doilea print ai combinatie de text cu rezultat.

#9
sergiu_psc

sergiu_psc

    Member

  • Grup: Members
  • Posts: 880
  • Înscris: 08.01.2008
Incearca sa elimi spatiul dintre print si (, adica sa scrii print( .

Si dupa return nu ar mai trebui sa ai cod, de asta iti spune "unreachable code".

#10
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
am incercat si fara spatiu si aceeasi problema apare. codul arata asa.

Quote

def add(a, b):
    return int(a)+int(b)
    print("The fist number is?")
    a= input("First number is: ")
    print ("The second number is?")
    b= input("Second number is: ")
    result=add(a, b)
    print("Result is: %r." % result)


#11
sergiu_psc

sergiu_psc

    Member

  • Grup: Members
  • Posts: 880
  • Înscris: 08.01.2008
Linia cu return nu ar trebui sa fie ultima?

#12
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,233
  • Înscris: 24.02.2007

View Postdani.user, on 17 februarie 2020 - 21:56, said:

Apoi, daca ai dat deja return din functie, de ce mai ai cod in ea dupa return?


#13
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011

Quote

Si dupa return nu ar mai trebui sa ai cod, de asta iti spune "unreachable code".
inteleg dar fiind linia a doua..cum sa elimin restul? nu prea inteleg ce ar trebui sa contina intr-un final..si sa functioneze.

#14
A10Warthog

A10Warthog

    Member

  • Grup: Moderators
  • Posts: 902
  • Înscris: 12.11.2017
Bună!

Python are nevoie de indentare pentru a înțelege corect codul.

Apoi, funcția add conține doar return(a+b), atât. Restul codului trebuie indentat la același nivel cu def add(...), altfel Python va interpreta restul codului ca parte a funcției add.

Așadar:

def add(a, b):
return(a+b)


a = input(“First number is: “)
b = input(“Second number is: “)

result = add(a, b)

print(“Result: “ + str(result))


Nitpicking: e redundant să ai print(“First number is: “) și input(“First number is: “).

E important să știi pe ce versiune de Python codezi, pentru ca versiunea 3.x a fost revizuită radical. De o modificare te-ai lovit acum, încercând să faci string / output formatting. Ce ai scris merge pe 2.x, dar 3.x o să țipe. Explicații în detaliu aici: https://realpython.c...ing-formatting/

Python 3 a renunțat la %s, %d, %r în favoarea str.format(), care funcționează așa:

name = "cammelia08"
print('Hello, {}'.format(name))


Output: Hello, cammelia08

De asemena, din codul tău, %s și %r trec obiectul prin funcții diferite. Caută în documentația Python 2 str() și repr(). Primul întoarce string, al doilea o reprezentare a obiectului. Acum e normal să nu vezi sensul și nu cred că are sens să ne agităm cu asta, am menționat ca să știi că %r e cu cântec.

Mulțumesc că ai postat și că ai documentat totul. Dacă mai ai nelămuriri nu ezita să întrebi.


Nu copia codul scris de mine, l-am scris de pe telefon. Ghilimele sunt praștie.
Pentru a te asigura că a și b sunt numere poți să rescrii codul așa:

a = int(input(“First number is: “))


Fără a face int() casting, input() îți salvează în variabila un string. Aici ai exemple și explicații: https://realpython.c...n-input-output/

Mai exact, te interesează partea asta:

https://i.imgur.com/cSgglyb.jpg

Sunt multe metode de input sanitization, depinde cât de departe vrei să mergi cu asta.

Edited by MarianG, 18 February 2020 - 00:58.
merged


#15
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
Multumesc f mult. Intr-adevar functioneaza..in varianta mentionata de tine. Posted Image
versiunea de python folosita e 3.8.1 32bit

tutorialul de la care pornisem imi mentiona sumar caracteristicile dar vazand exemplul tau si link-ul https://realpython.c...n-input-output/ se explica destul de multe.
atasez si poza cu rezultatul

Attached Files


Edited by cammelia08, 18 February 2020 - 20:49.


#16
Pieptoasa

Pieptoasa

    38G

  • Grup: Senior Members
  • Posts: 3,477
  • Înscris: 31.07.2011
ceea ce mi se pare mai dificil acum e retinerea numarului de functii impreuna cu atributele lor
contextul intreg in care ele sunt functionale. probabil trebuie sa te obisnuiesti lucrand

#17
coniac

coniac

    Member

  • Grup: Members
  • Posts: 497
  • Înscris: 17.12.2019
Ai pus-o !
Dar stai putin , ca ala e doar inceputul
Ia priveste aici
https://www.python.o...ython382rc2.chm

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate