4 svar
159 visningar
Juljo är nöjd med hjälpen
Juljo 9
Postad: 17 jul 20:03

Skriv ett program som löser ekvationen zn=a+b∙i

Hejsan! 

Har en fått en uppgift som lyder såhär:  Skriv ett program som löser ekvationen zn=a+b∙i där a, b reella tal och n är ett positivt heltal. Användaren av programmet ska kunna välja talen n, a och b själv.

 

Har börjat själv och prövat koden men känns som att den inte skriver rätt svar så måste nog gjort något fel i koden? Första gången jag kodar något på riktigt så skulle behöva all hjälp jag kan få :) 

Nyttjade inte atan2 sen för fattar inte hur eller vad man skulle skriva för två olika kommandon som den ville ha.

Bifogar en bild av vad jag gjort hittills:

Tacksam för all hjälp jag kan få :)

Laguna Online 29599
Postad: 17 jul 20:11

Jag vet inte när programmet gör fel och när det gör rätt, men a och b skulle få vara reella tal.

Du räknar ut v och på nästa rad sätter du v till pi/2. Är det meningen?

Calle_K 2148
Postad: 17 jul 20:16

Din while loop bör du göra om till en for-loop eftersom att du vet antalet iterationer.

Sista print-satsen bör väl vara utanför loopen.

v=math.pi/2 bör väl vara i en  elseif-sats.

Juljo 9
Postad: 17 jul 20:25

1. Hade tidigare skrivit elif a==0:  mellan båda v men fick felmeddelande på elif när jag försökte köra koden. så tog bara bort hela men kan säkert vara fel. 

2.  Säkert dum fråga men hur gör man det till en for-loop?  Och vad menas med utanför loopen? 

Calle_K 2148
Postad: 17 jul 21:01

En for-loop är en while-loop, men med ett förbestämt antal iterationer. Det funkar att använda en while här men eftersom att du vet antalet iterationer kan du köra en for (och på så sätt slippa introducera variabeln k samt slippa utföra operationen k=k+1). For-loopen kommer automatiskt uppdatera indexet k för varje iteration.

Just nu printar du ut meddelandet en gång för varje iteration, gissar att du bara vill skriva ut det slutgiltiga svaret.

Svara Avbryt
Close