重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
要求n的位数count和各位数之和s,可以使用Python中内置的函数len()和sum()来实现。
成都创新互联专注于四平企业网站建设,成都响应式网站建设,成都做商城网站。四平网站建设公司,为四平等地区提供建站服务。全流程按需求定制设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
例如,对于数字12345,可以这样写:
n = 12345
count = len(str(n))
s = sum(int(i) for i in str(n))
在这个例子中,count的值为5,因为数字12345有5位;s的值为15,因为1+2+3+4+5=15。
需要注意的是,len()函数只能用于求字符串的长度,因此需要先把数字n转换为字符串。此外,sum()函数默认求的是序列中所有元素的和,因此需要使用列表推导式来把n的各个位数转换为整数再求和。
#求和函数
def my_sum(n):
result = 0
# range(start, stop, step): start默认为0 step默认为1 都可以省略。这里因为从1开始加,start传入1
for i in range(1, n + 1):
for j in range(1, i + 1):
result += j
return result
while(True):
# 将用户输入转为int,如果输入的不是数字,系统异常
n = int(input("请输入一个正整数:"))
if (n 0):
print("求和结果是:")
print(my_sum(n))
else:
print("输入的不是正整数")
continue
可以使用for循环来实现,代码如下:
s = 0
for i in range(1, 101):
s += 1/i
print(s)
这样就可以得到 1/1 + 1/2 + ... + 1/100 的和了。
或者使用sum()函数和生成器表达式
s = sum(1/i for i in range(1, 101))
print(s)
或者使用numpy库
import numpy as np
s = np.sum(1/np.arange(1,101))
print(s)
可以使用ascii码表来判断,小写字母的ascii码是97-122,大写字母的ascii码是65-90.
代码
运行结果:
运行结果
附ascii码表:
ascii码表