Почему «заявление if» игнорируется? - PullRequest
0 голосов
/ 06 октября 2019
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.")

Когда я запускаю свой код, введите «1». Он печатает «1 яблоко на дереве» вместо «1 яблоко на дереве», как я написал. Изо всех сил пытаюсь определить проблему.

Моя цель - позволить пользователю изменять количество яблок. Если они решат ввести «1», тогда слово «яблоки» должно смениться на «яблоко».

Я гуглил, и вот как все делают утверждения if, но наверняка где-то что-то не так, или ячто-то упустил.

Ответы [ 3 ]

0 голосов
/ 06 октября 2019

На самом деле, я думаю, это потому, что вы проверяете целое число 1, а не строку "1". Возвращаемые значения из input() являются строками, поэтому либо измените их на целые числа для сравнения, либо в этом случае просто сравните со строковой версией 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 голосов
/ 06 октября 2019

изменить это:

if appleAmount == 1:

на это:

if int(appleAmount) == 1:

input() возвращает строку, поэтому еслизаявление не работает.

0 голосов
/ 06 октября 2019

из-за отступа также тип appleAmount должен быть 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.")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...