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