While loop that needs to count up - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: While loop that needs to count up (/thread-14777.html) |
While loop that needs to count up - ImLearningPython - Dec-16-2018 The code works as it should with one exception, I can't seem to figure it out. User-inputs a number and then I need the program to print 1 : text then 2 : text until the number that was entered is reach. So input of 2 would result in 1 : text then newline 2 : text This is the code I have now for it. def shampoo_instructions(num_cycles): if num_cycles < 1: print('Too few') elif num_cycles > 4: print('Too many') else: i = num_cycles while i <+ 4: print(i,': Lather and rinse.') i += 1 print('Done.') shampoo_instructions(2)OUTPUT 2 : Lather and rinse. 3 : Lather and rinse. Done. RE: While loop that needs to count up - ichabod801 - Dec-17-2018 The i variable should start at 1, and the while condition should be i <= num_cycles . Think about it, if you want to do something num_cycles times, then count each time you do it from 1 to num_cycles.Is it part of the exercise to do it with a while loop? Because this begs for a 'for' loop. Also, i is a bad variable name. Try to avoid single letter variable names and use more descriptive ones. RE: While loop that needs to count up - ImLearningPython - Dec-17-2018 Thank you. I wasn't sure how to do a for statement. Could you give me an example for future reference? This is the finished code block and it works as it should. def shampoo_instructions(num_cycles): if num_cycles < 1: print('Too few') elif num_cycles > 4: print('Too many') else: cycles = 0 while cycles < num_cycles: print(cycles + 1,': Lather and rinse.') cycles += 1 print('Done.') shampoo_instructions(4) RE: While loop that needs to count up - ichabod801 - Dec-17-2018 The equivalent for loop, replacing lines 7 through 10, would be for cycles in range(num_cycles): print(cycles + 1, ': Lather and rinse.')This is why I said it begs for a 'for' loop. For loops are specifically made for counting things, so they can do it in fewer lines. RE: While loop that needs to count up - ImLearningPython - Dec-17-2018 Thank you |