#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