这个程序是功能性的,我的问题更多的是出于好奇心和教育的考虑。如果我将"i"定义为"答案"长度范围内的整数,它如何知道用户的输入是否等于原始字符串?
例: (#first 迭代(A、B、C 还是 D?(#I 回答(B (#answers[i]==1,但程序知道它也等于 B,并验证第一个输入是否正确。如果"i"被定义为整数,它如何知道第一个答案[i]是B?
# 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)
answers[i]
表示您在answers
数组中查找第 i 个元素,并获取存储在那里的值(在您的例子中为字符串(。
如果您处于第一次迭代中,则i
将为 0。
然后answers[0]
会给你存储在索引 0 的值answers
,这是字符串'B'
如果用户输入B
,则比较:
if question == answers[i]:
与
if 'B' == 'B':