Skrivet av KARNOU:
Jag kan inte Python men du kan använda heltalsdivision istället.
Exempel stulet från Tompin:
14/3 == 4.66...7
14//3 == 4 <-- det här är heltalsdivision i Python
En liten kommentar:
x/y: x och y är int, men svaret blir en float (även om svaret inte har några decimaler).
x//y: Om x och y är int, blir svaret int. Är x eller y (eller båda) en float, blir svaret en float. Svaret har dock aldrig några decimaler.
En int är alltid ett heltal. En float kan ha decimaler och har talet inga decimaler står det ändå .0 på slutet så att man ska veta att det är en float.
Antag att du har 6 dl mjöl. Det går åt 2.5 dl mjöl till en sats. Skriver du 6//2.5, blir svaret alltså 2.0 och det ser lite fult ut med decimaler här.
min(2.0, 3, 4) blir 2.0, alltså en float.
---
En annan kommentar:
Du skriver "int(input("Hur många ägg finns det? "))" men detta kan ge felmeddelanden om användaren skriver in konstiga saker.
>>> int(input("Hur många ägg finns det? "))
Hur många ägg finns det? Fem stycken!
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: 'Fem stycken!'
>>> int(input("Hur många ägg finns det? "))
Hur många ägg finns det? 1.5
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '1.5'
>>> int(input("Hur många ägg finns det? "))
Hur många ägg finns det? 5.0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for int() with base 10: '5.0'
>>> int(input("Hur många ägg finns det? "))
Hur många ägg finns det? 5
5
Tänk även att programmet accepterar att du skriver in negativa tal. T.ex. kan man ange att man har -5 ägg.
I och med att detta är ett av dina första program, kanske inte sådana här småsaker gör så mycket, bara du har koll på att det kan bli konstigt ibland.