Antworte auf:  Python: Werterückgabe aus Funktion von Bekell
Forum:  Programmieren, moderiert von: matph

[Zur Forum-Gliederung] [Wie man Fragen beantwortet] [Themenstart einblenden]

  Alle registrierten Mitglieder können Mitteilungen schreiben.
Benutzername:
Passwort:
Nachricht-Icon:                   
                  
              
Nachricht:


 

Erledigt J


Input assistance tools (JavaScript): [Link extern intern] [MathML?] [$$?]
[fed-area] [LaTeX-inline] [LaTeX-display] [Tikz] [hide-area][show-area] [Source code [num.]][?]
 Show Preview      Write using fedgeo formula editor or Latex.

Smilies for your message:
😃 😄 😁 🙂 🙃 😉 🤗 🤫 🤔 🙄 😴 🤒 😎 😮 😲 😂
🙁 😖 😒 😐 😡 👌 👍 👎 🤢 🤧 🥵 🥶 😵 🤯 😛 😷
Optionen: Deaktiviere HTML in dieser Nachricht
Deaktiviere MATHML in dieser Nachricht. Wenn Dein Text $-Zeichen enthält, die nicht LaTeX-Formeln begrenzen.
Deaktiviere Smilies in dieser Nachricht
Zeige die Signatur (Kann in 'Mein Profil' editiert werden.)
    [Abbrechen]
 
Beachte bitte die [Forumregeln]


Themenübersicht
Bekell
Aktiv
Dabei seit: 05.09.2008
Mitteilungen: 2108
Herkunft:
 Beitrag No.7, eingetragen 2020-08-15 18:20    [Diesen Beitrag zitieren]

Ich bekomme jetzt den Ausdruck:


seltsamerweise kommt ne Parabel raus, obwohl ich auch so einen struppigen Trend erwarte, nur etwas versetzt????

Fehler gefunden ...



gonz
Senior
Dabei seit: 16.02.2013
Mitteilungen: 3685
Herkunft: Harz
 Beitrag No.6, eingetragen 2020-08-15 18:04    [Diesen Beitrag zitieren]

2020-08-15 17:45 - Bekell in Beitrag No. 5 schreibt:
da ist als erster Wert 6//20 drin ... das ist doch nicht Null

Doch, da 6//20 eine integer zurückgibt und 6 durch 20 gleich 0 Rest 6 ist :)


Bekell
Aktiv
Dabei seit: 05.09.2008
Mitteilungen: 2108
Herkunft:
 Beitrag No.5, eingetragen 2020-08-15 17:45    [Diesen Beitrag zitieren]

2020-08-15 17:35 - gonz in Beitrag No. 4 schreibt:
wo kommt denn der Wert Länge (großgeschrieben) den du mitgibst her? vielleicht ist er ja beim Aufruf tatsächlich gleich Null?

da ist als erster Wert 6//20 drin ... das ist doch nicht Null

ich habs damit gelöst:
Python
  1. if i < 20:
  2. Länge=1
  3. else:
  4. Länge=i//20

Jetzt läuft das Programm, aber was y5 betrifft entspricht der Graph nicht meinen Erwartungen!


gonz
Senior
Dabei seit: 16.02.2013
Mitteilungen: 3685
Herkunft: Harz
 Beitrag No.4, eingetragen 2020-08-15 17:35    [Diesen Beitrag zitieren]

wo kommt denn der Wert Länge (großgeschrieben) den du mitgibst her? vielleicht ist er ja beim Aufruf tatsächlich gleich Null?


Bekell
Aktiv
Dabei seit: 05.09.2008
Mitteilungen: 2108
Herkunft:
 Beitrag No.3, eingetragen 2020-08-15 17:18    [Diesen Beitrag zitieren]

Wieder dasselbe Problem, das andere hatte ich gelöst, indem ich einfach 3 Funktionen geschrieben habe. Habe diese Funktion:
Python
  1. def zzbrückenermittler(oben,unten,länge):
  2. pzo=oben
  3. pzu=unten
  4. zzo=länge-pzo
  5. zzu=länge-pzu
  6. pzopro=pzo/länge*100
  7. pzupro=pzu/länge*100
  8. zzopro=zzo/länge*100
  9. zzupro=zzu/länge*100
  10. #print(pzopro,pzupro,zzopro,zzupro)
  11. #Prozentmischer
  12. neupzopro=pzupro/100*pzopro
  13. neuzzopro=pzupro/100*zzopro
  14. neupzupro=zzupro/100*pzupro
  15. neuzzupro=zzupro/100*zzupro
  16. #print(neupzopro,neupzupro,neuzzopro,neuzzupro)
  17. #wichter
  18. ergpzbr=länge/100*neupzopro
  19. ergzzopzubr=länge/100*neuzzopro
  20. ergzzupzobr=länge/100*neupzupro
  21. ergzzbr=länge/100*neuzzupro
  22. print(int(ergpzbr),int(ergzzopzubr),int(ergzzupzobr),int(ergzzbr))
  23. return(int(ergzzbr))

abgerufen wird die so:
Python
  1. y5.append(zzbrückenermittler(pzoben,pzunten,Länge))

Er sagt nun: "Division bey zero", was heißt, es kommt die Länge oben nicht an.

Was tun?


Bekell
Aktiv
Dabei seit: 05.09.2008
Mitteilungen: 2108
Herkunft:
 Beitrag No.2, eingetragen 2020-08-15 11:10    [Diesen Beitrag zitieren]

Danke Gonz!


gonz
Senior
Dabei seit: 16.02.2013
Mitteilungen: 3685
Herkunft: Harz
 Beitrag No.1, eingetragen 2020-08-15 10:17    [Diesen Beitrag zitieren]

Du kannst eine kommagetrennte Liste von Werten zurückgeben, und auf eine Liste aus kommagetrennten Variablen zuweisen,

oder die Rückgabewerte als Liste zurückgeben
und diese auf eine Variable zuweisen

(mal so ins unreine gesprochen)
python
def funktion_eins(irgendwas):
    eins = irgendwas*2
    zwei = irgendwas+3*eins
    drei = irgendwas+4*zwei+5*eins
    return eins,zwei,drei
 
meinEins,meinZwei,meinDrei = funktion_eins(7)
print(meinEins,meinZwei,meinDrei)
 
 
def funktion_zwei(irgendwas):
    eins = irgendwas*2
    zwei = irgendwas+3*eins
    drei = irgendwas+4*zwei+5*eins
    return [eins,zwei,drei]
 
meineZwei = funktion_zwei(7)
print(meineZwei[0],meineZwei[1],meineZwei[2])


Bekell
Aktiv
Dabei seit: 05.09.2008
Mitteilungen: 2108
Herkunft:
 Themenstart: 2020-08-15 06:47    [Diesen Beitrag zitieren]

Hallo,

habe eine Funktion, die kuckt nach, ob 2 zahlen Prim sind oder nicht, funktioniert auch!
Dann stellt sie 3 Werte her:
Python
  1. def zzbrückenzähler(halbeLänge):
  2. gembrücke=0
  3. pzbrücke=0
  4. zzbrücke=0
  5. for b in range(halbeLänge,0,-10):
  6. zahl1=b
  7. zahl2=2*halbeLänge-b
  8. print(zahl1,zahl2,zahl1+zahl2)
  9. if isprime(zahl1) and isprime(zahl2):
  10. pzbrücke=pzbrücke+1
  11. else:
  12. pass
  13. if isprime(zahl1) and not isprime(zahl2):
  14. gembrücke=gembrücke+1
  15. else:
  16. pass
  17. if isprime(zahl2) and not isprime(zahl1):
  18. gembrücke=gembrücke+1
  19. else:
  20. pass
  21. if not isprime(zahl2) and not isprime(zahl1):
  22. zzbrücke=zzbrücke+1
  23. else:
  24. pass
  25. #return(pzbrücke,gembrücke,zzbrücke)
  26. return(zzbrücke)

Dann rufe ich im Hauptteil die Funktion so auf:
Python
  1. zzb=zzbrückenzähler(i)
  2. print("Nr.",nr,"i=",i,"Lä",Länge,"oben:",pzoben,"unten",pzunten, int(i/2), Hälfte,zzb)

Ich will aber eigentlich alle 3 Werte zurückhaben, gebe aber nur einen, nämlich i, hoch. Wie mache ich das? ich kann doch nicht schreiben:
Python
  1. pzb=zzbrückenzähler(i)





 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2020 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]