Adivina el juego de números del proyecto Python.

adivina el juego de numeros

¡Les deseo a todos un feliz Día del Niño!

Completa un sencillo juego de adivinar números hoy

Sección de reglas:

1. Considere un número de 4 dígitos usando números entre 0 y 9. El mismo número se puede utilizar varias veces.

2. El niño adivina un número de 4 dígitos y se lo cuenta a los padres.

3. Los padres calculan el puntaje de golpe y el puntaje de golpe en función de los números dados por el niño y le informan el resultado del cálculo.

  • El número y la posición son correctos para Hit
  • Ubicación incorrecta, pero incluía ese número como Blow

4. Repita las operaciones 2 y 3. El niño adivina cada vez el siguiente número de 4 dígitos según las puntuaciones de Golpe y Golpe. Si la suposición es correcta, el juego termina. Si el número adivinado por el niño puede calcular el resultado de 'Acierto=4', la suposición es correcta; cuantas menos repeticiones de las operaciones 2 y 3, mejor.


1. Generar módulo de números aleatorios

Para generar números aleatorios, debe usar el módulo aleatorio, usar la declaración 'importar aleatorio' para importar y usar 'nombre de función aleatoria' para usar varias funciones relacionadas.

Primero prepare cuatro variables, luego asígneles los números aleatorios generados varias veces y conecte los números con la realidad.

import random
a1 = random.randint(0, 9)
a2 = random.randint(0, 9)
a3 = random.randint(0, 9)
a4 = random.randint(0, 9)
print(str(a1) + str(a2) + str(a3) + str(a4))

Nota: Aquí no se puede generar un número de cuatro dígitos directamente, porque el juego consiste en adivinar cada dígito del número de cuatro dígitos.

El uso de variables para almacenar estos cuatro números causará algunos problemas en el procesamiento posterior. Una mejor manera es usar una lista para el almacenamiento centralizado y optimizar el segmento de código anterior:

import random
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
print(str(a[0]) + str(a[1]) + str(a[2]) + str(a[3]))
2. Ingrese 4 dígitos correctamente

Eliminar entradas incorrectas

1. Compruebe si tiene 4 dígitos:

Use un identificador isok, asigne el valor inicial bit False para ingresar al ciclo while, si no es un número de 4 dígitos, ejecute la declaración de impresión, continúe el ciclo while, si es un número de 4 dígitos, el identificador se vuelve Verdadero y ya no hay bucles.

isok = False
while isok == False:
    b = input('请输入数字:')
    if len(b) != 4:
        print('请输入4位数字')
    else:
        ok = True

2. Compruebe si cada bit es un número.

num es un identificador.

num = True
     for i in range(4):
         if(b[i] < '0') or (b[i] > '9') :
             print('不是数字')
             num = False
             break
      if num :
          isok = True

Los dos párrafos se combinan en:

isok = False
while isok == False:
    b = input('请输入数字:')
    if len(b) != 4:
        print('请输入4位数字')
    else:
        num = True
        for i in range(4):
            if(b[i] < '0') or (b[i] > '9') :
                print('不是数字')
                num = False
                break
        if num :
            isok = True
print(b[0])
print(b[1])
print(b[2])
print(b[3])
3. Juzgar el golpe y el golpe

Juzgar Hit, hit significa que la posición y el número son el mismo estado.

hit = 0
for i in range(4):
    if a[i] == int(b[i]):
        hit = hit + 1
    

Juicio Golpe, golpe significa el estado del mismo número, pero diferentes ubicaciones de almacenamiento.

blow = 0
for j in range(4):
    if(int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
        blow = blow + 1
        break
print('Hit' + str(hit))
print('Blow' + str(blow))

Cuando la puntuación de acierto es 4, si la suposición es correcta, el programa finaliza

 if hit == 4:
        print('猜中了!')
        break

Fragmento de código completo:

import random
a = [random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9),
random.randint(0, 9)]
#print(str(a[0]) + str(a[1]) + str(a[2]) + str(a[3]))

isok = False
while isok == False:
    b = input('请输入数字:')
    if len(b) != 4:
        print('请输入4位数字')
    else:
        num = True
        for i in range(4):
            if(b[i] < '0') or (b[i] > '9') :
                print('不是数字')
                num = False
                break
        if num :
            isok = True

hit = 0
for i in range(4):
    if a[i] == int(b[i]):
        hit = hit + 1
    if hit == 4:
        print('猜中了!')
        break

blow = 0
for j in range(4):
    if(int(b[j]) == a[i]) and (a[i] != int(b[i])) and (a[j] != int(b[j])):
        blow = blow + 1
        break
print('Hit' + str(hit))
print('Blow' + str(blow))

El próximo número será la versión de interfaz del juego de adivinar números, así que estad atentos~

Supongo que te gusta

Origin blog.csdn.net/m0_61901625/article/details/130983487
Recomendado
Clasificación