Python - Ejercicio número al azar, con añadidos

 
Vista:
sin imagen de perfil

Ejercicio número al azar, con añadidos

Publicado por anonymous (2 intervenciones) el 16/11/2022 17:46:12
Saludos! Soy estudiante de 1er curso de Desarrollo de Aplicaciones Multiplataforma y me han planteado el siguiente ejercicio, el cual no acabo de entender bien.

Haz un programa en Python que elija un número secreto al azar y que el usuario tenga que adivinarlo en varios intentos.Concretamente, habrá que hacer lo siguiente:
- El ordenador calculará un número aleatorio entre 1 y 100. Ese número aleatorio será el número secreto que tendrá que adivinar el usuario y, por lo tanto, no se tendrá que mostrar por pantalla.

- Se pedirá por teclado una cantidad máxima de intentos (para adivinar el número).

- Se pedirá por teclado un número varias veces hasta que acierte el número secreto o hasta que el usuario haya usado todos los intentos.

- Después de cada intento, se mostrará una pista: "Es mayor" o "Es menor". Además, también se mostrará el nuevo rango de posibles valores. Por ejemplo, si el número secreto es el 33, irá mostrando estos valores (si se contesta el número de la derecha):
Dime un número entre 1 y 100: 40
No. Es menor. Está entre 1 y 39: 8
No. Es mayor. Está entre 9 y 39: 21
No. Es mayor. Está entre 22 y 39: 5
No. Es mayor. Está entre 22 y 39: ...

Notas:
- Este rango no es aleatorio, sino que se calcula a partir de los números introducidos.
- El rango cada vez será más pequeño (o igual). Es decir: si el usuario ha dicho un valor fuera de ese rango, el rango no tiene que cambiar.

- Al acabar la partida habrá que mostrar uno de estos dos mensajes (según el caso):
- Has superado los intentos y no lo has adivinado. El número era el 33.
O bien:
- Muy bien! Lo has acertado en 5 intentos.

- Se preguntará si quiere jugar otra partida. Si se contesta "s" o "S" se volverá a hacer todo el proceso (calcular número aleatorio, etc). Si no, acaba el programa.

- Al acabar el programa:
- Muestra cuántas partidas se han jugado.
- Muestra el texto “PREMIO” tantas vueltas como partidas ha ganado.
- Muestra la media de intentos entre las partidas ganadas.
- Muestra el mínimo de intentos en que se ha ganado una partida. También el máximo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
-2
Responder

Ejercicio número al azar, con añadidos

Publicado por antonio (65 intervenciones) el 17/11/2022 16:51:19
Hola buenas lo único que el código no tiene en cuenta si pones un entero o texto pero este seria si solo pones int:

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
35
36
37
38
39
40
41
42
43
44
45
46
from random import seed
from random import randint
 
terminado =False
contador=0
media=0
mini=100
maxi=0
while terminado==False:
    # Numero aleatorio
    aleatorio = randint(1, 100)
    numintentos = int(input("Introduce el numero de intentos: "))
    minnum=1
    maxnum=100
    acertado=False
    for i in range(numintentos):
        num = int(input("Introduce un numero: "))
        if num==aleatorio:
            print("Muy bien! Lo has acertado en", i+1 ,"intentos")
            if mini>i:
                mini=i+1
            if maxi<i:
                maxi=i+1
            media=media+i
            acertado=True
            break
        if num>aleatorio:
            maxnum=num-1
            print("No. Es menor. Está entre",minnum,"y",maxnum)
        if num<aleatorio:
            minnum=num+1
            print("No. Es mayor. Está entre",minnum,"y",maxnum)
    if acertado==False:
        print("Has superado los intentos y no lo has adivinado. El número era el",aleatorio)
    contador=contador+1
    terminar = input("Quiere jugar otra partida S/N")
    if terminar=="s" or terminar=="S":
        terminado=False
    else:
        terminado=True
        break
 
for i in range(contador):
    print("PREMIO")
print("La media es:",int(media/contador))
print("El minimo es:",mini, "y el maximo es:",maxi)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
-2
Comentar
sin imagen de perfil

Ejercicio número al azar, con añadidos

Publicado por anonymous (2 intervenciones) el 17/11/2022 21:38:23
Muchísimas gracias, me estaba volviendo loca porque no sabía cómo hacer lo del for sobretodo.
Eres un crack
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ejercicio número al azar, con añadidos

Publicado por El profe que ha manat el programa (1 intervención) el 28/11/2022 18:28:45
Hola.
Sóc el profe que va fer eixe enunciat (en català, per cert).
Antonio, de part del meu alumnat, gràcies pel teu temps perdut desinteressadament. És una llàstima que la gent a qui li fan els programes després acaba suspenent. En canvi, la gent que em consulta tots els dubtes per Slack té més probabilitats d'aprovar. No obstant, per si algú més s'ho voleu copiar, heu d'esforçar-vos un poc més ja que canviant el nom de les variables no és suficient per a no detectar que està copiat. I, de pas, corregiu alguns errors que he vist:
- Si el número introduït està fora del rang, aquest es fa més gran, cosa que contradiu l'enunciat.
- La mitja d'intents és sobre la quantitat de partides guanyades, no sobre el total de partides.
- I aneu en compte en la divisió en fer la mitja, ja que el programa pot avortar si el denominador és 0.

Salutacions des de l'IES Jaume II el Just, de Tavernes de la Valldigna.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar