What's wrong with this if statement?

import random

name = "Samuel"

question = "What's the meaning of life?"

answer = ""

random_number = random.randint(1,9)
print(random_number)

if random_number == 1:
  answer = "Yes - definitely."
elif random_number == 2:
  answer = "It is decidedly so."
elif random_number == 3:
  answer = "Without a doubt."
elif random_number == 4:
  answer = "Reply hazy, try again."
elif random_number == 5:
  answer = "Ask again later."
elif random_number == 6:
  answer = "Better not tell you now."
elif random_number == 7:
  answer = "My sources say no."
elif random_number == 8:
  answer = "Outlook not so good."
else:
  answer = "Very doubtful."

  print(answer)

# It only prints an answer when the random number is generated as 9, not for 1-8. Why is that? 

#Appreciate your help :slight_smile:

It would be worth formatting code as per How do I format code in my posts? as it’s difficult to interpret this without indentation.

I think it’s indentation that’s causing your issue though. Is the relevant print functiont part of the if statement?

1 Like

#Ahh thanks for the response, is this better?

import random

name = "Lia"

question = "Am I cool?"

answer = ""

random_number = random.randint(1,9)
print(random_number)

if random_number == 1:
  answer = "Yes - definitely."
elif random_number == 2:
  answer = "It is decidedly so."
elif random_number == 3:
  answer = "Without a doubt."
elif random_number == 4:
  answer = "Reply hazy, try again."
elif random_number == 5:
  answer = "Ask again later."
elif random_number == 6:
  answer = "Better not tell you now."
elif random_number == 7:
  answer = "My sources say no."
elif random_number == 8:
  answer = "Outlook not so good."
else:
  answer = "Very doubtful."

  print(answer)
1 Like

Even without the right identation, you knew what was wrong! Thank you :)))

1 Like