如何使用Python提取整数的奇偶数位并分别求和
Python提取整数奇偶数位并分别求和的实现方案
你可以通过以下两种常用方法实现需求:
方法1:字符串遍历法(易读性高)
直接将整数转为字符串逐位处理,代码逻辑简单直观:
number = 468471365418971 even_sum = 0 odd_sum = 0 for digit_char in str(number): digit = int(digit_char) # 判断数位奇偶性后累加 if digit % 2 == 0: even_sum += digit else: odd_sum += digit print(f"偶数数位总和:{even_sum}") print(f"奇数数位总和:{odd_sum}")
方法2:数学取模法(无类型转换)
通过取模、整除运算逐位提取数字,不需要做字符串类型转换,求和不受数位读取顺序影响:
number = 468471365418971 even_sum = 0 odd_sum = 0 temp = number while temp > 0: # 取当前个位数字 digit = temp % 10 if digit % 2 == 0: even_sum += digit else: odd_sum += digit # 去掉已处理的个位数字 temp = temp // 10 print(f"偶数数位总和:{even_sum}") print(f"奇数数位总和:{odd_sum}")
两种方法运行后均可得到结果:偶数数位总和为40,奇数数位总和为34。
内容的提问来源于stack exchange,提问作者Natch
相关产品推荐
相关产品推荐

