print("10 apples on a tree")
userChoice = input("Would you like to change the amount on apples ([Y]/[N]): ")

if userChoice == 'Y':
appleAmount = input("Please enter the amount of apples: ")

if appleAmount == 1:
    print("1 apple on a tree")
else:
    print(appleAmount, "apples on a tree")

if userChoice == 'N':
print("Okay.")

Cada vez que ejecuto mi código e ingreso '1'. Imprime "1 manzanas en un árbol" en lugar de "1 manzana en un árbol" como lo he escrito. Luchando para señalar el problema.

Mi objetivo es permitir que el usuario modifique la cantidad de manzanas. Si deciden escribir '1', entonces la palabra "manzanas" debe cambiar a "manzana".

He buscado en Google y así es como todos hacen las declaraciones if, pero seguramente algo está mal en alguna parte o me he perdido algo.

0
Pablo 6 oct. 2019 a las 20:30

3 respuestas

La mejor respuesta

Debido a la sangría, también el tipo de appleAmount debe ser int:

print("10 apples on a tree")
userChoice = input("Would you like to change the amount on apples ([Y]/[N]): ")

if userChoice == 'Y':
    appleAmount = int(input("Please enter the amount of apples: "))

if appleAmount == 1:
    print("1 apple on a tree")
else:
    print(appleAmount, "apples on a tree")

if userChoice == 'N':
    print("Okay.")
0
Mohsen_Fatemi 6 oct. 2019 a las 18:00

En realidad, creo que es porque estás comprobando el entero 1 y no la cadena "1". Los retornos de input() son cadenas, así que cámbielos a enteros para comparar, o en este caso simplemente compare con la versión de cadena de 1:

print("10 apples on a tree")
userChoice = input("Would you like to change the amount on apples ([Y]/[N]): ")

if userChoice == 'Y':
    appleAmount = input("Please enter the amount of apples: ")

if appleAmount == "1":
    print("1 apple on a tree")
else:
    print(appleAmount, "apples on a tree")

if userChoice == 'N':
    print("Okay.")
0
nmpauls 6 oct. 2019 a las 17:33

Cambia esto:

if appleAmount == 1:

A esto:

if int(appleAmount) == 1:

input() devuelve una cadena, por eso la sentencia if no funciona.

0
Issac Newton 6 oct. 2019 a las 17:35
58259686