Hallo Python Forum,
meine Frage ist, wie kann ich über einen Baustein(Nebenprogramm) auf die einzelnen Strings im Hauptprogramm zugreifen, und sie etwas zuweisen, damit ich mit ihnen weiterarbeiten kann.
z.B. soll ('D01111011') string1 zugewiesen werden
Danke schonmal
#Nebenprogramm
def polyadisch():
#Hauptprogramm
def main():
print(polyadisch('D01111011'))
print(polyadisch('O173'))
print(polyadisch('H7B'))
Position einer string
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
indem du der Funktion (den Begriff "Nebenproramm" gibt es nicht) die Werte beim Funktionsaufruf übergibst.
Das sind aber absolute Basics, die in jedem Python-Tutorial ziemlich am Anfang vorkommen. Siehe z.B. https://docs.python.org/3.4/tutorial/co ... -functions und folgende Abschnitte.
Gruß, noisefloor
indem du der Funktion (den Begriff "Nebenproramm" gibt es nicht) die Werte beim Funktionsaufruf übergibst.
Das sind aber absolute Basics, die in jedem Python-Tutorial ziemlich am Anfang vorkommen. Siehe z.B. https://docs.python.org/3.4/tutorial/co ... -functions und folgende Abschnitte.
Gruß, noisefloor
Danke, aber dann tritt ein weiteres Problem auf. Python gibt dann folgendes Aus:
Dezimal
None
Oktal
None
Hexal
None
wieso kommt dreimal "None"?
____________________________________________________________________________
def polyadisch(n):
if n[0]=="D":
print("Dezimal")
elif n[0]=="O":
print("Oktal")
elif n[0]=="H":
print("Hexal")
def main():
print(polyadisch('D01111011'))
print(polyadisch('O173'))
print(polyadisch('H7B'))
main()
_______________________________________________________________________________
Dezimal
None
Oktal
None
Hexal
None
wieso kommt dreimal "None"?
____________________________________________________________________________
def polyadisch(n):
if n[0]=="D":
print("Dezimal")
elif n[0]=="O":
print("Oktal")
elif n[0]=="H":
print("Hexal")
def main():
print(polyadisch('D01111011'))
print(polyadisch('O173'))
print(polyadisch('H7B'))
main()
_______________________________________________________________________________
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Bist Du sicher, dass das der Rückgabewert ist? Oder gibst Du das in der Funktion ``polyadisch`` nur aus und in Wirklichkeit liefert die nix zurück? Letzteres würde die Ausgabe nämlich erklären...
Edit: Ah... Du hast sie ja oben noch gepostet. Die Funktion gibt also nur etwas aus, liefert aber *nichts* zurück. Und genau das geben dann eben die ``print``-Aufrufe in Deiner ``main``-Funktion aus
Edit: Ah... Du hast sie ja oben noch gepostet. Die Funktion gibt also nur etwas aus, liefert aber *nichts* zurück. Und genau das geben dann eben die ``print``-Aufrufe in Deiner ``main``-Funktion aus
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
deine Funktion hat kein `return ...` drin. Das ist unter Python gleichbedeutend mit `return None`. Heißt: dein Programm macht genau das, was du programmiert hast
Du möchtest vielleicht in der polyadisch-Funktion lieber ein `return`statt ein print-Einbauen. BTW: return-Werte gehören auch zu den Basics... Vielleicht solltest du das Python-Tutorial mal ganz lesen und nicht nur die Sektion, in der es um dein aktues Problem geht.
Gruß, noisefloor
deine Funktion hat kein `return ...` drin. Das ist unter Python gleichbedeutend mit `return None`. Heißt: dein Programm macht genau das, was du programmiert hast
Du möchtest vielleicht in der polyadisch-Funktion lieber ein `return`statt ein print-Einbauen. BTW: return-Werte gehören auch zu den Basics... Vielleicht solltest du das Python-Tutorial mal ganz lesen und nicht nur die Sektion, in der es um dein aktues Problem geht.
Gruß, noisefloor