It always thinks I entered C


The message I’m getting:
No matter what, it always responds as though I entered C.

My code:

This program should be able to:
1. Prompt the user for a shape (a circle or a triangle)
2. Compute the area of that shape
3. Print the area of that shape for the user.
def AreaCalculator():
  print("Firing up the clackalater...")
  option = raw_input("Enter C for Circle or T for Triangle: ")
  if option == 'C' or 'c':
    radius = float(raw_input("The radius of my circle is: "))
    area = 3.14159 * radius ** 2
    print("The area of your cicle is " + str(area) + ".")
  elif option == 'T' or 't':
    base = float(raw_input("The base of my triangle is: "))
    height = float(raw_input("The height of my triangle is: "))
    area = (base * height) / 2
    print("The area of your triangle is " + str(area) + ".")
    print("Invalid response.")
  print("""Pressing CE...
pressing Power...""")

I know it didn’t say to format it as a function, but I thought maybe that would help me have more control over the flow of the program. It does the exact same thing whether I put the code inside a function or not.
I tried to debug it at, but programs with raw_input() never work outside of Codecademy and I don’t know why.
Edit: the else block doesn’t appear to be working either:


This will always be True since 'c' is not an empty string.

if option == 'C' or option == 'c':


Thank you. Changing it to if option == 'C' or option == 'c': and 'if option == 'T' or option == 't': did the trick. I never remember how to format those. I can never remember if it’s if x == 1 or 2 or if it’s if x == 1 or if x == 2 or if it’s if x == 1 or x == 2.

I don’t understand your remark about ‘c’ not being an empty string.


Any non-empty string is truthy in a conditional. Only the empty string, '' and "" are falsy.

if option == 'C' or 'c':

Given that option is not 'C', we have,

if False or True:


Two other approaches to writing the conditional are,

if option.lower() == 'c':


if option in 'Cc':

but it does not mean what you have is in any way incorrect or inferior to the above. We have choices, after all.


Ohh, okay that stuff, from Conditionals and Control Flow. Thank you.


2 posts were split to a new topic: I cann’t get mine to work even at this point


This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.