forked from mosh-hamedani/python-projects-for-beginners
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcows_and_bulls_game.py
More file actions
34 lines (24 loc) · 917 Bytes
/
Copy pathcows_and_bulls_game.py
File metadata and controls
34 lines (24 loc) · 917 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import random
def generate_secret():
digits = list(range(10))
random.shuffle(digits)
return ''.join([str(digit) for digit in digits[:4]])
def calculate_cows_and_bulls(secret, guess):
bulls = sum([1 for i in range(4) if guess[i] == secret[i]])
cows = sum([1 for i in range(4) if guess[i] in secret]) - bulls
return cows, bulls
def main():
secret = generate_secret()
print('I have generated a 4-digit number with unique digits. Try to guess it!')
while True:
guess = input('Guess: ')
if len(guess) == 4 and guess.isdigit() and len(set(guess)) == 4:
cows, bulls = calculate_cows_and_bulls(secret, guess)
print(f'{cows} cows, {bulls} bulls')
if bulls == 4:
print('Congratulations! You guessed the correct number')
break
else:
print('Invalid guess. Please enter a 4-digit number with unique digits.')
if __name__ == '__main__':
main()