第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

开始你的任务吧,祝你成功!

a,b = eval(input())
if a > b:
    a,b = b,a
sum = 0
for i in range(a,b+1):
    if i%2 != 0:
        sum += i

print(f"[{a},{b}]之间奇数的和是{sum}")

第2关:人口增长问题

任务描述
本关任务:假设A国目前人口14亿,人口年增长率为1%,编写程序,计算多少年后人口达到n亿,n由用户输入(>14亿)。

相关知识
为了完成本关任务,你需要掌握:无限循环的使用。

编程要求
根据提示,在右侧编辑器补充代码,计算需要经过的年数。

测试说明
平台会对你编写的代码进行测试:

测试输入:
20

预期输出:
36年

测试输入:
17.8

预期输出:
25年

开始你的任务吧,祝你成功!

future = float(input())
now = 14
n = 0
while now < future:
    now *= 1.01
    n += 1
print(f'{n}年')

第3关:用户登录V2

任务描述
本关任务:
 在两行分别输入用户名和密码,当用户名为admin且密码为123456时,显示“登录成功”,否则显示“登录失败”,如果登录失败,允许最多尝试三次,三次之后程序直接退出。

编程要求
根据提示,在右侧编辑器补充代码,完成模拟用户登录的程序。

测试说明
平台会对你编写的代码进行测试:

测试输入:
admin
123456

预期输出:
登录成功

测试输入:
123
1
adm
123456
qwe
123
预期输出:
登录失败
登录失败
登录失败
测试输入:
admin
123
ad
123456
admin
123456

预期输出:
登录失败
登录失败
登录成功

开始你的任务吧,祝你成功!

i = 0
while 1:
    user = input()
    pswd = input()
    i += 1
    if (user == "admin" and pswd == "123456"):
        print("登录成功")
        break
    else:
        print("登录失败")
    if i == 3:
        break

第4关:输出所有的水仙花数

任务描述
本关任务:编写一个程序,输出[a,b]间所有的水仙花数。
水仙花数是指一个3位数字,它各位数字的3次幂之和等于它本身。如153是一个水仙花数,因为:

153=1 
3
 +5 
3
 +3 
3
 

如果输入的区间内没有水仙花数,则输出“无水仙花数”
####相关知识

为了完成本关任务,你需要掌握:1.如何求出各个数位上的数字,2.循环语句的熟练使用。

编程要求
根据提示,在右侧编辑器补充代码,输出所有的水仙花数。

测试说明
平台会对你编写的代码进行测试:

测试输入:
100,150
预期输出:
无水仙花数

测试输入:
100,155
预期输出:
153

测试输入:
100,999
预期输出:
153
370
371
407
开始你的任务吧,祝你成功!

A,B = eval(input())
sum = 0
if A < 100 or B < 100:
    print("无水仙花数")
else:
    for num in range(A, B+1):
        a = num // 100
        b = (num // 10) % 10
        c = num % 10
        if a ** 3 + b ** 3 + c ** 3 == num:
            print(num)
            sum += 1

if sum == 0:
    print("无水仙花数")

第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

开始你的任务吧,祝你成功!

sum = 0
num = 0
while 1:
    score = float(input())
    if score < 0 or score > 100:
        break
    sum += score
    num += 1

if num == 0:
    print("人数为0")
else:
    print(f"班级平均成绩:{sum/num:.2f}")

第6关:求和

任务描述
本关任务:编写程序,从键盘输入n的值,求的值,结果保留9位小数。
例如:请输入n的值:100
则输出:sn=0.688172179

相关知识
为了完成本关任务,你需要掌握:for循环的使用 。

编程要求
根据提示,在右侧编辑器补充代码,根据输入计算表达式的值,结果保留9位小数。

测试说明
平台会对你编写的代码进行测试:

测试输入:请输入n的值:100;
预期输出:
sn=0.688172179

开始你的任务吧,祝你成功!

n = int(input("请输入n的值:"))
Sn = 0
for i in range(1, n + 1):
    if i % 2 != 0:
        Sn += 1 / i
    else:
        Sn -= 1 / i

print(f"sn={Sn:.9f}")

第7关:问物几何

任务描述
今有物不知其数, 三三数之剩二, 五五数之剩三, 七七数之剩二,问物几何?
本关任务:编写程序,输入一个整数n,求1~n之间符合以上条件数的个数。

编程要求
根据提示,在右侧编辑器补充代码,计算并输出满足条件数的个数。

测试说明
平台会对你编写的代码进行测试:

测试输入:
10 
预期输出:
一共有0个数符合条件

测试输入:1000
预期输出:
一共有10个数符合条件

开始你的任务吧,祝你成功!

num = int(input())
sum = 0
for i in range(7, num + 1):
    if i % 3 == 2 and i % 5 == 3 and i % 7 == 2:
        sum += 1

print(f"一共有{sum}个数符合条件")

第8关:计算数列的前n项之和(选做)

任务描述
本关任务:编写程序,有数列,求该数列的前n项之和,其中n的值由键盘输入。

编程要求
根据提示,在右侧编辑器补充代码,计算并输出数列的值。

测试说明
平台会对你编写的代码进行测试:

测试输入1:30
预期输出1:48.84060068717216

测试输入2:100
预期输出2:162.1029798996649

开始你的任务吧,祝你成功!

def FIB(n):
    a = 1
    b = 1
    c = 1
    if n == 1 or n == 2:
        return 1;
    while n > 2:
        c = a + b
        a = b
        b = c
        n-=1

    return c


fenzi = 3
fenmu = 2

sum = 0;
n = int(input())
for i in range(n):
    sum += FIB(fenzi) / FIB(fenmu)
    fenzi += 1
    fenmu += 1
print(sum)

第9关:立方尾不变(选做)

任务描述
  有些数字的立方的末尾正好是该数字本身,比如1(立方是1)、5(立方是125)、24(立方是13824)等。题目输入一个N(1<=N<=10000),请计算输出1到N之间所有的立方尾不变数的个数。

相关知识
   本任务需要学生了解字符串的知识,我们需要把数字转成字符串,并与立方的后几位进行匹配,看是否相等。

编程要求
根据提示,在右侧编辑器补充代码。

测试说明
平台会对你编写的代码进行测试:

测试输入:
1

预期输出:
一共1个

测试输入:
48
预期输出:
一共7个

开始你的任务吧,祝你成功!

# 请在此补全代码
########## Begin ##########
N=eval(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+=1                    #满足条件,count+1

########## End ##########  
print("一共{}个".format(count))

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐