15 svar
125 visningar
Sebbesilva behöver inte mer hjälp
Sebbesilva 46
Postad: 22 mar 13:53 Redigerad: 25 mar 09:55

summa

Hade gärna  behövt hjälp med denna uppgift då jag sitter fast. Är nybörjare och uppskattar all hjälp jag kan få, tack!

Hej och välkommen till PU!

Jag har inte provkört ditt program, men ser en sak direkt:

Du sätter k=7 och går sedan in i din while-loop. Där räknar du upp k med +1.

Vilket är då ditt första värde på k som du använder för din summa?

Sebbesilva 46
Postad: 22 mar 14:23

Så om jag skriver k= k + 7 borde det bli rätt? Eller tänker jag fel?

I så fall kommer k att öka med 7 för varje varv i loopen. Är det vad du vill skall hända?

Sebbesilva 46
Postad: 22 mar 15:34
sictransit skrev:

I så fall kommer k att öka med 7 för varje varv i loopen. Är det vad du vill skall hända?

Nej det har du rätt i. Jag förstår inte riktigt vad jag ska göra. Har du några tips?

Du vill alltså summera 1ln 7+1ln 8+... så länge som summan är <= 121.

Jag tycker spontant koden ser bra ut. Har du skrivit den själv?

Då måste k=7 första gången du gör summa=summa+...

Precis på raden innan ökar du k med +1.

Vilket värde skall du sätta k till initialt, alltså på rad 3 i din kod?

Sebbesilva 46
Postad: 22 mar 16:13

är k då 1/ln(7)? Jag tog koden från ett exempel vi hade och sen skrev jag om den för att den skulle passa uppgiften.

Sebbesilva 46
Postad: 22 mar 16:19
Sebbesilva skrev:

är k då 1/ln(7)? Jag tog koden från ett exempel vi hade och sen skrev jag om den för att den skulle passa uppgiften.

import numpy as np

summa=0

k=1/np.log(7)

while summa <= 121:

k= k+1

summa= summa + (1/np.log(k))

print(k)

om jag skriver koden på detta viset?

Laguna 30471
Postad: 22 mar 16:21

Nej, k ska vara 7 första gången du inkrementerar summa.

Sebbesilva 46
Postad: 22 mar 16:43 Redigerad: 22 mar 16:51

då vet jag inte hur jag ska göra. Har du fler tips?

Laguna 30471
Postad: 22 mar 16:51

Tidigare hade du k=7 och när du gjorde k=k+1 blev k 8.

Du vill att k ska bli 7 i stället. Vad ska k vara före k=k+1 då?

Sebbesilva 46
Postad: 22 mar 16:53

6?

Laguna 30471
Postad: 22 mar 16:54

Just det.

Sebbesilva 46
Postad: 22 mar 16:56

import numpy as np

summa=0

k=6

while summa <= 121:

k= k+1

summa= summa + (1/np.log(k))

print(k)

så detta är alltså rätt?

Sebbesilva skrev:

import numpy as np

summa=0

k=6

while summa <= 121:

k= k+1

summa= summa + (1/np.log(k))

print(k)

så detta är alltså rätt?

Strängt taget, som du klistrat in koden nu (inte formaterad som programkod) skulle den inte ge rätt resultat. I python är indentering viktig. Annars tycker jag den ser vettig ut. Jag har inte beräknat summan själv. Får du rätt svar om du kör den? Du verkar ha något formulär som tycker 654 är fel.

Sebbesilva 46
Postad: 22 mar 17:10

det blev rätt, tack för hjälpen alla!!

Svara
Close