首页 > 解决方案 > 如果“i”被定义为一个整数,它如何知道 question==answers 与否?

问题描述

这个程序是功能性的,我的问题更多是出于好奇和教育的目的。如果我将“i”定义为“answers”长度范围内的整数,它如何知道用户的输入是否等于原始字符串?

示例:(#first 迭代)A、B、C 还是 D?(#I answer) B (#answers[i]==1, 但程序知道它也等于 B 并验证第一个输入是否正确。如果 "i"' 它如何知道第一个答案 [i] 是 B 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)

标签: pythonpython-3.xlistpython-3.7

解决方案


answers[i]意味着您查找answers数组中的第 i 个元素,并获得存储在那里的值(在您的情况下为字符串)。

如果您在第一次迭代中, i将为 0。

answers[0]然后将为您提供存储在索引 0 in 的值answers,即字符串'B'

如果用户输入B,您的比较:

if question == answers[i]:

是相同的

if 'B' == 'B':

推荐阅读