[informatica] python code
Moderators: ArcherBarry, Fuzzwood
-
- Berichten: 13
[informatica] python code
Weet er iemand wat er fout is met mijn code in python
De opdracht:
(zie foto)
Mijn code:
import math
r = float(input("geef r "))
R = float(input("geef R "))
n = 0.83 * ((R**2)/(r**2)) - 1.9
Or = math.pi * (r**2)
OR = math.pi * (r**2)
beddekingsgraad = math.floor(n) * (Or / OR)
P = beddekingsgraad * 100
print(f'{math.floor(n)} smaller circles cover {P:.2f}% of the larger circle')
De opdracht:
(zie foto)
Mijn code:
import math
r = float(input("geef r "))
R = float(input("geef R "))
n = 0.83 * ((R**2)/(r**2)) - 1.9
Or = math.pi * (r**2)
OR = math.pi * (r**2)
beddekingsgraad = math.floor(n) * (Or / OR)
P = beddekingsgraad * 100
print(f'{math.floor(n)} smaller circles cover {P:.2f}% of the larger circle')
-
- Technicus
- Berichten: 1.165
Re: [informatica] python code
Wij kunnen het wel oplossen, maar je hebt er meer aan als je zelf leert zoeken.
Krijg je een foutmelding? Zo ja, welke?
Wat heb je zelf al geprobeerd om de fout te vinden?
Je kan bijvoorbeeld na elke regel een print statement zetten, waarmee je controleert of je berekening/invoer gelukt is.
Daarnaast is handig om je code op het forum tussen [ code ] tags te zetten (maar dan zonder spaties).
Dat leest makkelijker. Dus:
[ code] (zonder spatie)
[ /code] (zonder spatie)
Krijg je een foutmelding? Zo ja, welke?
Wat heb je zelf al geprobeerd om de fout te vinden?
Je kan bijvoorbeeld na elke regel een print statement zetten, waarmee je controleert of je berekening/invoer gelukt is.
Daarnaast is handig om je code op het forum tussen [ code ] tags te zetten (maar dan zonder spaties).
Dat leest makkelijker. Dus:
[ code] (zonder spatie)
Code: Selecteer alles
Hier staat dan je code
Laatst gewijzigd door CoenCo op zo 27 sep 2020, 13:03, 1 keer totaal gewijzigd.
- Berichten: 2.906
Re: [informatica] python code
Je doet hier twee keer hetzelfde. Die tweede lijn moet natuurlijk zijn;
OR = math.pi * (R**2)
Laatst gewijzigd door Math-E-Mad-X op zo 27 sep 2020, 13:01, 2 keer totaal gewijzigd.
- Moderator
- Berichten: 9.982
Re: [informatica] python code
Vertel waarom de code fout is.
Krijg je een foutmelding?
Of werkt het programma maar is/zijn de uitkomst(en) fout?
Hoe weet je dan dat de uitkomst(en) fout zijn?
Krijg je een foutmelding?
Of werkt het programma maar is/zijn de uitkomst(en) fout?
Hoe weet je dan dat de uitkomst(en) fout zijn?
-
- Berichten: 13
Re: [informatica] python code
Ahn klopt dit was de fout, dankjewel!Math-E-Mad-X schreef: ↑zo 27 sep 2020, 13:00Je doet hier twee keer hetzelfde. Die tweede lijn moet natuurlijk zijn;
OR = math.pi * (R**2)
-
- Berichten: 13
Re: [informatica] python code
Ook bedankt Xilvo en CoenCo voor jullie hulp de fout was dat ik een r ipv R had geschreven
- Berichten: 2.906
Re: [informatica] python code
Graag gedaan!
Overigens ben ik het eens met CoenCo dat het eigenlijk beter is als je zelf probeert uit te zoeken waar het mis gaat, bijvoorbeeld door na elke regel het tussenresultaat te printen.
Overigens ben ik het eens met CoenCo dat het eigenlijk beter is als je zelf probeert uit te zoeken waar het mis gaat, bijvoorbeeld door na elke regel het tussenresultaat te printen.
-
- Berichten: 7.068
Re: [informatica] python code
Ik denk dat in dit geval de belangrijke tip is: Kies betekenisvolle variabele-namen. r, R, Or en OR lijken enorm op elkaar. Aan het volgende stukje code is bijvoorbeeld veel beter te zien dat er iets raars gebeurt:
Dit wordt belangrijker naarmate je grotere stukken code hebt (of langer je eigen code niet hebt gezien). Waar precies de grens zit tussen langere namen en te lange namen is iets dat altijd wel een mysterie zal blijven.
Code: Selecteer alles
oppervlakKleineCirkel = math.pi * (radiusKleineCirkel**2)
oppervlakGroteCirkel = math.pi * (radiusKleineCirkel**2)
-
- Technicus
- Berichten: 1.165
Re: [informatica] python code
Waar de grens precies zit is misschien een mysterie, maar dit voorbeeld zit wel heel ver over de grens van wat handig is.EvilBro schreef: ↑ma 28 sep 2020, 10:57 Ik denk dat in dit geval de belangrijke tip is: Kies betekenisvolle variabele-namen. r, R, Or en OR lijken enorm op elkaar. Aan het volgende stukje code is bijvoorbeeld veel beter te zien dat er iets raars gebeurt:Dit wordt belangrijker naarmate je grotere stukken code hebt (of langer je eigen code niet hebt gezien). Waar precies de grens zit tussen langere namen en te lange namen is iets dat altijd wel een mysterie zal blijven.Code: Selecteer alles
oppervlakKleineCirkel = math.pi * (radiusKleineCirkel**2) oppervlakGroteCirkel = math.pi * (radiusKleineCirkel**2)
Wat nog veel belangrijker is. "or" is een ingebouwde functie, en variabelen die teveel op interne functies lijken, moet je zowiezo proberen te vermijden.