Эта программа функционирует, мой вопрос больше для любопытства и образования.Если я определил «i» как целые числа в диапазоне длины «ответов», как получается, что он знает, равен ли ввод пользователя исходным строкам или нет?
Пример: (# первая итерация) A, B, C или D?(#I отвечаю) B (#answers [i] == 1, но программа знает, что оно также равно B, и проверяет правильность первого ввода. Как узнать, что первые ответы [i] - B, если "i" 's определены как целые числа?
# List of question answers
answers = ['B', 'D', 'A', 'A', 'C', 'A', 'B', 'A', 'C', 'D']
# List of user responses
response = []
# List of questions answered correctly
correct = []
# Number correctly answered
numCor = 0
# Number incorrectly answered
numIn = 0
# For every question answer, add user-reponse to response list
for i in range(len(answers)):
question = input('A, B, C, or D: ')
response.append(question)
# If the user-response is equal to the question answer /
# add 1 to correctly answered and add question-number to correct list
if question == answers[i]:
numCor += 1
correct.append(i + 1)
# If user-response does not match question answer /
# add 1 to incorrectly answered
else:
numIn += 1
# Print correctly/incorrectly answered /
# and question-numbers answered correctly
print('You got', numCor, 'questions correct.')
print('You got', numIn, 'questions incorrect.')
print('Correct Questions:', correct)