Friday, November 1, 2019

Cows and Bulls in Python

import random

def Pic():
  print("        =        ,         =                  _____                                 ")
  print("       /'\\    )\\,/,/(_    / \\                / ____|                             ")
  print("      |  (  ,\\\\)\\//\\)\\/_  ) |               | |     __ __      __ __           ")
  print("   ___\\   `\\\\\\/\\\\/\\/\\\\///'  /               | |    / _ \\ \\ /\\ / / __|   ")
  print(",-\"~`-._ `\"--'_   `\"\"\"`  _ \\`'\"~-,_         | |___| (_) \\ V  V /\\__ \\     ")
  print("\\       `-.  '_`.      .'_` \\ ,-\"~`/         \\_____\\___/ \\_/\\_/ |___/        ")
  print(" `.__.-'`/   (-\\        /-) |-.__,'                                                ")
  print("   ||   |     \\O)  /^\\ (O/  |                                        _   _   _    ")
  print("   `\\\\  |         /   `\\    /                                       ( ) | | | |  ")
  print("     \\\\  \\       /      `\\ /                                        |/  |  \\| |")
  print("      `\\\\ `-.  /' .---.--.\\                                             | . ` |  ")
  print("        `\\\\/`~(, '()      ('                 ____        _ _            | |\\  |  ")
  print("         /(O) \\\\   _,.-.,_)                 |  _ \\      | | |           |_| \\_| ")
  print("        //  \\\\ `\\'`      /                  | |_) |_   _| | |___                 ")
  print("       / |  ||   `\"\"\"\"~\"`                   |  _ <| | | | | / __|              ")
  print("     /'  |__||                              | |_) | |_| | | \\__ \\                 ")
  print("          `o                                |____/ \\__,_|_|_|___/                  ")

while True:
  flag = 'T'
  num = random.randint(1234, 9876)
  num = list(str(num))
  for i in num:
    if num.count(i) > 1:
      flag = 'F'
  if flag == 'T':
    break
print(num, "\n")

ctr = 1
while True:
  Pic()
  bulls, cows = 0, 0
  s = "Guess " + str(ctr) + ": "
  try:
    guess = int(input(s))
  except:
    print("Enter only an integer\n")
    continue
  if guess < 1000 or guess > 9999:
    print("Enter a 4-digit number\n")
    continue

  guess = list(str(guess))
  if num[0] == guess[0]:
    bulls += 1
  elif guess[0] in num:
    cows += 1
  if num[1] == guess[1]:
    bulls += 1
  elif guess[1] in num:
    cows += 1
  if num[2] == guess[2]:
    bulls += 1
  elif guess[2] in num:
    cows += 1
  if num[3] == guess[3]:
    bulls += 1
  elif guess[3] in num:
    cows += 1
  if bulls == 4:
    print("You got it in", ctr, "attempt(s).")
    break
  print(bulls, "bull(s)", cows, "cow(s)", "\n")
  ctr += 1

No comments:

Post a Comment