Frage von J0h4ann3s, 17

Python Funktion angeben?

Ich habe ein Problem in Python. Ich muss von einer Funktion auf eine andere Funktion zugreifen, welche aber unter der anderen steht und dort auch bleiben muss (geht vom Code her nicht anders) und ich weiß, dass es in C einen befhelm "unsigned" gibt und ich wollte Fragen ob es so einen auch in Python gibt und wie der heißt. Danke :D

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von tvetter, 12

Du definierst beide Funktionen und rufst dann später die eine in der anderen Funktion auf. Wie das geht findest du in jedem halbwegs guten Tutorial zu Python.

Antwort
von regex9, 17

Äh, kannst du bitte deinen Code posten, ich verstehe gerade dein Problem nicht.

Im übrigen ist unsigned ein Schlüsselwort, mit dem in C der Datentyp Integer näher beschrieben werden kann (ob er vorzeichenlos sein soll oder nicht).

Kommentar von J0h4ann3s ,

Hier ist der Code ich habe noch ein paar Kommentare hinzugefügt, dass du weißt wo genau mein Problem liegt.

import os
import sys

//Die Funktion wird aufgerufen, wenn man in die Eingabe schreibt.
def he_lp():
os.system('cls')
print("Dies ist die Hilfe Funktion")
print("Hier finden sie alle Befehle und ihre Bedeutung")
print("Um die Hilfe Funktion zu beenden schreiben sie back")
eingabehe_lp = input("> ")
if eingabehe_lp == back:
main() // hier liegt das Problem, ich möchste auf die Funktion main zugreifen um die if schleife nutzen zu könnenos.system('cls')

// Funktion die bei einer unbekannten Eingabe ausgeführt wird
def el_se():
print("Ungültige eingabe schrieben sie um zum Hautscreen zurück zu kommen.")
eingabeel_se = input("> ")
if eingabehe_lp == back:
main() //Hier möchte ich auch auf die unten stehende Funktion zugreifen

// Hauptfunktion
def main():
print("Wilkommen")
eingabemain = input("> ")

if eingabemain == help:
he_lp()
else:
el_se()

main()

Eigentlich ist alles eingerückt, aber das scheint hier nicht zu funktionieren, bitte ignoriert das.

Kommentar von regex9 ,
  1. Es gibt keine If-Schleifen! Schleifen sehen sowohl in der Programmierung als auch im echten Leben völlig anders aus.
  2. Deine Vergleichswerte auf Eingaben (help, back, ...) sollten als String markiert werden.
  3. Nutze für deine Funktionen Parameter, es ist nicht notwendig, jedesmal die Eingabe in einer Funktion neu einzulesen. So hat sich in deine el_se-Funktion übrigens ein Fehler im Variablennamen eingeschlichen (eingabehe_lp).
  4. Nutze für die Eingabeverwaltung eine Endlosschleife, die erst dann abbricht, wenn der Nutzer eine bestimmte Eingabe tätigt (z.B. "exit"). Je Schleifendurchlauf wird die Eingabe ausgelesen, danach fragst du ab, was eingegeben wurde und reagierst daraufhin.

So in etwa:

def main():

while 1:
eingabe = input("> ")
if eingabe == "help":
he_lp(eingabe)
elif eingabe == "exit":
return
else:
el_se(eingabe)

def he_lp(eingabe):
if eingabe == "back":
welcome()

def welcome():
print("Welcome")

main()
Kommentar von J0h4ann3s ,

Vielen Dank, eigentlich weiß ich ja, dass es if schleifen nicht gibt, ich mache den Fehler aber leider immer wieder.

Ich werde es mal probieren wie du es meinst.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten