![]() |
Hi how do i solve this ? - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Hi how do i solve this ? (/thread-24236.html) |
Hi how do i solve this ? - Houston222 - Feb-05-2020 Hi, right now what happens is that my codes shown below will print out error even when a wrong answer is inserted, this error message under the else is meant to only be shown when a user key in an input that is invalid, how do i make sure the error code DO NOT show even when the answer is wrong . Thank you while True: print("Where is Moscow located at?") answer1 = input("a) Russia\nb) China\nc) Japan\nd) Mongolia\nAnswer: ") if answer1 == "a" or answer1 == "Russia": print("Right Answer!") break if answer1 == "b" or answer1 == "China": print("Wrong Answer!") if answer1 == "c" or answer1 == "Japan": print("Wrong Answer!") if answer1 == "d" or answer1 == "Mongolia": print("Wrong Answer!") else: print("Error!")_____________________________________________________________________________________________ RE: Hi how do i solve this ? - t4keheart - Feb-05-2020 Well, assuming your indentation is all fixed up in your actual program, I would just do this a different way: while True: print("In which country is Moscow located?") answer1 = input("a) Russia\nb) China\nc) Japan\nd) Mongolia\nAnswer: ") if answer1 == "a" or answer1 == "Russia": print("Right Answer!") break elif answer1 != "a" or answer1 != "Russia": print('Incorrect!') break else: print('Error!')Logic is, "if answer is a or china, print correct... if it's not a or china (anything else), print incorrect. RE: Hi how do i solve this ? - DeaD_EyE - Feb-05-2020 Hm, the code works. Maybe you've missed an indentation. We can't see it here, because white space are stripped away, if you don't put you code into code tags. This works, but you can simplify this very much. while True: print("Where is Moscow located at?") answer1 = input("a) Russia\nb) China\nc) Japan\nd) Mongolia\nAnswer: ") if answer1 == "a" or answer1 == "Russia": print("Right Answer!") break if answer1 == "b" or answer1 == "China": print("Wrong Answer!") if answer1 == "c" or answer1 == "Japan": print("Wrong Answer!") if answer1 == "d" or answer1 == "Mongolia": print("Wrong Answer!") else: print("Error!")The simpler version: while True: print("Where is Moscow located at?") answer1 = input("a) Russia\nb) China\nc) Japan\nd) Mongolia\nAnswer: ") if answer1 == "a" or answer1 == "Russia": print("Right Answer!") breakYou can do it once right and make a function for it: RE: Hi how do i solve this ? - buran - Feb-05-2020 while True: print("Where is Moscow located at?") answer = input("a) Russia\nb) China\nc) Japan\nd) Mongolia\nAnswer: ") if answer.lower() in ("a", "russia"): print("Right Answer!") break else: print("wrong answer") |