第1关:求所有奇数的和
任务描述
本关任务: 任意输入两个整数a
和b
,计算[a,b]
区间内所有奇数的和并输出。
注意: 1、在同一行输入两个整数,以英文逗号,分隔;使用input()函数时,不要增加额外的提示信息。 2、确保结果输出中的区间[a,b]
中 a<b
。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出[a,b]
间所有奇数的和。
测试说明
平台会对你编写的代码进行测试:
输入1:1,10
输出1:[1,10]之间奇数的和是25
输入2:10,2
输出2:[2,10]之间奇数的和是24
输入3:-4,6
输出3:[-4,6]之间奇数的和是5
# 请在此添加代码
s=0 #s用来存储奇数的和
a,b=eval(input()) #a,b的值要求从键盘输入
########## Begin ##########
if a<=b:
res=[i for i in range(a,b+1) if i%2==1]
else:
a,b=b,a
res=[i for i in range(a,b+1) if i%2==1]
s=(sum(res))
########## End ##########
print("[{},{}]之间奇数的和是{}".format(a,b,s))
第2关:人口增长问题
任务描述
本关任务:假设A
国目前人口14
亿,人口年增长率为1%
,编写程序,计算多少年后人口达到n
亿,n
由用户输入(>14亿
)。
相关知识
为了完成本关任务,你需要掌握:无限循环的使用。
编程要求
根据提示,在右侧编辑器补充代码,计算需要经过的年数。
测试说明
平台会对你编写的代码进行测试:
测试输入: 20
预期输出: 36年
测试输入: 17.8
预期输出: 25年
# 请在此添加代码
########## Begin ##########
n=14
i=0
a=eval(input())
while a>n:
n=1.01*n
i=i+1
print(f'{i}年')
########## End ##########
第3关:用户登录V2
任务描述
本关任务: 在两行分别输入用户名和密码,当用户名为admin
且密码为123456
时,显示“登录成功
”,否则显示“登录失败
”,如果登录失败,允许最多尝试三次,三次之后程序直接退出。
编程要求
根据提示,在右侧编辑器补充代码,完成模拟用户登录的程序。
测试说明
平台会对你编写的代码进行测试:
测试输入: admin
123456
预期输出: 登录成功
测试输入: 123
1
adm
123456
qwe
123
预期输出: 登录失败
登录失败
登录失败
测试输入: admin
123
ad
123456
admin
123456
预期输出: 登录失败
登录失败
登录成功
# 请在此添加代码
########## Begin ##########
count=3
for i in range(3):
name=input("")
pw=input("")
if(name=='admin')and (pw=='123456'):
print('登录成功')
break
else:
count=count-1
print('登录失败')
########## End ##########
第4关:输出所有的水仙花数
任务描述
本关任务:编写一个程序,输出[a,b]
间所有的水仙花数。 水仙花数是指一个3
位数字,它各位数字的3
次幂之和等于它本身。如153
是一个水仙花数,因为:
153=13+53+33
如果输入的区间内没有水仙花数,则输出“无水仙花数” ####相关知识
为了完成本关任务,你需要掌握:1.如何求出各个数位上的数字,2.循环语句的熟练使用。
编程要求
根据提示,在右侧编辑器补充代码,输出所有的水仙花数。
测试说明
平台会对你编写的代码进行测试:
测试输入: 100,150
预期输出: 无水仙花数
测试输入: 100,155
预期输出: 153
测试输入: 100,999
预期输出: 153
370
371
407
# 请在此添加代码
########## Begin ##########
sum=0
base=0
a,b=map(int,input().split(","))
for x in range(a,b+1):
low=x%10
high=x//100
middle=(x//10)%10
sum=low**3+high**3+middle**3
if sum==x:
print(x)
base=1
if base==0:
print("无水仙花数")
########## End ##########
第5关:求班级平均成绩
任务描述
期末考试到了,自动化2201班的C语言老师陈老师想要把班上的考试情况统计一下。陈老师依次输入每个同学的成绩(0~100
之间),当输入成绩在0~100
之间时,继续输入下一个成绩,如果输入一个负数或大于100
的数,就表明成绩输入完毕,停止输入成绩,计算并输出班级平均分(保留2
位小数)。
输入输出示例 1.输入时不需要任何提示; 2.如果人数为0
,则输出: “人数为0” 3.如果人数大于等于1
,则输出平均值,平均分保留两位小数。
相关知识
为了完成本关任务,你需要掌握:1.如何确定循环的截止条件,2.无限循环while
的使用。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出班级平均分,结果保留2位小数。
测试说明
平台会对你编写的代码进行测试:
测试输入: 60
70
80
-1
预期输出: 班级平均成绩:70.00
测试输入: -6
预期输出: 人数为0
# 请在此添加代码
########## Begin ##########
def average_score():
score=0
count=0
total=0
while True:
score= int(input())
if score<0 or score>100:
break
total+=score
count+=1
if count==0:
print("人数为0")
else:
avg=total/count
print("班级平均成绩:%.2f" % avg)
average_score()
########## End ##########
第6关:求和
任务描述
本关任务:编写程序,从键盘输入n
的值,求
的值,结果保留9
位小数。 例如:请输入n
的值:100
则输出:sn=0.688172179
。
相关知识
为了完成本关任务,你需要掌握:for
循环的使用 。
编程要求
根据提示,在右侧编辑器补充代码,根据输入计算表达式的值,结果保留9
位小数。
测试说明
平台会对你编写的代码进行测试:
测试输入:请输入n的值:100
; 预期输出: sn=0.688172179
# 请在此添加代码
########## Begin ##########
a=eval(input("请输入n的值:"))
sum1=0
b=1
for i in range(1,a+1):
sum1=sum1+1/i*b
b=-b
print("sn={:.9f}".format(sum1))
########## End ##########
第7关:问物几何
任务描述
今有物不知其数, 三三数之剩二, 五五数之剩三, 七七数之剩二,问物几何? 本关任务:编写程序,输入一个整数n
,求1~n
之间符合以上条件数的个数。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出满足条件数的个数。
测试说明
平台会对你编写的代码进行测试:
测试输入: 10
预期输出: 一共有0个数符合条件
测试输入:1000
预期输出: 一共有10个数符合条件
# 请在此添加代码
sum=0 #sum为符合条件的数的和
########## Begin ##########
a=eval(input())
for i in range (1,a):
if i%3==2 and i%5==3 and i%7==2:
sum+=1
########## End ##########
print("一共有{}个数符合条件".format(sum))
第8关:计算数列的前n项之和(选做)
任务描述
本关任务:编写程序,有数列
,求该数列的前n项之和,其中n的值由键盘输入。
编程要求
根据提示,在右侧编辑器补充代码,计算并输出数列的值。
测试说明
平台会对你编写的代码进行测试:
测试输入1:30
预期输出1:48.84060068717216
测试输入2:100
预期输出2:162.1029798996649
# 请在此添加代码
########## Begin ##########
sum=0
a=2
b=1
n=int(input())
for i in range(n):
sum=sum+(a/b)
a,b=a+b,a
print(sum)
########## End ##########
第9关:立方尾不变(选做)
任务描述
有些数字的立方的末尾正好是该数字本身,比如1
(立方是1
)、5
(立方是125
)、24
(立方是13824
)等。题目输入一个N
(1<=N<=10000
),请计算输出1
到N
之间所有的立方尾不变数的个数。
相关知识
本任务需要学生了解字符串的知识,我们需要把数字转成字符串,并与立方的后几位进行匹配,看是否相等。
编程要求
根据提示,在右侧编辑器补充代码。
测试说明
平台会对你编写的代码进行测试:
测试输入: 1
预期输出: 一共1个
测试输入: 48
预期输出: 一共7个
# 请在此补全代码
########## Begin ##########
N=int(input()) #输入N的值
count=0 #存储满足条件数的个数
for num in range(1,N+1) : #补全语句
x= num**3 #求num的立方,并存储在变量x中
s= str(x) #将立方转换为字符串
s1=str(num) #将需要判断的数字转换为字符串
m=len(s)-len(s1) #求立方与原数字的长度差
if s[m:]==s1: #判断立方尾数与原数字是否相等
count=count+1 #满足条件,count+1
########## End ##########
print("一共{}个".format(count))