[Duda] Evaluar numero en cadenas diferentes


mtz0

Hablar de más indica mucha ignorancia.
Noderador
Nodero
Noder
Buenas, estoy haciendo un ejercicio en Python, pero me he estancado en esta parte porque no se me ocurre la manera de evaluar la posición de dos números en cadenas diferentes.

"Randomly generate a 4-digit number. Ask the user to guess a 4-digit number. For every digit that the user guessed correctly in the
correct place, they have a “cow.”

Si a alguien se le ocurre como evaluarlo me da la vida, gracias de antemano chavales.
 
  • Like
Reacciones : destapeman y KTaneR

KTaneR

Activo muy miembro
Burgués de Nodo
Noderador
Nodero
Noder
Lista random(generada)
Lista user (pedida al usuario)

La idea es la siguiente independientemente del lenguaje:

desde i = 0 hasta lista.size-1
si random(i) == user(i) // aqui evaluamos la misma posicion en ambas listas
entonces cow+1 //y si son iguales sabemos que el usuario ha acetartado un numero en su posicion.

Python:
//Ahora solo hay que buscar la sintaxis de python:

For x in range (4)

if user(x) == random(x) :

Cow+=1



Si tambien quieres la parte de los bullS hay que añadirle a ese if este else :

elif user(x) in random : // si estamos en el else sabemos que el if ha fallado, o sea que en la misma posicion no son iguales
Bull+=1 // por eso si esto es true es que en la misma posicion no son iguales y que el numero esta en la lista
 
Última edición:

Thegjv

Moder fav <3
Noderador
Nodero
Noder
Buenas, estoy haciendo un ejercicio en Python, pero me he estancado en esta parte porque no se me ocurre la manera de evaluar la posición de dos números en cadenas diferentes.

"Randomly generate a 4-digit number. Ask the user to guess a 4-digit number. For every digit that the user guessed correctly in the
correct place, they have a “cow.”

Si a alguien se le ocurre como evaluarlo me da la vida, gracias de antemano chavales.
Lista random(generada)
Lista user (pedida al usuario)

La idea es la siguiente independientemente del lenguaje:

desde i = 0 hasta lista.size-1
si random(i) == user(i) // aqui evaluamos la misma posicion en ambas listas
entonces cow+1 //y si son iguales sabemos que el usuario ha acetartado un numero en su posicion.

Python:
//Ahora solo hay que buscar la sintaxis de python:

For x in range (4)

if user(x) == random(x) :

Cow+=1



Si tambien quieres la parte de los bullS hay que añadirle a ese if este else :

elif user(x) in random : // si estamos en el else sabemos que el if ha fallado, o sea que en la misma posicion no son iguales
Bull+=1 // por eso si esto es true es que en la misma posicion no son iguales y que el numero esta en la lista
Mejor explicado creo q imposible xD
 

destapeman

FUCK PUSSYS, YES BADASS
Moderador
Paladín de Nodo
Jinete de Nodo
Burgués de Nodo
Noderador
Nodero
Noder
Lista random(generada)
Lista user (pedida al usuario)

La idea es la siguiente independientemente del lenguaje:

desde i = 0 hasta lista.size-1
si random(i) == user(i) // aqui evaluamos la misma posicion en ambas listas
entonces cow+1 //y si son iguales sabemos que el usuario ha acetartado un numero en su posicion.

Python:
//Ahora solo hay que buscar la sintaxis de python:

For x in range (4)

if user(x) == random(x) :

Cow+=1



Si tambien quieres la parte de los bullS hay que añadirle a ese if este else :

elif user(x) in random : // si estamos en el else sabemos que el if ha fallado, o sea que en la misma posicion no son iguales
Bull+=1 // por eso si esto es true es que en la misma posicion no son iguales y que el numero esta en la lista
Estáis ahí esperando a que este hombre suba dudas ajajajajajaj que grande tronco.
 
  • Like
  • Hahaha
Reacciones : KTaneR y mtz0

mtz0

Hablar de más indica mucha ignorancia.
Noderador
Nodero
Noder
Lista random(generada)
Lista user (pedida al usuario)

La idea es la siguiente independientemente del lenguaje:

desde i = 0 hasta lista.size-1
si random(i) == user(i) // aqui evaluamos la misma posicion en ambas listas
entonces cow+1 //y si son iguales sabemos que el usuario ha acetartado un numero en su posicion.

Python:
//Ahora solo hay que buscar la sintaxis de python:

For x in range (4)

if user(x) == random(x) :

Cow+=1



Si tambien quieres la parte de los bullS hay que añadirle a ese if este else :

elif user(x) in random : // si estamos en el else sabemos que el if ha fallado, o sea que en la misma posicion no son iguales
Bull+=1 // por eso si esto es true es que en la misma posicion no son iguales y que el numero esta en la lista

No sé por qué me saltaba este error:

1586889324044.png


pero lo he hecho usando la funcion find:

Python:
import random

def gen_number():
    
    number = ''
    for i in range(4):
        number = number + str(random.randint(0, 9))
        return number
    
cow = 0

gameNumber = gen_number()

guessNumber = input("Please introduce a 4 digit number: ")

for i in gameNumber:
    if str(gameNumber).find(i) == str(guessNumber).find(i):
        cow+=1
        
print(cow)

Gracias de todos modos @KTaneR <3
 

KTaneR

Activo muy miembro
Burgués de Nodo
Noderador
Nodero
Noder
No sé por qué me saltaba este error:

Ver el archivo adjunto 2824

pero lo he hecho usando la funcion find:

Python:
import random

def gen_number():
   
    number = ''
    for i in range(4):
        number = number + str(random.randint(0, 9))
        return number
   
cow = 0

gameNumber = gen_number()

guessNumber = input("Please introduce a 4 digit number: ")

for i in gameNumber:
    if str(gameNumber).find(i) == str(guessNumber).find(i):
        cow+=1
       
print(cow)

Gracias de todos modos @KTaneR <3

ya te digo que yo de python ni idea, por eso te puse el pseudocodigo, pero si ya encontraste solucion perfecto :)
 
  • Like
Reacciones : mtz0 y destapeman