pythonloopsconditional-statements

Creating a conditional loop with outputs


Mad Libs are activities that have a person provide various words, which are then used to complete a short story in unexpected (and hopefully funny) ways.

Write a program that takes a string and integer as input, and outputs a sentence using those items as below. The program repeats until the input string is quit.

Ex: If the input is:

apples 5
shoes 2
quit 0

the output is:

Eating 5 apples a day keeps the doctor away.
Eating 2 shoes a day keeps the doctor away.

Note: This is a lab from a previous chapter that now requires the use of a loop.

my code:

user_text = input().split()
word = (user_text[0])
number = (user_text[1])

if word != 'quit':
    print('Eating {} {} a day keeps the doctor away.'.format(number, word))
    user_text= input()

outputs: Eating 5 apples a day keeps the doctor away.


Solution

  • You are not looping, so your program will only ask for input once, and end. If you want to keep inputting data, and printing new words, you should do the following:

    word = ""
    
    while True:
        user_text = input().split()
        word = (user_text[0])
        if word == 'quit':
            break
            
        number = (user_text[1])
        print('Eating {} {} a day keeps the doctor away.'.format(number, word))
    
    

    As you can see by the code, while the user doesn't input the word quit, the program will ask for a new input, and print a new sentence.