Avatar billede pcdl Nybegynder
11. januar 2008 - 12:21 Der er 10 kommentarer og
1 løsning

python for løkke

Nogen som ved hvad jeg skal gøre ved det her script

def sum2():
    sum=0
    for i in range(1,101):
        sum=sum+i
    print "For: "
    print sum

Det skal kun tælle sum op hvis i%2 == 0
Avatar billede nielle Nybegynder
11. januar 2008 - 12:36 #1
Sådan?

def sum2():
    sum=0
    for i in range(1,101):
        if i%2 == 0:
            sum=sum+i
    print "For: "
    print sum
Avatar billede pcdl Nybegynder
11. januar 2008 - 12:37 #2
nielle tænkte mere på om det kunne laves uden if altså så det hele stod i for løkken
Avatar billede nielle Nybegynder
11. januar 2008 - 12:45 #3
Ikke med for og range(x, y)

For-løkken i Python svare nemlig mere til en foreach-løkke i andre sprog. Og i dem har man ikke normalt en mulighed for at ”springe over”.
Avatar billede erikjacobsen Ekspert
11. januar 2008 - 13:12 #4
Prøv
    for i in range(1,101,2):
Avatar billede coderdk Praktikant
11. januar 2008 - 14:01 #5
for i in range(2,100,2):

vel? (hvis i%2==0)
Avatar billede erikjacobsen Ekspert
11. januar 2008 - 14:14 #6
;) Nå ja - det var helt utestet ...
Avatar billede pcdl Nybegynder
11. januar 2008 - 16:03 #7
coderdk smid et svar
Avatar billede coderdk Praktikant
11. januar 2008 - 16:25 #8
hehe så kun fordi jeg *ved* at erik ikke tager imod point ;P tag også nogle selv - det var ikke megen hjælp :D
Avatar billede arne_v Ekspert
12. januar 2008 - 05:09 #9
Den kan vel laves helt uden løkke !?

Forsøg:

def sum1(n1,n2):
    sum = 0
    for i in range(n1,n2):
        if i % 2 == 0:
            sum  = sum + i
    print sum
def sum2(n1,n2):
    sum = 0
    for i in range(n1 + n1%2,n2,2):
        sum  = sum + i
    print sum
def sum3(n1,n2):
    n1adj = (n1 + n1%2)/2
    n2adj = ((n2-1) - (n2-1)%2)/2
    sum = (n2adj - n1adj + 1) * (n1adj + n2adj)
    print sum
sum1(1,101)
sum2(1,101)
sum3(1,101)
sum1(7,13)
sum2(7,13)
sum3(7,13)
sum1(2,8)
sum2(2,8)
sum3(2,8)
Avatar billede pcdl Nybegynder
28. februar 2008 - 14:46 #10
lukker
Avatar billede nielle Nybegynder
28. februar 2008 - 17:50 #11
Du bad coderdk om at smide et svar - hvorfor afviser du det så og tager pointene selv?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester