Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialBrianda Lopez
8,318 PointsI cannot seem to get a "FizzBuzz" result. What am I doing wrong?
I have successfully returned Fizz and Buzz, but even with integers 15 and 30 I am not getting. FizzBuzz! Any assistance is appreciated.
name = input("Please enter your name: ")
number = int(input("Please enter a number: "))
print("Hi,",name)
print("Your number is",number,"...")
if number % 3 == 0:
print(number,"is a Fizz number!")
elif number % 5 == 0:
print(number,"is a Buzz number!")
elif number % 3 == 0 and number % 5 == 0:
print(number," is a FizzBuzz number!")
else:
print(number,"is neither a fizzy or a buzzy number.")
3 Answers
Samuel Almanza
4,725 PointsHi Brianda,
Your statements are written correctly, but the order of the statements is important.
Remember that conditions are evaluated in order and if the condition is true, then it runs the command and your code block ends.
Let's look at your code step by step: First, the computer will check to see if number % 3 == 0. If this is true, the code carries out the print statement and ends.
If the condition is false, then the computer moves to the next line of code and checks if number % 5 == 0. If this is true, the code carries out the print statement and ends.
If these are both false, the computer evaluates the conditions of the next line and so on.
Hope this helps!
Jeff Muday
Treehouse Moderator 28,722 PointsYour code parses properly, but!
.. be careful ... Python does the comparisons sequentially so you would never see a "FizzBuzz" because it would test as a "Fizz" number first.
Make the "FizzBuzz" test first and it will work.
Brianda Lopez
8,318 PointsThank you both so much! I can't believe I made such a silly error!