暂时停止控制流程

时间:2011-10-13 08:52:46

标签: python python-2.7

for i in liste:
    inp = input('Skriv et tall mellom 0 og 3 ')
    if inp > (len(i)-1):
        print 'HOOOOORE'
    elif i[inp] == 'T':
        print 'Du er videre til neste rom'
        print 'Du er naa i rom ' + str(j)
        j = j + 1
    elif i[inp] == 'B':
        print 'Du falt i et bunnlost hull og er na do'
        break
    elif i[inp] == 'F':
        print 'Du dode i en felle'
        break
    elif i[inp] == 'M':
        print 'Du slapp unna'
        break

如果用户输入的数字大于array i的长度,我想在可能的情况下停止for结构。这样,araay就不会逃离我的柜台j

我通过使用while语句解决了我的问题。但我仍然对如何使用for语句解决这个问题感兴趣。如果我[inp]不是== T我想再次对同一个i进行操作。

def spill(liste):
i = 0
j = 2
while j < len(liste):
    inp = input('Skriv et tall mellom 0 og ' + str(len(liste[i])-1) + ': ')
    if inp > (len(liste[i])-1):
        print 'HOOOOORE'
        inp = input('Skriv et tall mellom 0 og 3 denne gangen: ')
    elif liste[i][inp] == 'T':
        print 'Du er videre til neste rom fordi denne doren var trygg'
        print 'Du er naa i rom ' + str(j)
        j = j + 1
    elif liste[i][inp] == 'B':
        print 'Her er det et hull. Ikke ga her'
    elif liste[i][inp] == 'F':
        print 'Her er det en felle'
    elif liste[i][inp] == 'M':
        print 'Du slapp unna'
        break

正如您所见,此代码就是这样做的。

2 个答案:

答案 0 :(得分:1)

真正解决您问题的是将input()放入while,然后使用raw_input()

for i in liste:
    inp = raw_input('Skriv et tall mellom 0 og 3 ')
    while inp > (len(i)-1):
        inp = raw_input('Skriv et tall mellom 0 og 3 ') # you may want to change the text here
    if i[inp] == 'T':
        print 'Du er videre til neste rom'
        print 'Du er naa i rom ' + str(j)
        j = j + 1
    elif i[inp] == 'B':
        print 'Du falt i et bunnlost hull og er na do'
        break
    elif i[inp] == 'F':
        print 'Du dode i en felle'
        break
    elif i[inp] == 'M':
        print 'Du slapp unna'
        break

答案 1 :(得分:0)

你使用休息。你已经在代码中做过了:

for i in liste:
    inp = input('Skriv et tall mellom 0 og 3 ')
    if inp > (len(i)-1):
        print 'HOOOOORE'
        continue
    elif i[inp] == 'T':
        print 'Du er videre til neste rom'
        print 'Du er naa i rom ' + str(j)
        j = j + 1
    elif i[inp] == 'B':
        print 'Du falt i et bunnlost hull og er na do'
        break
    elif i[inp] == 'F':
        print 'Du dode i en felle'
        break
    elif i[inp] == 'M':
        print 'Du slapp unna'
        break