第1关:按从小到大顺序输出小于n的非负整数
编程要求
根据提示,在右侧编辑器补充代码,接受一个正整数输入,在同一行依序输出小于n的非负整数。
测试说明
平台会对你编写的代码进行测试:
测试输入:
5
预期输出:
0 1 2 3 4
测试输入:
15
预期输出:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
提示:
输出不换行,print()中要使用end参数,参数值根据题目 要求设定
n=int(input())
for i in range(n):
print(i,end=' ')
第2关:根据输入数据按要求输出整数序列
编程要求
根据提示,在右侧编辑器补充代码,在三行中分别输入一个正整数(测试数据保证第二个数大于第一个数,即保证终点数据大于起点),在同一行依序输出产生的整数序列,输出时数字后加一个空格。
测试说明
平台会对你编写的代码进行测试:
测试输入:
0
100
5
预期输出:
0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80 85 90 95
提示:
输出不换行,print()中要使用end参数,参数值根据题目 要求设定
start = int(input()) # 输入一个整数表示数列起点
# 补充一条语句,输入一个整数表示数列终点
off = int(input())
# 补充一条语句,输入一个整数表示数列的步长
x=int(input())
# 输入2条语句,在一行内输出等差数列,数字后跟一个空格
for i in range(start,off,x):
print(i,end=' ')
第3关:输出小于n的正偶数的和
编程要求
根据提示,在右侧编辑器补充代码,接受一个正整数输入,输出小于这个数的所有非负偶数的和。
测试说明
平台会对你编写的代码进行测试:
测试输入:
101
预期输出:
2550
n=int(input())
s=0
for i in range(0,n,2):
s=s+i
print(s)
第4关:输出小于n的正奇数的倒数的和
编程要求
根据提示,在右侧编辑器补充代码,接受一个大于1的整数输入,输出小于这个数的所有非负奇数的倒数和。
测试说明
平台会对你编写的代码进行测试:
测试输入:
101
预期输出:
2.937774848474907
测试输入:
20
预期输出:
2.1332555301595546
提示:
range(n) 序列第一个数字是0,若用到1/i时,要用range(1, n)使首项从1开始。
n=int(input())
s=0
for i in range(1,n,2):
s=s+1/i
print(s)
第5关:输出正负交替数列的和
测试输入:
101
预期输出:
0.7803986631477527
测试输入:
20
预期输出:
0.7604599047323508
提示:
range(n) 序列第一个数字是0,若用到1/i时,要用range(1, n)使首项从1开始。
n=int(input())
result = 0 # 累加器置0
f = 1 # 符号变量初值1
for i in range(1, n, 2): # 遍历不大于100的非负整数
result = result + f * 1 / i # 将产生的每个整数依次加到累加器上
f = -f # 改变正负号
print(result)
第6关:输出正负交替数列前n项和
测试输入:
100
预期输出:
0.7828982258896384
3.1315929035585537
测试输入:
1000
预期输出:
0.7851481634599485
3.140592653839794
n=int(input())
result = 0 # 累加器置0
f = 1 # 符号变量初值1
for i in range(n): # 遍历不大于100的非负整数
result = result + f * (1 /(2* i+1)) # 将产生的每个整数依次加到累加器上
f = -f # 改变正负号
print(result)
print(4*result) # 输出结果
第7关:输出不确定项数正负交替数列的的和
编程要求
根据提示,在右侧编辑器补充代码,输入一个小于1的浮点数n,计算非负奇数的倒数正负交替运算的和,直到某一项的绝对值小于或等于n,计算该项之前(不含该项)的正负交替运算的和,并输出计算和的4倍结果。
测试说明
平台会对你编写的代码进行测试:
测试输入:
0.001
预期输出:
0.7848981638974463
3.139592655589785
测试输入:
0.00001
预期输出:
0.7853931633974454
3.1415726535897814
提示:
条件表达式1/(2*i+1)中的i在使用前要先有初值
在循环体中一定要改变i的值,使条件表达式的结果超于False
n=float(input())
result=0
f=1
i=0
while True:
result=result+f*1/(2*i+1)
f=-f
i+=1
if 1/(2*i+1)<=n:
break
print(result)
print(4*result)
第8关:百钱百鸡
编程要求
根据提示,在右侧编辑器补充代码,输入两个正整数m和n,用m枚铜钱购买n只鸡,花完全部的钱,且要求公鸡、母鸡、小鸡每样都必须有,计算公鸡、母鸡、小鸡各多少,有多个答案时分行输出。
测试说明
平台会对你编写的代码进行测试:
测试输入:
100
100
预期输出:
4 18 78
8 11 81
12 4 84
提示:
公鸡最大数量为m//5
母鸡最大数量为m//3
小鸡数量可用n-cock-hen计算
这样处理可以显著减少循环次数和循环层数,提高计算效率
m=int(input()) #钱
n=int(input()) #总数
a=m//5
b=m//3
for cock in range(1,a +1): # 从1 开始遍历可能满足要求的公鸡数量
for hen in range(1,b+1):
chicken=n-cock-hen # 从1 开始遍历可能满足要求的母鸡数量
if cock + hen + chicken == n and 5*cock + 3*hen + chicken// 3 ==m and chicken % 3 == 0:
print(cock,hen,chicken)
第9关:m钱n鸡
编程要求
根据提示,在右侧编辑器补充代码,在两行中分别输入两个正整数m和n,用m枚铜钱购买n只鸡,铜钱必须用完一枚不剩(不许贪污),且要求公鸡、母鸡、小鸡每样都必须有,计算公鸡、母鸡、小鸡各多少?
若有解:
输出公鸡数量最少的一组结果,按鸡翁数、鸡母数、鸡雏数的顺序输出,数字之间用空格分隔(若公鸡数量最少时有多组解,仅输出其中母鸡数量最少的一组);
若无解:
输出“无解”
测试说明
平台会对你编写的代码进行测试:
测试输入:
100
100
预期输出:
4 18 78
测试输入:
1000
200
预期输出:
无解
提示:
1.用两层循环结合break和continue完成:
m=int(input()) #钱
n=int(input()) #总数
flag=0
for cock in range(1,m//5):
for hen in range(1,m//3):
chicken=n-cock-hen
if chicken<=0:
print("无解")
flag=1
break
if cock+hen+chicken==n and hen*3+cock*5+chicken//3==m and chicken%3==0:
print(cock,hen,chicken)
flag=1
break
if flag==1:
break
if flag==0:
print("无解")