Even or odd through random module (Python)

0

Recently I started learning programming language with python, I created a classic "game" to learn with random.randint for the user to try to guess the number chosen by the machine.

I tried to do the same but this time to guess if the computer has chosen a PAR or DARK number and I can not quite understand how to implement it.

I just created it in a simplified way and I got the result, but I did not quite understand how I can check if it is even or odd by the random module

# Este é apenas o programa simples sem utilizar random    
numero = int(input('Digite um número qualquer: '))    
resultado = numero % 2 # Pega o resto do número    
if resultado == 0:
    print('O número {} é PAR'.format(numero))
else:
    print('O número {} é IMPAR'.format(numero))   

# O que eu pretendia fazer, mas ao invés de adivinhar o número, queria que o jogador adivinhasse se o número é par ou ímpar (Como não consegui implementar utilizei esse programa como exemplo)

import random    
from time import sleep    
r = random.randint(1,10)  # Computador gera um número aleatório de 1 a 10    

print('Pensei em um número entre 1 e 10.')
print('-=-' * 20)

user = int(input('Em que número pensei?: ')) #Jogador tenta adivinhar

print('PROCESSANDO...')
sleep(2) # Computador aguarda 2 segundos antes de continuar

if user == r:
    print('Você me venceu! eu pensei mesmo no número {}'.format(r))
else:
    print('Ganhei! O número que pensei foi {}, não {}'.format(r, user))
    
asked by anonymous 20.10.2017 / 20:28

1 answer

1

You need, instead of comparing the two numbers, to compare the two modules.

Note that at the time of the comparison, you have the following code

if user == r:

This will compare if the two numbers are equal , what we need here is to know if they have the same module .

Note also that I did not change the success or failure messages, it still implies that the user has hit exactly the number that the computer "thought", but that is detail.

import random    
from time import sleep    
r = random.randint(1,10)  # Computador gera um número aleatório de 1 a 10    

print('Pensei em um número entre 1 e 10.')
print('-=-' * 20)

user_input = int(input('Em que número pensei?: ')) #Jogador tenta adivinhar

print('PROCESSANDO...')
sleep(2) # Computador aguarda 2 segundos antes de continuar

if (user_input % 2) == (r % 2):
    print('Você me venceu! eu pensei mesmo no número {}'.format(r))
else:
    print('Ganhei! O número que pensei foi {}, não {}'.format(r, user_input))

See working at repl.it

    
20.10.2017 / 20:44