2017-01-30 12 views
-1

Also ich versuche, einen Meme-Generator zu machen (ich weiß zufällige Idee, aber es ist für einen Twitch-Streamer) und ich möchte in der Lage sein, meine Eingangsschleife zu machen, damit ich behalten kann nach einem Meme-Input fragen. Mein Code sieht wie folgt aus:Python: Verwenden einer if-Schleife in einer while-Schleife

import time 

print("Hey guys this is Alex from Protostar here.") 
time.sleep(2) 
print("And welcome to the Protostar random meme generator!") 
time.sleep(2) 
print("This is made by the cheeky scrub known as @dylan_purser on twitter and twitch lol xD") 
time.sleep(2) 
print("He tries to make memes but does a shit job of them lol still check me out on soundcloud: @dylanpursermusic LUL") 
time.sleep(4) 
print("Are you ready then?") 
time.sleep(2) 
print("Lets load the program, BUDDY!!!") 
time.sleep(2) 

memecount = 0 

print("Current memes coded: Dank Memes, Chrissy, WOO, Start, Mate, Skrillex, DAW") 
print("PLEASE USE SAME CAPITALISATION AS THE MEMES LIST!") 

meme = input("What danke memes do you want?") 

while True: 
    if meme == "Dank Memes": 
     print("danke mem ays man") 
     time.sleep(1) 

    elif meme == "Chrissy": 
     print("Chrissy just like died... RIP Chrissy.exe") 
     time.sleep(1) 

    elif meme == "WOO": 
     print("WOOOH") 
     time.sleep(2) 
     print("WOOOO") 
     time.sleep(2.5) 
     print("WOOOOOO") 
     time.sleep(1) 

    elif meme == "Start": 
     print("Start right off with a f*cking meme") 
     time.sleep(1) 

    elif meme == "Mate": 
     print("ALRIGHT MATE!") 
     time.sleep(1) 

    elif meme == "Skrillex": 
     print("I AM SKRILLEX") 
     time.sleep(1) 

    elif meme == "DAW": 
     print("Because I use Reason") 
     time.sleep(2) 
     print("What software do I use? Read the fucking info mate!") 
     time.sleep(2) 
     print("You ever heard of a de-esser mate?") 
     time.sleep(1) 

(der Code wird nicht ausgeführt btw)

Wenn ich es laufen sie Schleifen nur die if/elif-Befehl (so zum Beispiel hält sie nur auf Druck „danke mem ays Mann "wenn ich Eingang‚Dank Meme‘.

Hat jemand eine Lösung für mein Problem?

+3

Sie sind nur für die Eingabe zu fragen einmal, bevor Sie die Schleife eingeben, so wird es immer das gleiche – Carcigenicate

+0

sein, so sollte ich die Schleife bewegen vor der Eingabe dann? – dylanpurser

+0

Ihre Schleife geht für immer, und da die erste 'if'-Bedingung erfüllt ist, wird sie niemals die' elif'-Schleife überprüfen, und da sie für immer weitergeht, erfüllt die Eingabe die Bedingung, na ja, für immer, da sie nicht ist nicht verändert. – cbll

Antwort

1

der Eingang verschachtelt innerhalb der while-Schleife werden muss, sonst wird die Schleife für immer auf dem gleichen Eingang in Gang halten, da es ein while True

012 ist

Versuchen:

while True: 
    meme = input("What danke memes do you want?") 
    if meme == "Dank Memes": 
     print("danke mem ays man") 
     time.sleep(1) 

    elif meme == "Chrissy": 
     print("Chrissy just like died... RIP Chrissy.exe") 
     time.sleep(1) 

    elif meme == "WOO": 
     print("WOOOH") 
     time.sleep(2) 
     print("WOOOO") 
     time.sleep(2.5) 
     print("WOOOOOO") 
     time.sleep(1) 

    elif meme == "Start": 
     print("Start right off with a f*cking meme") 
     time.sleep(1) 

    elif meme == "Mate": 
     print("ALRIGHT MATE!") 
     time.sleep(1) 

    elif meme == "Skrillex": 
     print("I AM SKRILLEX") 
     time.sleep(1) 

    elif meme == "DAW": 
     print("Because I use Reason") 
     time.sleep(2) 
     print("What software do I use? Read the fucking info mate!") 
     time.sleep(2) 
     print("You ever heard of a de-esser mate?") 
     time.sleep(1) 

.. Für einen Start :)

+0

Danke, das ist genau das, was ich wollte! Du Legende! – dylanpurser

+0

In diesem Fall bitte akzeptieren Sie es :) Gern geschehen – cbll

Verwandte Themen