12
การแบ่ง Python
ฉันพยายามทำให้ชุดตัวเลขเป็นปกติจาก -100 ถึง 0 เป็นช่วง 10-100 และมีปัญหาเพียงเพื่อสังเกตว่าแม้จะไม่มีตัวแปรเลย แต่ก็ไม่ได้ประเมินวิธีที่ฉันคาดหวังไว้: >>> (20-10) / (100-10) 0 การแบ่งลอยไม่ทำงาน: >>> float((20-10) / (100-10)) 0.0 หากด้านใดด้านหนึ่งของการหารถูกเหวี่ยงให้ลอยมันจะทำงาน: >>> (20-10) / float((100-10)) 0.1111111111111111 แต่ละด้านในตัวอย่างแรกกำลังประเมินเป็น int ซึ่งหมายความว่าคำตอบสุดท้ายจะถูกส่งไปยัง int เนื่องจาก 0.111 น้อยกว่า. 5 จึงปัดเศษเป็น 0 ในความคิดของฉันไม่โปร่งใส แต่ฉันเดาว่าเป็นอย่างนั้น มีคำอธิบายอย่างไร?
134
python
math
python-2.x