in python, trying make code accept user move forward if writes "true", , not if writes "false" statement in user_answer. when run code however, "the answer correct!"-part no matter write. part having trouble starts "test_answer".
could me this?
name_list = ["dean", "bill", "john"] enter_club = ["enter", "enter"] print ("the club - mads") print (" ") print ("""you approach secret club called \"the club\". club members dangerous. make sure tell guard 1 of members names.""") print ("") print ("good evening. before allowed enter, need check if name on our list.") def enter_the_club(): enter_now = input(" \npress \"enter\" enter club... ") if (enter_now in enter_club) == true: print (" ") print ("but enter, met intelegence test. \n reads:") check_name = input("what name? ") def list_check(): if (check_name in name_list) == true: print("let me check.. yes, here are. enjoy yourself, %s!" % check_name) enter_the_club() elif check_name.isalpha() == false: print("haha, nice try %s! let's hear real name." % check_name) list_check() elif (check_name in name_list) == none: print ("you need give name if want come in.") list_check() else: print ("i sorry, can not find name on list, %s." % check_name) print ("are sure that's listed name?") list_check() list_check() print ("but enter, met intelegence test.") print (" ") print ("it reads:") test_answer = true def iqtest(): user_answer = input("is 18/4 % 3 < 18 true or false? ") if test_answer == user_answer: print ("great, %s, answer correct!" % check_name) else: print ("you not allowed enter before answer correct, %s!" % check_name) iqtest() iqtest()
true boolean constant. user enters either "true" or "false", both character strings. also, elif condition cannot true. trying 3 decision branches?
without changing code ... try this?
test_answer = "true" def iqtest(): user_answer = input("is 18/4 % 3 < 18 true or false? ") if test_answer == user_answer: print ("great, %s, answer correct!" % check_name) else: print ("you not allowed enter before answer correct, %s!" % check_name) iqtest()
note i've corrected "else" syntax.
also, have no value check_name; assume global variable you've handled elsewhere.