NCTPython编程一级模拟卷2含答案word.docx
《NCTPython编程一级模拟卷2含答案word.docx》由会员分享,可在线阅读,更多相关《NCTPython编程一级模拟卷2含答案word.docx(13页珍藏版)》请在冰豆网上搜索。
NCTPython编程一级模拟卷2含答案word
NCT-Python编程一级-模拟卷2(含答案word
一、选择题
1.python中表达式4**3=()。
A.12B.1C.64D.7
2.在Python中,设a=2,b=3,表达式a=3值是()
A.1B.0C.TrueD.False
3.设a=2,b=5,在python中,表达式a>bAndb>3的值是()
A.FalseB.TrueC.-1D.1
4.如下Python程序段
x=2
print(x+1)
print(x+2)
运行后,变量x的值是()
A.2B.3C.5D.
5.下列Python程序段运行的结果是()
x=0
foriinrange(1,20,3):
x=x+i
print(x)
A.80B.190C.70D.210
6.在Python中,数据的输入是通过()来实现的。
A.input()函数B.print()函数C.bool()函数D.abs()函数
7.下列Python程序段运行的结果是()。
i=0
sum=0
whilei<10:
ifi%3==0:
sum+=i
i+=1
print("sum=",sum)
A.sum=9B.sum=10C.sum=18D.sum=19
8.下列Python程序段的运行结果是()
i=0
sum=0
whilei<10:
ifi%2==0:
sum+=i
i+=1
print(‘sum=’,sum)
A.sum=18B.sum=20C.sum=22D.sum=30
9.Python中,可以输出helloworld的是()
A.printf(“helloworld”)
B.output(“helloworld”)
C.Print(“hello+world”)
D.print(“helloworld”)
10.下列选项中,不能作为python程序变量名的是()
A.abcB.abc123C.123abcD.abc__123
11.已知字符串变量x的值是“H”,字符“A”的ASCII值是65,则python表达式chr(ord(x)+2)的值是()
A.‘I’B.‘J’C.73D.74
12.关于python程序设计语言,下列说法不正确的是()。
A.python源文件以***.py为扩展名
B.python的默认交互提示符是:
>>>
C.python只能在文件模式中编写代码
D.python具有丰富和强大的模块
13.关于python程序设计语言,下列说法不正确的是()
A.python是一种解释型、面向对象的计算机程序设计语言
B.python支持Windows操作系统,但不支持Linux系统
C.python源文件以***.py为扩展名
D.python文件不能直接在命令行中运行
14.下列Python表达式的值不是2的是()。
A.3%2B.5//2C.1*2D.1+3/3
15.下列选项中,可以作为Python程序变量名的是()
A.a/bB.abC.a+bD.a-b
二、程序填空
16.(项目情境)递归就是自己调用自己,它是设计和描述算法的一种有力工具,常常用来解决比较复杂的问题。
为求解规模为N的问题,设法将它分解成规模较小的问题,从小问题的解容易构造出大问题的解,并且这些规模问题较小的问题也能采用同样的分解方法,分解成规模更小的问题,并能从这些更小问题的解构造出规模较大问题的解。
一般情况下,规模N=1时,问题的解是已知的。
已知:
从1到n的连续自然数相乘的积、叫做阶乘、用符号n!
表示。
如5!
=1×2×3×4×5,规定0!
=1。
我们用递归算法可以较容易求n的阶乘。
求n的阶乘算法可以描述如下:
n!
=n*(n-1)!
(n-1)!
=(n-1)*(n-2)!
(n-2)!
=(n-2)*(n-3)!
2!
=2*1!
1!
=0!
0!
=1
如果把n!
写成函数形式,即f(n),f(n)=n*f(n-1)。
如f(5)就是表示5!
,求5!
的过程可以写成如下形式:
f(5)=5*f(4)f(4)=4*f(3)f(3)=3*f
(2)f
(2)=2*f
(1)f
(1)=1
(问题求解)在python中用递归算法求1!
+2!
+……+n!
(n的值为整数,从键盘输入)。
请阅读如下程序,在空白处填写适当的表达式或语句,使程序完整。
deff(n):
ifn==0:
return1
else:
return_________
s=0
n=int(input("请输入n:
"))
foriin_______:
s=________
print(s)
17.辗转相除法,又称欧几里德算法,用于计算两个正整数m、n的最大公约数。
它是已知最古老的算法,其可追溯至公元前300年前。
辗转相除法的算法步骤是,对于给定的两个正整数m、n(m>n),用m除以n得到余数r,若余数r不为0,就将n和r构成新的一对数(m=n,n=r),继续上面的除法,直到余数为0,这时m就是原来两个数的最大公约数。
因为这个算法需要反复进行除法运算,故被形象地命名为“辗转相除法”。
小曲设计了辗转相除法的算法,请根据下面算法回答问题。
描述一
描述二
描述三
①输入两个正整数m,n(m>n);
②计算m除以n所得的余数r;
③m=n,n=r;
④若r=0,则m,n的最大公约数等于m;否则转到步骤②;
⑤输出最大公约数m;
⑥结束。
(1)描述一是________描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
(2)在描述三中代码4到6行作用是__________。
(3)在描述三程序设计中,补充代码第8行划线处为__________。
18.(最大公约数)用辗转相除法求两个正整数的最大公约数。
代码如下:
defgcd(m,n):
r=
whiler!
=0:
m=n
n=
return
a=int(input(‘请输入a的值:
’))
b=int(input(‘请输入b的值:
’))
print(‘最大公约数是:
')
填空:
________________________________________
19.请编写一个密码登陆系统,接收用户从键盘输入的密码和你自己的密码进行比对,如果正确就显示“恭喜你进入系统”如果不正确让用户重新输入,有三次机会。
20.计算机解决问题的过程为“分析问题——设计算法(流程图)——编写程序——调试程序”,
请输入以下代码,自己输入数据运行,结果截图提交
21.冠军在A、B、C、D四位同学中。
A说:
“不是我”,B说:
“是C”,C说:
“是D”,D说:
“C说的不对”,已知四人中有一人说了假话。
判断出到底谁是冠军。
请在空格处填写正确的代码,使程序完善。
champion=['A','B','C','D']#设置选手列表
foriin__________:
#循环读取选手编号
cond=(i!
='A')+(i=='C')+(i=='D')+(i!
='D')#查找符合条件的选手
ifcond==_____:
#说真话是否是3人
print("冠军是:
",_________)#输出冠军
input("运行完毕,请按回车键退出...")
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.C
【详解】
本题考查的是python中表达式相关知识。
在Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故选项C正确。
解析:
C
【详解】
本题考查的是python中表达式相关知识。
在Python算数运算中,*代表乘法,**代表乘方,故4**3=4*4*4=64,故选项C正确。
2.C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
解析:
C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
3.A
【详解】
本题主要考查Python表达式的运算。
a=2,b=5,a>b值为False,b>3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>bAndb>3的值是F
解析:
A
【详解】
本题主要考查Python表达式的运算。
a=2,b=5,a>b值为False,b>3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>bAndb>3的值是False,故本题选A选项。
4.A
【详解】
本题主要考查Python程序的执行。
x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
x=2没有发生改变,只是输出x+1、x+2的值,故本题选A选项。
5.C
【详解】
本题主要考查Python程序的执行。
变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。
解析:
C
【详解】
本题主要考查Python程序的执行。
变量i的范围是从1~20,每次递增3,故x=0+1+4+7+10+13+16+19=70,输出x为70,故程序段运行的结果是70,故本题选C选项。
6.A
【详解】
本题主要考查Python输入函数。
在Python中,input()是输入函数,print()是输出打印函数,bool()函数用于判断真假,abs()求绝对值函数,故本题选A选项。
解析:
A
【详解】
本题主要考查Python输入函数。
在Python中,input()是输入函数,print()是输出打印函数,bool()函数用于判断真假,abs()求绝对值函数,故本题选A选项。
7.C
【详解】
本题考查的是Python程序。
程序分析过程如下:
i=0sum=0
i=0<100%3==0sum=0+0=0i=0+1=1
i=1<101%3==0不成立i=1
解析:
C
【详解】
本题考查的是Python程序。
程序分析过程如下:
i=0sum=0
i=0<100%3==0sum=0+0=0i=0+1=1
i=1<101%3==0不成立i=1+1=2
i=2<102%3==0不成立i=2+1=3
i=3<103%3==0sum=0+3=3i=3+1=4
i=4<104%3==0不成立i=4+1=5
i=5<105%3==0不成立i=5+1=6
i=6<106%3==0sum=3+6=9i=6+1=7
i=7<107%3==0不成立i=7+1=8
i=8<108%3==0不成立i=8+1=9
i=9<109%3==0sum=9+9=18i=9+1=10
i=10<10不成立
输出sum=18,故答案C正确。
8.B
【详解】
本题考查Python语句。
根据while可知,当ifi%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum
解析:
B
【详解】
本题考查Python语句。
根据while可知,当ifi%2==0成立时,sum+=i,i=2,4,6,8时,If条件成立,故sum=2+4+6+8=20,又根据print(‘sum=’,sum),则最后运行结果是sum=20,故本题选B。
9.D
【详解】
本题主要考查Python输出语句。
Python输入函数是print(),故可以输出helloworld的是print(“helloworld”),故本题选D选项。
解析:
D
【详解】
本题主要考查Python输出语句。
Python输入函数是print(),故可以输出helloworld的是print(“helloworld”),故本题选D选项。
10.C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
解析:
C
【详解】
本题考查的是python的变量命名。
python的变量名是由数字、字母、下划线组成,并且数字不能打头。
故选项C符合题意。
11.B
【详解】
本题主要考查Python字符函数。
ord函数用于将字符转换为整数,chr函数接受一个数字(应为ASCII码)并返回字符。
则python表达式chr(ord(x)+2)=chr(ord
解析:
B
【详解】
本题主要考查Python字符函数。
ord函数用于将字符转换为整数,chr函数接受一个数字(应为ASCII码)并返回字符。
则python表达式chr(ord(x)+2)=chr(ord(H)+2)=chr(74)=‘J’,故本题选B选项。
12.C
【详解】
本题主要考查Python程序设计语言。
python源文件以***.py为扩展名,python的默认交互提示符是:
>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,p
解析:
C
【详解】
本题主要考查Python程序设计语言。
python源文件以***.py为扩展名,python的默认交互提示符是:
>>>,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块,故本题选C选项。
13.B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.
解析:
B
【详解】
本题主要考查Python程序设计语言。
python是一种解释型、面向对象的计算机程序设计语言;python支持Windows操作系统,也支持Linux系统;python源文件以***.py为扩展名;python文件不能直接在命令行中运行,故本题选B选项。
14.A
【详解】
本题主要考查Python表达式的运算。
3%2=1,5//2=2,1*2=2,1+3/3=2,故本题选A选项。
解析:
A
【详解】
本题主要考查Python表达式的运算。
3%2=1,5//2=2,1*2=2,1+3/3=2,故本题选A选项。
15.B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
解析:
B
【详解】
本题主要考查Python变量的命名。
变量的命名规则有:
只能以字母或下划线开头,不能包含特殊符号,不能是关键字。
故ab可以作为Python程序变量名,故本题选B选项。
二、程序填空
16.n*f(n-1)range(1,n+1)s+f(i)
【详解】
本题主要考查Python程序的执行与调试。
①此处是定义递归函数f(n),由题干,当n=0时,返回1,否则返回n*f(n-1),故此处填n*f(n-1)。
②用递归算法求1!
+2!
+……+n!
,故变量i的范围应是1—n,foriinrange(1,n+1)表示i的范围是[1,n],故此处填range(1,n+1)。
③循环体实现累加,将每一项阶乘f(i)加到s中,故此处填s+f(i)。
17.自然语言确保m>=nr!
=0
【详解】
本题主要考查算法及Python程序实现。
①描述一是自然语言描述法;描述二是流程图描述法;描述三是计算机程序语言描述法。
②在描述三中代码4到6行,当m=n。
③由题干可知,循环条件是余数r不等于0,故代码第8行划线处为r!
=0。
18.m%nrr=m%nngcd(a,b)
【详解】
本题主要考查Python程序设计。
①首先对m和n求余得到r,判断r是否为0,故此处填m%n。
②如果r为0则结束,否则更新m的值为n,n的值为r。
③此处用更新后的m和n继续求r,继续判断,故填r=m%n。
④循环结束后当r=0时,n即为最大公约数,故填n。
⑤输入a、b的值,使用函数gcd求a和b的最大公约数,故填gcd(a,b)。
19.pw=input("请输入密码:
")
password="123456"
i=1
while(i<=3):
ifpw==password:
print("恭喜你进入系统!
")
break
else:
print("请重新尝试:
",i)
pw=input("请输入密码:
")
i=i+1
【详解】
本题主要考查程序设计。
可以通过Python程序设计语言实现题干要求,可以通过while循环控制三次机会,使用if条件分支结构判断是否输入正确,具体代码如下:
pw=input("请输入密码:
")
password="123456"
i=1
while(i<=3):
ifpw==password:
print("恭喜你进入系统!
")
break
else:
print("请重新尝试:
",i)
pw=input("请输入密码:
")
i=i+1
20.
【详解】
本题主要考查Python程序的执行与调试。
运行结果如下:
21.champion3i
【详解】
本题主要考查Python程序的执行。
①champion是选手编号列表,此处是循环读取选手编号,使用foriinchampion,故此处填champion。
②四人中有一人说了假话,即3个人说真话,即当cond=3时,则表示找到了谁是冠军,故此处填3。
③当cond是3时,i即为冠军,故此处填i。