2017-06-06 4 views
0

Ich mache ein Projekt und frage mich, wie ich mithilfe von Code feststellen kann, ob der Benutzer etwas anderes als "männlich", "weiblich", "männlich" oder "weiblich" eingegeben hat.Wie kann ich feststellen, ob der Benutzer etwas anderes als männlich, männlich, weiblich oder weiblich für meine Eingabe eingegeben hat?

Ich verwende Python 3.0

Dies ist mein Code:

import time 
def w(t): 
    if t == t: 
    time.sleep(t) 
print("In the following story, you are a mouse. Please fill out the following information (the story will use this name and gender).") 
w(3) 
print('\n') 
name = input("Your Name:") 
w(0.5) 
print('\n') 
gender = input("Your Gender (Male/Female):") 
w(0.5) 
print('\n') 
input("Press Enter to Begin The Story") 
w(1) 
print('\n') 
print("The Lion and The Mouse") 
print("A Short Tale by Aesop") 
w(1) 
print('\n') 
print("Once upon a time in a secluded jungle, there was a mouse.") 
w(2) 
print('\n') 
if gender == ("male" or "Male"): 
    heorshe = "he" 
    hisher = "his" 
    himher = "him" 
    himselfherself = "himself" 
    HeShe = "He" 
if gender == "female" or "Female": 
    heorshe = "she" 
    hisher = "her" 
    himher = "her" 
    himselfherself = "herself" 
    HeShe = "He" 

Ich würde auch in nichts, wenn der Benutzer sagen zu können, wie in den Eingang betreten hat! Bitte helfen Sie!

+0

'Geschlecht == („männlich“oder„männlich“):' ist nicht, wie Sie überprüfen. Sie müssen das Geschlecht mit beiden individuell vergleichen. Ein besserer Plan ist jedoch, die Eingabe zuerst zu verkleinern, dann nur gegen "männlich" zu prüfen. – Carcigenicate

+0

Was soll 'if t == t:' auch erreicht werden? Ich kenne nur einen einzigen Wert, für den das scheitern wird. – Carcigenicate

+0

@Carcigenicate Danke! Ich werde versuchen, die Antwort in Kleinbuchstaben umzuwandeln und zu sehen, ob sie richtig läuft! Aber wenn Sie die Antwort wissen, wie Sie feststellen können, ob die Eingabe leer oder numerisch ist, lassen Sie es mich wissen! –

Antwort

0

Sie könnten nur else: verwenden oder if not 'male' or not 'Male:' und drucken Sie dann zum Beispiel 'Please enter Male or Female.'

+0

Das hat nicht funktioniert, als ich es getestet habe. Wenn ich die Eingabe ausgeführt habe und die Eingabetaste gedrückt habe, ohne etwas einzugeben, hat es den Code nicht ausgeführt: print ("Bitte geben Sie männlich oder weiblich ein"). Bitte ausführlicher! –

+0

Meine Pausen sind vorbei, ich muss gehen, aber ich werde gegen 15:00 Uhr EST zurück sein, um Ihre Antwort oder Antwort zu überprüfen. –

+0

Das Problem ist, dass es die print-Anweisung ausführt, aber nachdem Sie überprüft haben, was der Benutzer eingegeben hat, und weil das am Ende des Codes ist, beginnt die Geschichte gerade. Aber die erste Antwort dieses [Post] (https://stackoverflow.com/questions/23294658/asking-the-user-for-input-until-they-give-a-valid-response) sollte auch für Sie arbeiten. – MushroomMauLa

Verwandte Themen