试题python基础试题含答案Word文档格式.docx
《试题python基础试题含答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《试题python基础试题含答案Word文档格式.docx(15页珍藏版)》请在冰点文库上搜索。
D.C
8.把数式
写成Python语言的表达式,下列书写正确的是()。
A.a+b/2aB.a+b/2*aC.(a+b)/2*aD.(a+b)/(2*a)
9.在下面的python程序中,变量b和c的值为()。
A.b为6,c为6B.b为6,c为8C.b为8,c为8D.b为8,c为6
10.Python不支持的数据类型有()。
A.charB.intC.floatD.list
11.以下选项中,不是Python中文件操作的相关函数是()。
A.open()B.load()
C.read()D.write()
12.要实现将实数型变量a的值保留三位小数,以下python可以实现的是()
A.a%0.001B.a//0.001C.round(a,3)D.round(3,a)
13.在python中,运行以下程序,结果应为()
a=5
b=7
b+=3
a=b*20
a+=2
a=a%b
print(a,b)
A.57B.2010C.227D.210
14.关于python程序设计语言,下列说法不正确的是()。
A.python源文件以***.py为扩展名
B.python的默认交互提示符是:
>
C.python只能在文件模式中编写代码
D.python具有丰富和强大的模块
15.在Python中,设a=2,b=3,表达式not(b-a>
0)值是()
A.1B.-1C.TrueD.False
二、程序填空
16.广场上有许多(有数百人)小朋友在玩分组游戏,当他们分成三人一组时,发现最后多出两个;
当他们分成五人一组时,发现最后多出三个;
当他们分成七人一组时,发现最后多出两个。
编写程序求出这些小朋友的可能人数。
实现上述功能的程序如下,请在程序划线处填入合适的代码。
________
a=[]
foriinrange(100,1000):
if_____________:
a.append(i)
total+=1
print("
这群小朋友总的人数有:
"
)
forjinrange(len(a)):
print(____,end='
、'
print('
'
可能情况数为:
total,'
种'
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
划线处③处应该填入的语句为:
。
17.求100以内素数。
18.小明设计了一个可以输入日期得到当天是年度第几天的程序,请阅读程序,完成填空(闰年判断规则:
能被4整除但不能被100整除或能被400整除,闰年的2月为29天)
day=input("
请输入年月日(格式举例:
2000-01-05):
year=int(day[:
4])
month=_________
sun=int(day[8:
10])
print(year,month,sun)
f_run=[31,28,31,30,31,30,31,31,30,31,30,31]
tall_day=0
if______:
foriinrange(month-1):
tall_day+=f_run[i]
__________
else:
tall_day+=sun
print(day+"
是当年的第"
+str(tall_day)+"
天"
(1)将程序横线处补充完整
(2)如输入“2020-4-19”为当年的第_____天。
19.输入三个同学的成绩,然后大到小排列。
20.阅读程序。
阅读求水仙花数的代码并回答问题。
“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。
例如:
153是一个“水仙花数”,因为153=13+53+33,请计算并输出所有三位数的水仙花数。
forninrange(100,1000):
i=n//100
j=n//100%10
k=n%10
ifn==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无法取到的数值是________。
21.程序补充:
(1)有5万元资金存入银行,选择“1年定期.自动转存”的存款方式,由于银行利率是不断变化的,这5年利率分别是3.25%.3%.3%.2%.1.75%,5年后会有多少收益呢?
调用round()函数,保留结果两位小数。
money=_______________________________
rate=_________________________________
for___________________________________
____________________________________
print(“5年以后存款总额:
”,money,“元”)
(2)某投资者购买了10万元一年期收益率3.7%的银行保证收益型理财产品。
每年理财赎回后,他会提取2万元用作生活所需,余下资金仍购买此种理财。
在收益率不变的情况下,多少年后本金被全部取出?
money=________________________________
year=__________________________________
while_________________________________
_________________________________
________________________________
print(year,“年后资金被全部取出”)
【参考答案】***试卷处理标记,请不要删除
1.C
【详解】
本题主要考查Python基本运算。
Python比较运算优先级高于逻辑运算,因此C选项正确。
【点睛】
解析:
C
2.C
本题主要考查Python程序语句。
x=2,y=1,语句y+=x*2等价于y=y+x*2=1+2*2=5,故y的值是5,故本题选C选项。
3.A
本题主要考查Python表达式的运算。
a=2,b=5,a>
b值为False,b>
3值为True,逻辑运算符“And”两边都为真,表达式的值才为真,故表达式a>
3的值是F
A
3的值是False,故本题选A选项。
4.C
本题考查Python语言相关知识点
Python是一种高级语言,所以不是机器语言、汇编语言、科学计算语言。
故本题选C选项
5.C
本题考查的是数据类型。
布尔型数据只有两种状态,整型不带有小数点,字符串型含有数字、字母等数据,浮点型带有小数点。
NO.2020100502有数字有字母等,故应定义为字符串型。
选项C正确
选项C正确。
6.C
本题主要考查Python输出语句。
“\n”表示换行,以r或R开头的字符串表示原始字符串,故print(r"
)的运行结果是\nGood,故本题选C选项。
7.A
本题考查的是人工智能语言。
Python由于简单易用,是人工智能领域中使用最广泛的编程语言之一,它可以无缝地与数据结构和其他常用的AI算法一起使用。
故选项A正确。
8.D
本题主要考查Python表达式。
Python中乘号用符号“*”,运算优先级可以通过小括号提升,小括号优先级最高,故本题选D选项。
D
9.C
本题考察赋值语句。
将6赋值给a,此时a为6;
将8赋值给c,此时c为8;
将c复制给b,此时b的值即为c的值,b为8;
将b赋值给a,此时a即为b的值,a为8。
故a为8,b为8,c
故a为8,b为8,c为8,故C选项正确。
10.A
本题考查Python数据类型相关的知识点
Python不支持char类型、byte类型。
故本题选A选项
11.B
本题主要考查Python文件操作函数。
open()是文件打开函数,read()、write()是文件读写函数;
json.load()用于从json文件中读取数据,故本题选B选项
B
json.load()用于从json文件中读取数据,故本题选B选项。
12.C
本题主要考查Python函数。
round(x,n)方法返回x的小数点四舍五入到n个数字,故要实现将实数型变量a的值保留三位小数,可以使用语句round(a,3),故本题选C选项。
13.D
本题考查Python程序的运算。
a=5,b=7,b+=3=10,a=b*20=200,a+=2=202,a=a%b=2。
最后a=2,b=10,故本题选D。
14.C
本题主要考查Python程序设计语言。
python源文件以***.py为扩展名,python的默认交互提示符是:
,python能在文件模式中编写代码,也能在交互模式中编写代码,p
,python能在文件模式中编写代码,也能在交互模式中编写代码,python具有丰富和强大的模块,故本题选C选项。
15.D
a=2,b=3,b-a>
0值为True,则表达式not(b-a>
0)值是False,故本题选D选项。
16.total=0i%3==2andi%5==3andi%7==2a[j]
本题主要考查Python程序的执行与调试。
①变量total用来统计有多少种情况,初始值为0,第一空填total=0。
②当他们分成三人一组时,发现最后多出两个;
当他们分成七人一组时,发现最后多出两个,即if判断条件为i%3==2andi%5==3andi%7==2,满足if条件时,将该值加到列表a中,故第二空填i%3==2andi%5==3andi%7==2。
③最后通过for循环输出所有可能的数,用变量j控制,故第三空填a[j]。
17.foriinrange(1,100):
ifi>
1:
forjinrange(2,i):
if(i%j)==0:
break
else:
print(i)
本题主要考查Python程序设计。
可以通过for循环找出100以内的素数,用i依次整数2~i-1,如果能整除表明i不是素数,否则i为质数,具体代码如下:
foriinrange(1,100):
18.int(day[5:
7])(year%4==0andyear%100!
=0oryear%400==0)andmonth>
=2tall_day+=1110
①此处是取出字符串day中的月份赋给变量month,month是第5~第6位,str[start:
end],start会包含在结果中而end却不会,故此处填int(day[5:
7])。
②此处判断是不是闰年,因为闰年的二月有29天,故if判断还要判断当前的月份是不是包含2月即大于等于2月,故此处填(year%4==0andyear%100!
=2。
③如果是闰年且当前日期包括2月,则循环完tall_day需增加1天,故填tall_day+=1。
④输入“2020-4-19”为当年的第110天。
19.
本题主要考查程序设计与实现。
可以使用Python程序实现题干要求:
20.整除取余判断是否相等百十个1000
本题考查的是python语言及对程序实现的理解。
(1)//的符号作用是取整除,返回商的整数部分(向下取整)。
(2)%的符号作用是取模,返回除法的余数。
(3)等于,比较符号两边对象是否相等。
(4)(5)(6)i=n//100,j=n//10%10,k=n%10,分别利用取整和取余符号,算出三位数对应的每一位上的数字。
(7)range()函数的区间是左闭右开,所以第二个参数1000是取不到的。
21.[0.0325,0.03,0.03,0.02,0.0175]iinrate:
(没有冒号算错误)money=round(money*(1+i),2)1000000money>
0或money>
=0money=round(money*1.037-20000,2)year=year+1
①此处是变量money的初始化,有5万元资金存入银行,故填50000。
②5年利率分别是3.25%、3%、3%、2%、1.75%,用rate数组保存,故填[0.0325,0.03,0.03,0.02,0.0175]。
③通过for循环,从rate数组中取值,故填iinrate:
(没有冒号算错误)。
④调用round()函数,保留结果两位小数,故填money=round(money*(1+i),2)。
⑤购买了10万元一年期收益率3.7%的银行保证收益型理财产品,故money的初始值为100000,故填100000。
⑥year的初始值也为0,故填0。
⑦循环条件是money大于0或大于等于0,故填money>
=0。
⑧收益率3.7%,每年理财赎回后,会提取2万元用作生活所需,余下资金仍购买此种理财,使用round函数保留2位小数,故填money=round(money*1.037-20000,2)。
⑨循环变量是year,此处year递增进入下一轮循环,故填year=year+1。