3 svar
151 visningar
nyckelpigan17 behöver inte mer hjälp
nyckelpigan17 84
Postad: 9 okt 2022 22:53

Kan någon förklara detta med ord

Hej, kan någon förklara dessa kodstycken som hör ihop med ord.

 

Fermatrix 7841 – Fd. Medlem
Postad: 10 okt 2022 06:38

Vem har skrivit koden? Om det är du vilket jag antar (?) Så borde du förklara hur du tänkt och varför du skrivit som du har.

Om det är din lärare så är det bättre om du först försöker så hjälper vi dig därpå. 

Ett tips i vilket fall är att kika på if_flag. Den är false till att börja med, sedan kör loopen så länge !if_flag är true, men när bryts loopen? 

nyckelpigan17 84
Postad: 10 okt 2022 09:27

Min lärare har skrivit den, jag förstår ju att om val av choice är 1 så returnerar den none om den ej är så returnerar den bara ett flyttal av choice och sedan hanterar funktionen valueerrors, matas det in ett valueerror så returneras none. I nästa funktion så står det variabeln if flag är false och så länge den ej är false så kommer den be om ett val av q, den kommer då anropa felhanteringen för att kolla om det finns ett fel? ellerhur och sedan om det nu är att choice av q är none så anropas variabeln if flag annars om det ej är None så tar vi oss ur loopen. Det jag inte förstår är varför if flag anropas under if choice_q == None, är det för att loopen ska kunna gå igång igen?

Fermatrix 7841 – Fd. Medlem
Postad: 10 okt 2022 17:05

Ja, ungefär. Saken är det att koden är horribel. 

Varför har vi en flagga? Varför sätts den till falde inuti loopen när den aldrig sätts till true? Meningslöst.

Om vi har en break så kan vi istället skapa en oändlig while loop. Manage_zero låter som en funktion som tar hand om nolldivision(?) men det sker ju aldrig någon division. Inte heller tar den hand om fallet då choice =0, utan verkar endast fortsätta om choice =1. 

Jag tycker hela loopen är meningslös och ser intr alls vad den ska göra. Kanske ska du tolka konstig kod som har missledande namn på funktioner, slösar onödigt med minne i stacken och uppfyller inget syfte? 

Svara
Close