1 svar
239 visningar
Hondel 1294
Postad: 3 maj 2021 15:17 Redigerad: 3 maj 2021 15:18

If-sats i en for-loop

Hej, ponera att jag har en funktion som ser ut ungefär såhär:

def foo(arg1, condition):
    for i in range(100):
        if condition:
            a = bar(arg1+i)
        else:
            a = bar(arg1+1)  # annorlunda än ovan
        # gör någor mer med a
    return

Jag har alltså en if-sats inuti for-loopen, men eftersom condition är konstant kommer denna if-sats alltid göra samma sak i varje iteration. Finns det något snyggare sätt att skriva koden utan att behöva utvärdera if-satsen varje iteration i for-loopen?

Laguna 28563
Postad: 3 maj 2021 15:45

If-satsen är trivial att utvärdera, eftersom sanningsvärden finns i variabeln 'condition', men man kan förstås skriva så här:

def foo(arg1, condition):
    if condition:
        for i in range(100):
            a = bar(arg1+i)
    else:
        for i in range(100):
            a = bar(arg1+1)  # annorlunda än ovan
    return
Svara Avbryt
Close