Vinnaren i pepparkakshustävlingen!
  • 1
  • 2
2017-03-08, 23:17
  #13
Medlem
EnDodTigers avatar
Citat:
Ursprungligen postat av svallerbyttan
I kodsnuttarna som finns i trådstarten är det skillnad i exekveringstid. Men om man lägger till det else-statement som TS senare medgav ha missat så blir uttrycken dock ekvivalenta.

För att återgå till ursprungsfrågan så beror det också på vilken kompilator TS använder.
Men generellt anser jag att vi som arbetar med inbyggda system fokuserar mer på denna typ av problematik.
Citera
2017-04-08, 14:13
  #14
Medlem
Citat:
Ursprungligen postat av annemil
Är dessa två kodsnuttar i praktiken samma sak?

Finns det någon skillnad eller någon fördel med att använda endera?

Kod:
var = 100
if var == 200:
   print ("do this")
   print (var)
elif var == 150:
   print ("do that")
   print (var)
elif var == 100:
   print ("do something else")
   print (var)
else:
   print ("do none of the above")
   print (var)
Kod:
var = 100
if var == 200:
   print ("do this")
   print (var)
else:
    if var == 150:
        print ("do that")
        print (var)
    
    if var == 100:
        print ("do something else")
        print (var)

    else:
        print ("do none of the above")
        print (var)

De gör samma sak ja. Exekveringen blir dock snabbare i första kodsnutten då den innehåller färre if-satser. Försök alltid få så lite if-satser och loopar som möjligt.
Citera
2017-04-08, 14:41
  #15
Medlem
inneskos avatar
Citat:
Ursprungligen postat av Townzend
De gör samma sak ja. Exekveringen blir dock snabbare i första kodsnutten då den innehåller färre if-satser. Försök alltid få så lite if-satser och loopar som möjligt.

Testa läs tråden så ser du att inget av det du skrev är korrekt.
Citera
2017-04-08, 15:18
  #16
Medlem
Citat:
Ursprungligen postat av innesko
Testa läs tråden så ser du att inget av det du skrev är korrekt.

De gör samma sak om var = 100, så jo.
Citera
2017-04-08, 15:18
  #17
Medlem
inneskos avatar
Citat:
Ursprungligen postat av Townzend
De gör samma sak om var = 100, så jo.

Men herre gud, skojar du?
Citera
2017-04-08, 16:44
  #18
Medlem
Citat:
Ursprungligen postat av innesko
Men herre gud, skojar du?

Du har inget annat att tillägga eller din lilla pajas?
Citera
2017-04-08, 17:05
  #19
Medlem
Citat:
Ursprungligen postat av Townzend
Du har inget annat att tillägga eller din lilla pajas?
Det är lika många jämförelsesteg i båda kodvarianterna.

Du försöker indirekt säga att följande pseudo-kod skulle ge annan hastighet:
Kod:
if cond1:
    ...
else:
    if cond2:
        ...
    else:
        if cond3:
            ...
        else:
            ...
än nedanstående pseudokod:
Kod:
if cond1:
    ...
elif cond2:
    ...
elif cond3:
   ...
else:
   ...

På vilket sätt upplever du att det skiljer när exekveringen "ripplar" sig igenom villkor efter villkor tills den kommer fram till det matchande villkoret eller den slutliga else-satsen? Om du skulle bygga ett logiskt träd av de två konstruktionerna - tror du det skulle skilja mellan de två träden?
Citera
  • 1
  • 2

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback