From ffc1db60295137185c3d4e9fdc8db40be49f5ba6 Mon Sep 17 00:00:00 2001 From: slayer005 <148843476+slayer005@users.noreply.github.com> Date: Tue, 24 Oct 2023 11:33:30 +0530 Subject: [PATCH] Create Mastermind Game using Python MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Given the present generation’s acquaintance with gaming and its highly demanded technology, many aspire to pursue the idea of developing and advancing it further. Eventually, everyone starts at the beginning. Mastermind is an old code-breaking game played by two players. The game goes back to the 19th century and can be played with paper and pencil. --- Mastermind Game using Python | 73 ++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 Mastermind Game using Python diff --git a/Mastermind Game using Python b/Mastermind Game using Python new file mode 100644 index 00000000..c4955c11 --- /dev/null +++ b/Mastermind Game using Python @@ -0,0 +1,73 @@ +import random + + +# the .randrange() function generates a +# random number within the specified range. +num = random.randrange(1000, 10000) + +n = int(input("Guess the 4 digit number:")) + +# condition to test equality of the +# guess made. Program terminates if true. +if (n == num): + print("Great! You guessed the number in just 1 try! You're a Mastermind!") +else: + # ctr variable initialized. It will keep count of + # the number of tries the Player takes to guess the number. + ctr = 0 + + # while loop repeats as long as the + # Player fails to guess the number correctly. + while (n != num): + # variable increments every time the loop + # is executed, giving an idea of how many + # guesses were made. + ctr += 1 + + count = 0 + + # explicit type conversion of an integer to + # a string in order to ease extraction of digits + n = str(n) + + # explicit type conversion of a string to an integer + num = str(num) + + # correct[] list stores digits which are correct + correct = ['X']*4 + + # for loop runs 4 times since the number has 4 digits. + for i in range(0, 4): + + # checking for equality of digits + if (n[i] == num[i]): + # number of digits guessed correctly increments + count += 1 + # hence, the digit is stored in correct[]. + correct[i] = n[i] + else: + continue + + # when not all the digits are guessed correctly. + # if (count < 4) and (count != 0): - this condition is not needed as we are starting with the condition, n!=num, which is, count<4 + print("Not quite the number. But you did get ", + count, " digit(s) correct!") + # second code is not supposed to print the guessed numbers, from the sample output, here I get we are not recording the position of the guess,but count. But as per the explanation, the code should not print the guessed numbers, rather give their count. + # print("Also these numbers in your input were correct.") + # for k in correct: + # print(k, end=' ') + print('\n') + print('\n') + n = int(input("Enter your next choice of numbers: ")) + + # when none of the digits are guessed correctly. + elif (count == 0): + print("None of the numbers in your input match.") + n = int(input("Enter your next choice of numbers: ")) + + # condition for equality. + if n == num: + # ctr must be incremented when the n==num gets executed as we have the other incrmentation in the n!=num condition + ctr+=1 + print("You've become a Mastermind!") + print("It took you only", ctr, "tries.")