是否可以遍历if语句中的列表?

时间:2018-10-19 14:07:29

标签: python python-3.x

我想知道如何遍历if语句中的列表。谢谢

2 个答案:

答案 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时,调用该函数。