#Should you ask her out?

def crush_determine ( ) :

print ( "This program utilizes a number of complicated algorithms to determine" )

print ( "whether you should ask out your crush." )

print ( )

crushName = input ( "What is your crush's name? " )

print ( crushName , ". Wow, that's a pretty name." )

print ( )

yourName = input ( "What is your name? " )

print ( yourName , ". Ouch... Well, I'll see what I can do." )

print ( )

yourAge = int ( input ( "What is your age? " ) )

print ( "So you are" , yourAge , "years old. Nice." )

print ( )

herAge = int ( input ( "And how old is your crush? " ) )

if abs ( yourAge-herAge ) >= 10 :

#The ageScore is simply a value that will determine the final result later.

print ( "What a sleazebag you are." )

ageScore = - 2 * ( abs ( yourAge-herAge ) ) #This allows a weighted result.

else :

print ( "Ahh. I like to see similarly aged couples." )

ageScore = 10 #This allows a weighted result.

#yourIntelligence

print ( )

done = False

while not done:

yourIntelligence = float ( input ( "On a scale from 1 to 10, how intelligent do you think you are? " ) )

if yourIntelligence < 1 :

print ( "You poor soul. A DOORKNOB has an intelligence of 1." )

elif yourIntelligence > 10 :

print ( "Ha ha. Nice try, Einstein." )

else :

print ( "That's respectable." )

done = True

#herIntelligence

print ( )

done = False

while not done:

herIntelligence = float ( input ( "On a scale from 1 to 10, how intelligent do you think she is? " ) )

if herIntelligence < 1 :

print ( "And WHY exactly do you like her? Come on. Seriously." )

elif herIntelligence > 10 :

print ( "She is WAY too smart for you. But seriously." )

else :

done = True

done = False

#intelligenceScore

print ( )

if abs ( yourIntelligence-herIntelligence ) <= 2 :

print ( "Great." )

intelligenceScore = 10 - abs ( yourIntelligence-herIntelligence ) #This weights the intelligence (max 10, min 8)

elif 2 < abs ( yourIntelligence-herIntelligence ) <= 6 :

print ( "Okay." )

intelligenceScore = 10 - abs ( yourIntelligence-herIntelligence ) #This weights the intelligence

else :

print ( "Oh boy." )

intelligenceScore = 10 - 2 * abs ( yourIntelligence-herIntelligence )

#herLooks

while not done:

herLooks = float ( input ( "On a scale from 1 to 10, how pretty is she? " ) )

if herLooks < 1 :

print ( "Wow, that's not very nice of you. Try again." )

elif herLooks > 10 :

print ( "A veritable Gisele. Yeah right. Try again." )

else :

print ( )

print ( "Nice." )

done = True

#yourLooks

print ( )

done = False

while not done:

yourLooks = float ( input ( "On a scale from 1 to 10, how good-looking do you think you are? " ) )

if yourLooks < 1 :

print ( "Agh!!! That's awful. But also not true... Try again!" )

elif yourLooks > 10 :

print ( "BAHAHAHAHA. Riiight. Seriously, try again." )

else :

print ( "Okay, great." )

done = True

done = False

#looksScore

if abs ( herLooks-yourLooks ) == 0 :

looksScore = 10

elif 0 < ( herLooks-yourLooks ) <= 2 : #If she is better looking, then the number will be positive

looksScore = 8

elif 2 < ( herLooks-yourLooks ) <= 4 :

looksScore = 6

elif 4 < ( herLooks-yourLooks ) <= 6 :

looksScore = 4

elif 6 < ( herLooks-yourLooks ) <= 8 :

looksScore = 2

elif 8 < ( herLooks-yourLooks ) <= 10 :

looksScore = 0

elif - 9 < ( herLooks-yourLooks ) < 0 :

looksScore = 10

else :

looksScore = 0

#Final calculations

print ( )

finalScore = ageScore+intelligenceScore+looksScore

if finalScore < - 100 :

print ( "You absolutely should NOT ask this person out." )

elif - 100 <= finalScore < - 50 :

print ( "It's probably not a good idea... But who'se stopping you?" )

elif - 50 <= finalScore < 0 :

print ( "I'm not totally certain in this case. I guess try it!" )

elif 0 <= finalScore < 20 :

print ( "Go for it! You're a match!" )

else :

print ( "WOW! YOU ARE PERFECTLY MATCHED!" )

print ( "Final Score is " , finalScore , "." )