Also mache ich ein Eingabemenü für mein Programm, das bestimmte Funktionen ausführt, um Daten anzuzeigen, je nachdem was der Benutzer eingibt. Der Benutzer muss Auswahlen in der Reihenfolge eingeben; Wenn der Benutzer 2 vor 1 oder 3 vor 2 wählt, sollte das Programm einen Fehler melden. Ich hatte es richtig funktioniert, bis ich in Fehlerzeichenfolgen hinzugefügt habe, die darstellen, was der Benutzer falsch gemacht hat. Etwas, das ich vorher noch nicht gelöst hatte, war, dass wenn die falsche Auswahl eingegeben wurde, die Daten, die vor der Auswahl erzeugt wurden, noch im Spiel sind (dh die in Auswahl 1 erzeugten Daten müssen immer noch zur Auswahl verfügbar sein) 3 wird stattdessen eingegeben, dann wird Auswahl 2 verwendet). Mein Programm emuliert das jedoch nicht. Ich habe mich gefragt, ob ich ein paar Tipps bekommen könnte, wie ich meinen Code ändern könnte.Eingabe Menü Python 3x
Hier ist mein Code:
def menu():
'''Displays menu for user and runs program according to user commands.'''
prompt = """Select one of the following options:
1. Generate a new random dataset.
2. Calculate least squares for the dataset.
3. Calculate the Pearson Correlation Coefficient for the data set and
the estimate.
4. Quit.\nEnter your selection: """
userInp = ""
run = True
while(run):
userInp = input(prompt)
cond1 = False
cond2 = False
if userInp == '1':
#function/program stuff
cond1 = True
print("Data Generated.\n")
elif userInp == '2' and cond1:
#function/program stuff
cond2 = True
elif userInp == '3' and cond1 and cond2:
#function/program stuff
elif userInp == '4':
run = False
else:
error1 = "Error: no data generated yet"#
error2 = "Error: data generated but least squares not completed"
print(cond1 * error1 + cond2 * error2)
Hinweis: Ich weiß, dass der Stoff in der else-Anweisung funktioniert nicht ganz. Es war ein Vorschlag von einem Freund für Scheiße und Auftritte. Frage mich, ob ich Hilfe auf, dass bekommen konnte, aber es ist nicht nicht notwendig, da ich es wahrscheinlich herausfinden konnte
Oh Mann, ich nicht ganz verstand. Ich danke dir sehr!! – schCivil