输入一个正整数m(20<=m<=100),计算 11+12+13+...+m 的值。
输入格式:
在一行输入一个正整数m。
输出格式:
在一行中按照格式“sum = S”输出对应的和S.
输入样例:
在这里给出一组输入。例如:
90
输出样例:
在这里给出相应的输出。例如:
sum = 4040
代码如下:
m=int(input()) #输入m的值
a=0 #赋予a的值为0
if 20<=m<=100: #判断m的值是否在要求范围内
for b in range(11,m+1): #在要求范围内通过range()函数返回11-(m+1)的对象赋予b
a += b #求和
print("sum = ",a) #输出求和后的值a
else:
print("输入数字不符合要求") #不在要求范围内,输出"输入数字不符合要求"
range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表。
函数语法
range(stop)
range(start, stop[, step])
参数说明:
start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);
stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5
step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)
在本题中使用的range(11,m+1),表示起始从11开始加,加到m+1结束,默认的进位是1,所以就是11+12+13...+(m+1)
当然这是一个复杂的方法,如果要简单一点
m=int(input()) #输入
a=sum(range(11,m+1)) #求和
print("sum = ",a) #输出
这样就可以了