Seite 1 von 1
Position einer string
Verfasst: Freitag 19. Februar 2016, 19:17
von Sony23
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'))
Re: Position einer string
Verfasst: Freitag 19. Februar 2016, 19:25
von noisefloor
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
Re: Position einer string
Verfasst: Samstag 20. Februar 2016, 19:09
von Sony23

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()
_______________________________________________________________________________
Re: Position einer string
Verfasst: Samstag 20. Februar 2016, 19:15
von DasIch
Was ist den der Rückgabewert von polyadisch?
Re: Position einer string
Verfasst: Samstag 20. Februar 2016, 20:11
von Sony23
Der Rückgabewert ist Entweder "Dezimal", "Oktal" oder "Hexal", hängt vom Anfangsbuchstaben der strings ab
Re: Position einer string
Verfasst: Samstag 20. Februar 2016, 20:39
von Hyperion
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

Re: Position einer string
Verfasst: Samstag 20. Februar 2016, 20:55
von noisefloor
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