เมื่อต้องการหาผลรวมของหลักในตัวเลขโดยไม่ใช้ Recursion สามารถใช้ตัวดำเนินการ '%', '+', '//' ได้
ตัวอย่าง
def sum_of_digits(my_num):
sum_val = 0
while my_num != 0:
sum_val = sum_val + (my_num % 10)
my_num = my_num // 10
return sum_val
my_num = 12345671
print("The number is : ")
print(my_num)
print("The method to calculate sum of digits is being called...")
print("The sum of " + str(my_num) + " is : ")
print(sum_of_digits(my_num))
ผลลัพธ์
The number is : 12345671 The method to calculate sum of digits is being called... The sum of 12345671 is : 29
คำอธิบาย
- กำหนดเมธอด 'sum_of_digits' รับตัวเลขเป็นพารามิเตอร์
- กำหนด sum = 0 เริ่มต้น
- หารตัวเลขด้วย 10 เศษที่ได้บวกเข้ากับ sum
- หารตัวเลขเอาส่วนเต็มด้วย 10 กำหนดให้ตัวเลขเดิม
- คืนค่า sum จากฟังก์ชัน
- กำหนดตัวเลข และแสดงบนคอนโซล
- เรียกเมธอดส่งตัวเลขเป็นพารามิเตอร์
- แสดงเอาต์พุทบนคอนโซล