NCT青少年编程能力等级测试Python编程一级-模拟卷(含答案)

Python编程挑战:水仙花数、素数判断与计费算法
本文探讨了Python编程实践,涉及水仙花数的计算,素数筛选,以及计费算法实现,包括字符串操作、条件判断、循环结构和函数应用。

参考答案在文章后边部分,请看到后半部分的答案分割线,非常感谢哦!

一、程序填空

1.编写程序,实现从键盘输入数据,数据前三位的ASCII值加2,从第四位开始ASCII值加3。

2.请在空格处填写正确的代码,使程序完善。

实现功能:绘制y=x2-2x+ 1的图像

#加载numpy模块并限简洁的别名为np

import numpy as np              

#加载matplotlib.pyplot模块并限简洁的别名为plt

import matplotlib.pyplot as plt

#x在-7到9之间,每隔0.1取一个点

x=np.arange(-7,9,0.1)          

_____ = x**2-2*x+1

plt.plot(x,________)

plt.title('y=x*x-2*x+1')

plt.xlabel('x')

plt.ylabel('y')

plt._________

3.阅读程序。阅读求水仙花数的代码并回答问题。

“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=13+53+33,请计算并输出所有三位数的水仙花数。

for n in range(100,1000):

  i=n//100

  j=n//100%10

  k=n%10

  if n==i*i*i+j*j*j+k*k*k:

print(n)

(1)//的符号作用是 _____ 。

(2)%的符号作用是 _____ 。

(3)==的符号作用是 _____ 。

(4)在代码中,变量i表示的是三位数中的 ______ 位。

(5)在代码中,变量j 表示的是三位数中的 ______ 位。

(6)在代码中,变量k表示的是三位数中的 ______ 位。

(7)在range(100,1000)这个区域内,变量n无法取到的数值是________。

4.阅读程序。分析条件语句的代码并回答问题。

(1)如果不能使用int()函数,那么变量s的类型将会变成 ______ 。

(2)如果你的期末成绩是85,你得到的评价将会是____________ 。

(3)如果你的期末成绩是55,你得到的评价将会是____________ 。

(4)如果你得到的评价是“还可以再提升”,你的期末成绩应该在_____和______之间。

(5)“程序中出现的所有else都可以替换为elif,程序效果一样”,这种说法是____(填“对”或“错”)的。

5.阅读程序。分析下列切片相关程序并回答问题。

list2=[5,6,7,8,9]

print(list2[:])

print(list2[2:])

print(list2[:2])

print(list2[1:3])

print(list2[2:4])

(1)程序第一个print的输出结果是______________。

(2)程序第二个print的输出结果是______________。

(3)程序第三个print的输出结果是______________。

(4)程序第四个print的输出结果是______________。

(5)程序第五个print的输出结果是______________。

6.阅读程序。分析有关多项式的代码并回答问题。

求1!+2!+3!+……+20!的和。

n=0

s=0

t=1

for n in range(1,21):

t*=n

s+=t

print(s)

(1)n的作用是________________。

(2)s的作用是 ______________。

(3)t的初值必须赋值为1,这是因为_________。

(4)t*=n的等价语句是  __________

(5)s+=t的等价语句是 ______。

7.完善程序。以下是计算S=1+6+11+…+101的程序代码。请你在处填写正确的语句。

s=0

k=1

while(k<=101)

__

s=0

k=1

while(k<101):

      k=k+5

      s=s+k

print(s+1)

8.调试程序。请阅读以下程序并写出运行结果。

fruites=['banana','apple','mango']

for fruit in fruites:

  print(fruit)

a=len(fruites)

print('a=',a)

_________________

9.调试程序。请阅读以下程序并写出运行结果。

#ex16.py

i=0

sum=0

while i<10:

  if i%3==0:

    sum+=i

    print(i)

    i=i+1

print('sum',sum)

 _________

10.编写程序,找到并输出100以内的素数。

11.约瑟夫问题是个有名的问题:N个人围成一圈,顺序为0,1,2,3,4,5,从0号这个人开始报数,报到2的将被杀掉,接下去重新开始报数,报到3的将被杀掉...以此类推,最后剩下一个,其余人都将被杀掉。例如N=6,被杀掉的顺序是:1,4,3,0,5;最后只剩下2这个人。

llist=

n=int(input(“请输入参与人数:”))

for i in range(0,n-1):

llist.append([i,i+1])

___________

___________

long=n

k=head

i=1

p=2

while(____ ):

    if i==p-1:

        t=llist[k][1]

        print(llist[t][0])#索引为t的删除

                  __________________

        if t==head:

                  ___________________

        i=1

        p+=1

        long=long-1

        k=llist[k][1]

        ______________

    i+=1

print(llist[head][0])

12.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,

 

13.输入三个同学的成绩,然后大到小排列。

14.冠军在A、B、C、D四位同学中。A说:“不是我”,B说:“是C”,C说:“是D”, D说:“C说的不对”,已知四人中有一人说了假话。判断出到底谁是冠军。

请在空格处填写正确的代码,使程序完善。

champion=['A','B','C','D'] #设置选手列表

for i in__________: #循环读取选手编号

    cond=(i!='A') +(i=='C') + (i=='D')+(i!='D') #查找符合条件的选手

    if cond== _____: #说真话是否是3人

        print("冠军是:",_________) #输出冠军

input("运行完毕,请按回车键退出...")

15.编写程序,实现从键盘输入数据,实现输入数据转换成大写并输出。

16.编写程序。如图所示的算法,请用Python程序写出实现该算法相应的代码。

评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青少儿编程课堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值