Python初学者练习:计算一个整数的各位数字之和

liftword4个月前 (02-14)技术文章38

在这篇文章中,我们将编写一个程序来计算一个整数中各位数字的之和。
示例:123:1+2+3=6

方法1:使用while循环和整除运算符“//”、取余运算符“%”来计算

这个python程序使用while循环和整除运算符“//”、取余运算符“%”来计算各位数字之和。取余运算符“%”和整除运算符“//”相结合,获取整数的各位数字。

第4行:使用取余运算符获取整数的个位数,累加到sum求和
第5行:使用整除运算符去掉整数的个位数,得到一个新的整数
第3行:循环执行,直到整数为0

方法2:使用str()和int()函数来计算

我们将使用str()是将数字转换为字符串,使用for循环来遍历字符串,使用int()将字符数字转换为整数,计算各位数字之和。

方法3:使用列表和sum()函数来计算

我们将使用整数的各位数字转换成列表,再用sum()函数求和。

第4行:将字符整数映射成数值并转换成列表。
第5行:sum()求和输出结果。

方法4:使用递归来计算

我们还可以使用递归算法定义递归函数来计算各位数字之和。

第2行:使用与方法1相同的方式,通过整除、取余来获取各位数字。

文中涉及代码:

def num_sum(num):
    return 0 if num==0 else num%10+num_sum(num//10)
num=int(input('请输入一个整数:'))
print(f"整数的各位数字之和是:{num_sum(num)}")

sum1=0
num=int(input('请输入一个整数:'))
x=str(num) 
sum1=list(map(int, x)) 
print(f"整数的各位数字之和是:{sum(sum1)}")

sum=0
num=int(input('请输入一个整数:'))
for i in str(num):
        sum+=int(i)
print(f"整数的各位数字之和是:{sum}")

sum=0
num=int(input('请输入一个整数:'))
while num!=0:
    sum+=num%10
    num//=10
print(f"整数的各位数字之和是:{sum}")

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。

相关文章

一文掌握在 Python 中将字符串转换为浮点数或整数

本教程中将介绍如何在 Python 中使用内置float()、int()函数、literal_eval()函数等,将字符串转换为浮点数 float 或整数 int。在 Python 中将字符串转换为浮...

编写程序随机产生30个1-100之间的随机整数,按5行6列的格式输出

大家好,我是皮皮。一、前言前几天在某乎上看到了一个粉丝提问,编写程序,随机产生30个1-100之间的随机整数并存入5行6列的二维列表中,按5行6列的格式输出?这里拿出来跟大家一起分享下。二、实现过程后...

Python ‘bufferobject.c’整数溢出漏洞

受影响系统:Python python不受影响系统:Python python ˂ 2.7.8描述:BUGTRAQ ID: 70089Python是一种面向对象、直译式计算机程序设计语言。Python...

python编程:判断一个正整数是奇数还是偶数

#判定一个数为奇数还是偶数#if条件判定number = eval (input("请任意输入一个正整数:")) #eval 执行一个字符串表达式,并且返回一个值if number %2 == 0:...

编程脑洞:如何用一个整数来表示一个列表?

原题 | Storing a list in an int (https://iantayler.com/2020/12/07/storing-a-list-in-an-int)作者 | Comput...

Python基础:迭代整数序列不能只知道range,原来还有这2种!

作为Python基础,迭代过程使用整数序列的频率那不是一般的高啊,新手接触for循环,range函数永远不会缺席。今天,钢铁老豆就给大家介绍一下range函数和它类似的API小伙伴们~ 学完这篇文章,...