编程Python基础语法.docx
《编程Python基础语法.docx》由会员分享,可在线阅读,更多相关《编程Python基础语法.docx(17页珍藏版)》请在冰豆网上搜索。
编程Python基础语法
【编程】Python基础语法
一、选择题
1.下面的Python程序段运行后的输出结果是()
x=3
ifx%2==0:
print(x,"是偶数。
")
else:
print(x,"是奇数。
")
A.3是奇数B.x,"是偶数"C.x,"是奇数"D.3是偶数
2.关于python发布代码及安装使用代码,下列说法错误的是()
A.创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件
B.在DOS命令行中打开mymodule所在的目录,使用“pythonsetup.pysdist”命令构建发布文件
C.已经构建发布的模块必须先导入程序,然后才能使用。
导入时只能使用语句“importmymodule”,不可以用“frommymoduleimport*”
D.下载安装,使用“pythonsetup.pyinstall”命令安装到你的Python本地副本中
3.已知a=-2,b=10/3,则python表达式round(b,1)+abs(a)的值为()
A.1.3B.5.33C.5.4D.5.3
4.Python程序中第一行:
a=int(input()),第二行:
print(a+5),运行程序后键盘输入3,输出结果是()。
A.5B.3C.8D.其他
5.下列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
6.Python定义私有变量的方法为。
()
A.使用__private关键字
B.使用public关键字
C.使用DEF定义变量名
D.使用__XX定义变量名
7.整型变量x中存放了一个两位数,要将这个两位数的个位数字和十位数字交换位置,例如,13变成31,正确的Python表达式是()
A.(x%10)*10+x//10B.(x%10)//10+x//10
C.(x/10)%10+x//10D.(x%10)*10+x%10
8.在python中,语句print(a,b)的意思是()
A.打印a,bB.输出(a,b)C.输出a,bD.输出a,b的值
9.下面()是Python合法的变量名
A.int32B.40XLC.selfD.name
10.下列可以导入Python模块的语句是()
A.importmodule
B.inputmodule
C.printmodule
D.defmodule
11.python语言的特点()。
A.简单B.免费、开源C.可移植性D.以上都是
12.下列Python语句中,会导致程序运行出错的语句是()
A.x=(y=1)B.x,y=y,xC.x=1;y=1D.x=y=1
13.在Python中,返回x的绝对值的函数是()。
A.abs(x)B.bin(x)C.all(x)D.input(x)
14.下列Python程序段运行的结果是()
f=[‘A’,’B’,’C’]
a=len(f)
print(‘a=’,a)
A.a=2B.a=’A’C.a=’C’D.a=3
15.算法用Python程序实现,以下代码中哪处语句存在语法错误()
A.
B.
C.
D.
二、程序填空
16.密码强度检测。
编写python程序,实现如下功能:
输入要检测的密码,输出密码强度结果。
密码字符分为数字字符、字母和其他符号三类。
密码强度的检测方法为:
若密码位数少于8位,则不进行强度检测,给出提示“密码位数不能少于8位,请重新输入!
”。
若密码位数在8位及以上,则进行强度检测:
若密码字符属于同一类字符,则密码强度为“弱”;若密码字符属于不同的二类字符,则密码强度为“中等”;若密码字符属于不同的三类字符,则密码强度为“强”。
(1)若输入“12abcd5!
”,则输出结果为_________(选填,选字母:
A.密码位数不能少于8位,请重新输入!
/B.弱/C.中等/D.强)
(2)实现上述功能的程序如下,请在划线处填入合适的代码。
password=input(“请输入要检测的密码:
”)
①_______________
ifn<8:
print(“密码位数不能少于8位,请重新输入!
”)
else:
n1=0
n2=0
n3=0
foriinrange(0,n,1):
②_______
if“0”<=ch<=“9”:
n1=1
elif“a”<=ch<=“z”or“A”<=ch<=“Z”:
n2=1
else:
n3=1
③_____
ifx==3:
print(“强”)
elifx==2:
print(“中等”)
else:
print(“弱”)
17.小王编写了“字符串缩写”程序,实现如下功能:
1.输入一串由英文字母和数字组成的字符串,
2.如果字符串有连续字符构成的升序段(后面字符的ASCII值比前面的字符的ASCII值大1),则把升序段缩写成由第一个字符加上“—”和最后一个字符组成的新字符段,
3.例如:
字符串为“abcdf12345becomexy”,则缩写成“a-df1-5becomex-y”。
程序运行时,输入一串字符,输出缩写的字符串,程序运行效果如下图所示:
实现上述功能的程序如下,请在程序划线处填入合适的代码。
s=input("请输入字符串s:
")
_______
flag=False
result=""
foriinrange(0,k-1):
if___________________:
result=result+s[i]+"-"
flag=True
eliford(s[i])!
=ord(s[i+1])-1:
result=result+s[i]
_____
result=result+s[i+1]
print("缩写后的字符串为:
",result)
划线处①处应该填入的语句为:
;
划线处②处应该填入的语句为:
;
划线处③处应该填入的语句为:
。
18.编写一个程序,判定用户输入的两个数a和b,如果用户输入的第一个数大,则两数互换,否则原样输出。
19.分析完善程序
某市出租车收费标准如下:
(1)3公里内(含3公里),收费8元
(2)超过3公里但未超过6公里部分,按1.5元/公里收费
(3)超过6公里部分,按2.25元/公里收费。
根据以上标准,输入出租车行驶的公里数,请计算顾客需付费多少元?
[算法分析]
假设总费用为p,则可以分段计算
p=8‘(s≤3)
p=1.5*(s-3)+8‘(3
p=2.25*(s-6)+1.5*3+8‘(s>6)
[参考代码]
a=float(input(“s=”))
ifs<=3:
p=8
if
p=1.5*(s-3)+8
ifs>6:
p=2.25*(s-6)+1.5*3+8
print(p)
根据上述回答如下问题:
(1)本题采用的算法是________(填:
解析法/枚举法/排序法/递归法)。
(2)程序代码中空白处应填写的条件是_______(填:
A/B/C/D)。
A.33ands<6D.s>3Ors<=6
20.阅读程序。
foriinrange(1,10):
forjinrange(1,i+1):
print("%dX%d=%2d"%(j,i,j*i),end="")
print()
(1)在第一行程序中,变量i的数据范围为_____到____。
(2)在第二行的程序中,变量j的数据范围为_____到____。
(3)如果“%d”表示十进制数,那么%2d则表示____位宽的十进制数。
(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是_____。
(5)如果最后一行的print()表示换行,那么end=””的功能是_______。
21.请在空格处填写正确的代码,使程序完善。
实现功能:
绘制y=x2-2x+1的图像
#加载numpy模块并限简洁的别名为np
importnumpyasnp
#加载matplotlib.pyplot模块并限简洁的别名为plt
importmatplotlib.pyplotasplt
#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._________
【参考答案】***试卷处理标记,请不要删除
一、选择题
1.A
【详解】
本题主要考查Python程序的执行。
x=3,3%2=1,故输出3是奇数,故本题选A选项。
解析:
A
【详解】
本题主要考查Python程序的执行。
x=3,3%2=1,故输出3是奇数,故本题选A选项。
2.C
【详解】
本题主要考查Python代码发布。
创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在
解析:
C
【详解】
本题主要考查Python代码发布。
创建一个文件夹mymodule,其中包含mymodule.py和setup.py(包含发布的元数据)两个文件;在DOS命令行中打开mymodule所在的目录,使用“pythonsetup.pysdist”命令构建发布文件;已经构建发布的模块必须先导入程序,然后才能使用。
导入时可以使用语句“importmymodule”,也可以用“frommymoduleimport*”;下载安装,使用“pythonsetup.pyinstall”命令安装到你的Python本地副本中,故本题选C选项。
3.D
【详解】
本题主要考查Python表达式的运算。
round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(
解析:
D
【详解】
本题主要考查Python表达式的运算。
round(x,n)方法返回x的小数点四舍五入到n个数字,abs是求绝对值,已知a=-2,b=10/3,则表达式round(b,1)+abs(a)=3.3+2=5.3,故本题选D选项。
4.C
【详解】
本题主要考查Python语句执行。
运行程序后键盘输入3,即a=3,执行print(a+5)后,输出结果是8,故本题选C选项。
解析:
C
【详解】
本题主要考查Python语句执行。
运行程序后键盘输入3,即a=3,执行print(a+5)后,输出结果是8,故本题选C选项。
5.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。
6.D
【详解】
本题主要考查Python变量的定义。
Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。
解析:
D
【详解】
本题主要考查Python变量的定义。
Python定义私有变量的方法为使用__XX定义变量名,故本题选D选项。
7.A
【详解】
本题主要考查Python表达式。
当x=13时,(x%10)*10+x//10=31,(x%10)//10+x//10=1,(x/10)%10+x//10=2,(x%10)*10+x%1
解析:
A
【详解】
本题主要考查Python表达式。
当x=13时,(x%10)*10+x//10=31,(x%10)//10+x//10=1,(x/10)%10+x//10=2,(x%10)*10+x%10=33,故本题选A选项。
8.D
【详解】
本题主要考查Python输出函数。
在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。
解析:
D
【详解】
本题主要考查Python输出函数。
在python中,语句print(a,b)的意思是输出a,b的值,故本题选D选项。
9.ACD
【详解】
本题主要考查Python变量的命名。
Python变量的命名不能以数字开头(可以以下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
解析:
ACD
【详解】
本题主要考查Python变量的命名。
Python变量的命名不能以数字开头(可以以下划线或字母开头),不能包含特殊符号,不能是关键字,故本题选ACD选项。
10.A
【详解】
本题主要考查Python模块的导入。
Python模块导入的关键字是import,故本题选A选项。
解析:
A
【详解】
本题主要考查Python模块的导入。
Python模块导入的关键字是import,故本题选A选项。
11.D
【详解】
本题考查的是python语言的特点。
Python语言的三个特点是语法简单(函数式语言与面向对象语言的结合)、使用直接(大量丰富的库)、开发周期短(代码量小)。
故选项D正确。
解析:
D
【详解】
本题考查的是python语言的特点。
Python语言的三个特点是语法简单(函数式语言与面向对象语言的结合)、使用直接(大量丰富的库)、开发周期短(代码量小)。
故选项D正确。
12.A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
解析:
A
【详解】
本题考查的是Python赋值语句。
赋值号“=”的左边是变量,右边是常量或表达式,选项A中y=1是赋值语句不是表示,故选项A会报错。
13.A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有
解析:
A
【详解】
本题主要考查Python标准函数。
在Python中,返回x的绝对值的函数是abs(x),bin()返回一个整数或者长整数的二进制表示,all()函数用于判断给定的可迭代参数中的所有元素是否都为TRUE,input(x)是输入函数,故本题选A选项。
14.D
【详解】
本题主要考查Python程序的执行。
a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。
解析:
D
【详解】
本题主要考查Python程序的执行。
a=len(f)=3,故print(‘a=’,a)的结果是a=3,故本题选D选项。
15.D
【详解】
本题考查的是Python程序调试。
双分支IF语句。
if(条件)后面要加冒号,else后面也要加冒号。
故标号4中存在语法错误。
解析:
D
【详解】
本题考查的是Python程序调试。
双分支IF语句。
if(条件)后面要加冒号,else后面也要加冒号。
故标号4中存在语法错误。
二、程序填空
16.Dn=len(password)ch=password[i]x=n1+n2+n3
【详解】
本题主要考查Python程序的执行与调试。
①“12abcd5!
”含有三类字符,则输出结果为强,选D选项。
②此处取密码的长度,将其赋给变量n,len()是返回字符串的长度,故填n=len(password)。
③ch是取密码的每一位进行判断,故此处填ch=password[i]。
④当出现数字时n1=1,当出现字母时n2=1,当出现其他字符时n3=1,x用来统计有几类字符,故此处填x=n1+n2+n3。
17.k=len(s)ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflagflag=False
【详解】
本题主要考查Python程序的执行与调试。
①第一空将输入的字符串s的长度赋给变量k,故填k=len(s)。
②flag用来标记是否有连续字符构成的升序段,第二空判断相邻位置后面字符的ASCII值是否比前面的字符的ASCII值大1且flag为False,故填ord(s[i])==ord(s[i+1])-1andflag==False或ord(s[i])==ord(s[i+1])-1andnotflag或ord(s[i])+1==ord(s[i+1])andflag==False或ord(s[i])+1==ord(s[i+1])andnotflag。
③如果不满足if判断条件,则需要将该字符加到变量result中,同时赋值flag为False,表示当前没有连续字符构成的升序段,需要继续判断寻找,故填flag=False。
18.a=int(input("请输入数a:
"))
b=int(input("请输入数b:
"))
ifa>b:
t=a
a=b
b=t
print("用户输入的数按小到大排序结果是:
",a,b)
else:
print("原样输出",a,b)
【详解】
本题主要考查Python程序设计。
使用input函数接收两个数a和b,用if条件分支结构判断a和b的大小,如果a大于b,则交换,否则原样输出,具体代码如下:
a=int(input("请输入数a:
"))
b=int(input("请输入数b:
"))
ifa>b:
t=a
a=b
b=t
print("用户输入的数按小到大排序结果是:
",a,b)
else:
print("原样输出",a,b)
19.解析法或解析A
【详解】
本题主要考查Python程序的执行与调试。
①由算法分析可知,本题采用的算法是解析法或解析。
②3公里内(含3公里),收费8元;超过3公里但未超过6公里部分,按1.5元/公里收费;超过6公里部分,按2.25元/公里收费,故此处填3
20.91i2
末尾不换行,添加空格
【详解】
本题主要考查Python程序的执行与调试。
(1)在第一行程序中(foriinrange(1,10):
),变量i的数据范围为1到9。
(2)同理,在第二行的程序中(forjinrange(1,i+1):
),变量j的数据范围为1到i。
(3)如果“%d”表示十进制数,那么%nd则表示n位宽的十进制数,%2d则表示2位宽的十进制数。
(4)第三行程序改为print("%dX%d=%2d"%(i,j,i*j),end=""),则本题的输出应该是
,i与j的位置进行了交换,如1X2=2变为2X1=2。
(5)如果最后一行的print()表示换行,那么end=””的功能是末尾不换行,添加空格。
21.yyshow()
【详解】
本题主要考查Python程序绘制图像。
①绘制y=x2-2x+1的图像,故此处填y。
②根据横纵坐标x和y绘制图,故此处填y。
③此处调用显示函数show(),故填show()。