if statement not working - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: Homework (https://python-forum.io/forum-9.html) +--- Thread: if statement not working (/thread-29480.html) |
if statement not working - g0g0g1g - Sep-04-2020 if i enter random gibberish it still runs the code as if i entered one of the acceptable names I.E. my code carries out the first if statement, despite it not being a correct name why isn't it saying access denied when i'm not saying the correct name. import random #round_score is score for that round #total_score is the running total #total is the total of both dice added player_name = input() if player_name == "Alex Johnson" or "Bob Johnson" or "Duncan Johnson" or "Joan Stokes": print ("Die 1 Die 2 Total Die 3 Round score") die_1 = random. randint(1,6) die_2 = random. randint(1,6) total = (die_1) + (die_2) total_2 = 0 if die_1 == die_2: die_3 = random. randint(1,6) total_2 = die_3 + total_2 #if total == 2 or total == 4 or total == 6 or total == 8 or total == 10 or total == 12: if total%2 == 0: round_score = total + 10 + total_2 else: round_score = total - 5 + total_2 print (" ", die_1, " ", die_2," ", total," ", total_2," ", round_score) print (player_name) elif player_name == "Merlin" or "Poppy": print ("nice try dog") #my dogs else: print ("Access denied")edit: in my post i have indents but it wont show up RE: if statement not working - perfringo - Sep-04-2020 You should think what this line does (hint: it will be always True): if player_name == "Alex Johnson" or "Bob Johnson" or "Duncan Johnson" or "Joan Stokes":Probably you want something like: if player_name in ("Alex Johnson", "Bob Johnson", "Duncan Johnson", "Joan Stokes"): RE: if statement not working - nilamo - Sep-08-2020 For more info: https://python-forum.io/Thread-Multiple-expressions-with-or-keyword |