我想知道如何遍历if语句中的列表。谢谢
答案 0 :(得分:0)
您可以做的是将第二个参数传递给q
函数,该参数可以像这样是您的问题编号。这将从您的ans
列表中获得答案,具体取决于您为函数提供的问题编号。我还重新定位了point
变量,因为在q
函数中定义它会导致每次调用q
函数时将其设置回0,如果打算这样做,请忽略该更改。
from pip._vendor.distlib.compat import raw_input
def q(x,q_num):
print(x)
a = raw_input('your answer here-' )
if a.upper() == ans[q_num]:
print('Your answer is correct')
point += 1
print("Your total point is " + str(point))
else:
print("Opps your answer is wrong!")
Question = "Whats value of pi?\n A. 3 B.3.1416 C.0"
Question1 = "How many days in a year\n A. 300days B. 365days C. 364days"
Question2 = "Is python a programing language?\n A.Yes B.No"
ans =['B', 'B', 'A']
point = 0
q(Question,0)
q(Question1,1)
q(Question2,2)
注意:请记住,列表索引从0开始,因此您的第一个问题将与索引0匹配,第二个问题将与索引1匹配,依此类推。
答案 1 :(得分:0)
因此,这实际上是一个非常简单的修复程序! :D要遍历ans []列表所要做的就是插入一个可以递增的变量,例如,而不是将ans [0]放到ans [i]上,所以它看起来应该像这样:
i=0
def q(x):
a = raw_input('your answer here-' )
if a.upper() == ans[i]:
print('Your answer is correct')
point += 1
print("Your total point is " + str(point))
i+=1
else:
print("Opps your answer is wrong!")
i+=1
这应该让您遍历列表,因为现在您正在调用列表中以1递增的位置。i = 0必须在函数外部,因为否则每次您将i都重置为0时,调用该函数。