Как добавить оценку из ответов «да» и «нет»?

#python

#python

Вопрос:

Я хочу подсчитать оценку, используя ответы «Да» и «Нет», и, похоже, я не могу это понять. Я знаю, что это будет очень просто, когда я это увижу, но по какой-то причине я не могу.

 duckPerc = 0
Yes = 'Yes'
No = 'No'

def duckPerc():
    for i in duckPerc:
        if True:
            duckPerc  =1
        else:
            duckPerc  = 0

q1 = input('Do you have feathers(Yes or No)?: ')
if Yes:
    Yes == True
else:
    No == False
  

Ответ №1:

может быть, попробуйте это

 scoreYes= 0
scoreNo= 0
while True:
    q1 = input('Do you have feathers(Yes or No)?: ')
    if q1.lower() in ["yes", "y"]:
        scoreYes = 1
    elif q1.lower() in ["no", "n"]:
        scoreNo = 1
    elif q1 == "stop":
        break
    else:
        print("invalid input")
print(scoreYes)
print(scoreNo)
  

Ответ №2:

Вам нужно вставить строковые операторы для проверки программой. Прямо сейчас ваша программа проверяет наличие переменной, которая в данный момент не существует в программе. Вам также необходимо назначить программе параметр для проверки входных данных.

Чтобы исправить это, вам нужно переписать операторы if, else .

 if q1 == 'Yes':
    Yes == True
elif q1 == 'No':
    No == False
else:
    print("That doesn't make sense")

  

оператор else не нужен, но это самый простой способ сделать то, что вы пытаетесь сделать.

Ответ №3:

На самом деле вам не нужна функция, вам нужно только добавить 1, когда ввод да

 duckPerc = 0
Yes = 'Yes'
No = 'No'

q1 = input('Do you have feathers(Yes or No)?: ')
if q1 == Yes:
    duckPerc  = 1
  

Другое использование отдельных оценок y / n:

 Yes = 0
No = 0
while True:
    q1 = input('Do you have feathers(Yes or No)?: ')
    if q1.lower() in ["yes", "ye", "y"]:
        Yes  = 1
    elif q1.lower() in ["no", "nope", "n", "nop"]:
        No  = 1