Por ejemplo, usando la función input () como:

input("Type your age:" +"years old")`

Cuando lo ejecuto, quiero que el usuario escriba su edad entre edad: y años, pero, cuando lo ejecuto, el usuario tiene que escribir su edad después de los años. ¿Es posible hacerlo para que el usuario pueda escribir su edad entre edad: y años

-2
MartinEG 3 oct. 2019 a las 21:19

4 respuestas

La mejor respuesta

Básicamente no. Cuando utiliza la entrada ([solicitud]), su "Escriba su edad:" + "años" se convierte en la solicitud. La entrada siempre toma el valor al final.

Mi pregunta es, ¿realmente necesitas la parte de "años"?

Siempre puedes hacer algo como esto:

age = input('How old are you?')
print(f'You are {age} years old!')
2
98Ed 4 oct. 2019 a las 00:40

Puede usar la implementación de getch para leer un solo carácter del usuario.

Aquí está la solución:

import sys

print("Type your age:", end=" ")
sys.stdout.flush()
c = getch()
print(c + " years old")

Primero, obtienes:

Type your age: ▯

Luego, presiona un solo carácter (puede usar 2 llamadas a getch para obtener 2 caracteres). Y se imprime:

Type your age: 9 years old

EDITAR

Pero, la forma clásica de hacerlo sería:

while True:
    try:
        age = int(input("Type your age: "))
    except ValueError:
        print("This is not an integer")
        print()
    else:
        if 1 <= age <= 120:
            break
        print("please, enter your age between 1 and 120 years")
        print()

print("You are {age} years old.".format(age=age))
1
Laurent LAPORTE 3 oct. 2019 a las 19:08

Sí, pero tendría que aprender a imprimir, retroceder e ingerir la entrada desde allí. La forma habitual de manejar esto es formular su pregunta con precisión:

input("Enter your age in years, a whole number: ")
0
Prune 3 oct. 2019 a las 18:21

En realidad sí, pero no es muy práctica:

x = input("           years old \rAge: ")
print(x)

El truco aquí es usar \r (retorno de carro) para devolver el cursor al comienzo de la línea.

Tenga en cuenta que si el usuario escribe algo más grande que el número de espacios asignados, sobrescribirá el texto "años".

2
Telmo Trooper 3 oct. 2019 a las 20:09
58224835