版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
程序设计及应用(Python)学习通超星期末考试章节答案2024年下列有关python语言的说法正确的是?
答案:python语言对大小写敏感;python通过缩进形式体现程序的结构;python拥有大量的第三方库idle源程序窗口中,将选中所有语句向后增加缩进可以使用以下哪个快捷键?
答案:ctrl+
]python自带的最基本的编程工具是?
答案:IDLEpython3.x和python2.x完全兼容
答案:错误以下关于Python语言中“缩进”说法正确的是
答案:缩进在程序中一般长度统一且强制用于表达程序的逻辑下列有关python语言的说法错误的是
答案:python采用编译执行方式Python源文件的后缀名是什么?
答案:py不能用来开发Python程序的是哪一个选项?
答案:word下列不属于程序设计中高级语言的是哪一个选项?
答案:office以下关于Python的描述,正确的是:
答案:它是一种解释执行的语言Python编程工具idle有两种使用窗口,分别是交互式命令行窗口和源程序(或源文件)窗口。
答案:对在Windows平台上编写的Python程序无法在Mac平台运行。
答案:错机器语言和汇编语言都属于低级语言。
答案:对Python是一种开源免费的高级编程语言。
答案:对通过float()函数可以把任意类型的数据转换为一个浮点数
答案:错在数值运算表达式中推荐使用小括号来更好的表达运算的逻辑关系
答案:对两个数进行“//”运算的结果一定是整数
答案:错a=eval(input('请输入一个数:'))
变量a一定指向一个整数对象
答案:错Python变量名可以包含的字符有:
答案:小写字母(a~z);大写字母(A~Z);数字(0~9);下划线(_);汉字以下是变量合法命名的是?
答案:My_python1;mython1python中所有数值都可以准确比较是否相等,这种说法是否正确?
答案:错误/star3/origin/da94387992754eccbab915d2809db2ab.png
答案:result=(total*rateMonth*(1+rateMonth)**terms)/((1+rateMonth)**terms-1)0b010表示的是?
答案:二进制数请在idle交互式窗口中运行:round(8.7)
,round(8.7,0),二者的结果是?
答案:(9,9.0)以下哪个表达式可以表示“n的平方根”?
答案:pow(n,0.5)以下哪个表达式可以表示“n除以2的余数”?
答案:n%2下列python语句错误的是:
答案:a,b=10执行print('hello')命令时,输出数据后会自动换行,如果输出后不想换行,可以将命令改为:print('hello',end='')
答案:正确下列哪个选项不是合法的python语句?
答案:a=eval(1+2)如果在一个输出语句中同时输出变量a、b、c的值,并且要求三个值之间用分号分隔,下列语句正确的是?
答案:print(a,b,c,sep=';')下面不属于Python保留字的是?
答案:print以下哪个函数用于实现输入功能?
答案:input()以下不是Python数据类型的是?
答案:实数在python语言中在屏幕上打印"HELLO"的正确表达是
答案:print("HELLO")3.[其它]输入一个三位数,判定该三位数是否是水仙花数,水仙花数是指一个3位整数,它的每位数字的3次幂之和等于其本身(例153),运行2遍程序(分别输入153,111),提交程序代码、运行结果截图。正确答案:153是水仙花数
111不是水仙花数
答案:n=int(input('请输入一个三位正整数:'))
#获取输入result='不是'
#结果初始化bai=(n//100)%10shi=(n//10)%10ge=n%10ifn==pow(bai,3)+pow(shi,3)+pow(ge,3):
result='是'
#更新结果print(n,result,'水仙花数')在学习字符串部分后,可以运用字符串处理(把整数当作字符串,通过位置号获取每位数并转化为整数):n=input('请输入一个三位正整数:')iflen(n)!=3
ornotn.isdecimal():
print('输入不合要求')else:
bai=int(n[0])
shi=
int(n[1])
ge=
int(n[2])
result='{}不是水仙花数'.format(n)
#结果初始化
ifint(n)==bai**3+shi**3+ge**3:
result='{}是水仙花数'.format(n)
#更新结果
print(result)2.[其它]编程实现:输入任意一个正整数,如果该数为奇数(即该数除以2的余数等于1),则输出其三次方的值,如果该数为偶数,则输出其平方根。运行2遍(分别输入3、20)程序,提交程序源码和运行结果截图。注意:判断两个数是否相等用双等号==
答案:n=int(input('请输入一个正整数:'))
#输入result=0
#结果初始化为0ifn%2==1:
result=n**3else:
result=round(n**0.5,2)
#或round(pow(n,0.5),2))print(result)1.[其它]编程实现:输入圆的半径,计算圆面积和周长并输出。π取3.1415并赋值给变量pi,运行程序,半径输入4,提交源码文件、运行结果截图。正确答案:圆面积为:50.264
周长为:25.132
答案:pi=3.1415
radius=eval(input("请输入圆半径:"))area=
pi*radius*radiuscirc=2*pi*radiusprint('圆面积为:',area,'
周长为:',circ)
#或者:print('圆面积为:{},周长为:{}'.format(area,circ))s='#a\tb\tc#',以下说法正确的是?(请先在idle里测试)
答案:s.strip('#a')的结果是'\tb\tc';执行s.replace('#','$')后,s的值不变下列哪些表达式是正确的?
答案:print('{0}的绝对值为{0}'.format(65));print('{0}保留3位小数:{0:.3f}
,保留2位小数的百分数形式为:{0:.2%}'.format(0.34568));print('今年销售增长率为:{:.2%}'.format(23/1021))s='
123',以下哪些表达式的值是'
123
123'?
答案:s+s;s*2;2*ss='#abc#',下列哪些表达式的值是字符串'abc'?
答案:s.replace('#','');s.strip('#');s[1:-1]s="Python应用基础",下列表达式中哪一项与其余各项的结果是不相同的:
答案:s[-4:-5]哪个选项是下面代码的执行结果?s='PYTHON'print('{0:3}'.format(s))
答案:PYTHON下列哪个表达式可以获得'A'的unicode编码?
答案:ord('A')/star3/origin/6b5196e0210480c9b4469fed6f43bf40.png
答案:1010运行语句s="{:>,.2f}".format(1087.65678)后,s的值是:
答案:"1,087.66"s='abc',
下列哪个表达式不能实现取字符串s的最后一个字符?
答案:s[len(s)]a=100,将a变为字符串'100’
可用以下哪个函数?
答案:a=str(a)s='
字符串
',取消s首尾空格可以用?
答案:s.strip()以下哪个函数可以获得字符串的长度?
答案:len()以下关于转义字符描述错误的是?
答案:len("\t")的结果是23.[其它]某人从银行贷款10万,还款期限10年,每月还款1200元,请编程实现:计算该项贷款平均每年的利率(提示:10年支付的总利息占本金的比例平均到10年,不考虑复利),以保留2位小数的百分数形式格式化输出该利率。将源码和运行结果截图提交。
答案:loan=100000pay=1200
year=10rate=0
#结果初始化,因下面无条件对rate赋值,该句可以省略payall=pay*12*year
#10年的总支出rate=(payall-loan)/loan/yearprint('该项贷款平均每年的利率为{:.2%}'.format(rate))
#或:print('该项贷款平均每年的利率为:',round(rate*100,2),'%')2.[其它]编写程序,输入一个正整数,判断其是否为回文数。回文数是指正序和逆序表示的数值相等。比如,12321的逆序数也是12321,12321是回文数,12341的逆序数是14321,不是回文数。运行程序两次,分别输入:98789
98765
,将源码和运行结果截图提交。
答案:n=input('请输入一个正整数:')
#获取输入r='不是回文数'
#结果初始化if
notn.isdecimal():
#对初学者,也可以不考虑该步骤的判断
print('输入非正整数')else:
ifn==n[::-1]:
r='是回文数'
print(n,r)或:n=input('请输入一个正整数:')r=‘’
#结果初始化为空串if
notn.isdecimal():
print('输入非正整数')else:
ifn==n[::-1]:
r='{}
是回文数'.format(n)
else:
r='{}
不是回文数'.format(n)
print(r)1.[其它]输入任意一个0-9之间的正整数,判定输入的合法性(一位且是数字),合法则输出其对应的汉字数字,例如:0--
零,1----一;不合法输出提示。将源码、运行结果截图提交。
答案:n=input('请输入一个0-9之间的数字:')result=''iflen(n)==1andn.isdecimal():
#n.isdecimal也可以是:n.isdigit()
或
nin'0123456789'
n=int(n)
s='零一二三四五六七八九十'
result=s[n]
print(n,'对应的汉字数字:'
,result)else:
print('输入不合法')程序的三种基本结构是顺序结构、分支结构、循环结构
答案:对在循环中else子句所引导的代码块只有在循环正常结束(不是执行了break)的情况下才会执行。
答案:对while循环语句的循环体有可能一次都不会被执行。
答案:对s='12345'print(s.isdigit())程序结果是:True
答案:对(4>5)or(3=='3')的值是False
答案:对分支结构语句中,程序最多只能执行其中一个分支中的语句。
答案:对分支结构中,if子句下的语句和else子句下的代码有可能会同时执行
答案:错分支结构可以向已经执行过的语句跳转
答案:错下列哪些表达式的结果为True?
答案:5<=len('12345678')<=10;not
'';int('12345678'[-1])
%
2==0下面哪个程序条件可以表达下面的含义:“x和y均不为0,且两者要么同时为正,要么同时为负”
答案:(x<0andy<0)or(x>0andy>0);(x*y)>0下列哪个条件语句可以表示:n能被3整除并且n不能被6整除,或者n能被9整除
答案:n%3==0andn%6!=0orn%9==0下列哪个表达式是正确的?
答案:“{},你好”.format("女士"ifsexy=="female"else"先生")python通过()来判断操作是否在分支结构中。
答案:缩进以下哪一个条件表达式是不合法的?
答案:x=ya=3,下面条件表达式的结果是:(a<5anda>1)ora%2==0
答案:True下面条件表达式的结果是:Falseand(FalseorTrue)
答案:False下面条件表达式的结果是:FalseandFalseorTrue
答案:True3.[其它]编程实现:任意输入一个字符串,计算其中包含的数字的个数。
答案:s=input("请输入一个字符串:")num_count=0forcins:
ifc.isdecimal():
#也可以用c.isdigit()方法
num_count+=1print('{}中包含{}个数字'.format(s,num_count))考察要点:字符串的遍历、构成特点判断2.[其它]编程输出数字中含7,而且能被7整除的所有的三位数(100-999),数字在同一行显示(输出后不换行,附加空格)。(注意数据类型与运算符的匹配)
答案:forninrange(100,1000):
#注意range函数中,1000不在范围内
if
n%7==0and"7"
in
str(n):
#注意包含是字符串运算
print(n,end="
")
#输出不换行1.[其它]某超市搞五一促销活动:购物达300元(含)-500元,85折优惠;
达500元(含)-800元,7折优惠;
800元(含)及以上,6折优惠编程实现:输入购物额,计算并输出优惠后的付款额
答案:value=eval(input("请输入购物额:"))money=value
#付款额初始化为购物额if
value>=800:
#最高优惠档
money=value*0.6
elifvalue>=500
#隐含条件value<800
money=value*0.7elifvalue>=300:
#隐含条件value<500
money=value*0.85print('付款额:',money)或者:value=eval(input("请输入购物额:"))money=value
#付款额初始化为购物额if
value<300:
#无优惠
pass
#什么也不做elifvalue<500:
#隐含条件value>=300
money=value*0.85elifvalue<800:
#隐含条件value>=500
money=value*0.7else:
#隐含条件value>=8
money=value*0.6print('付款额:',money)注意要点:
1.
多分枝的后一个条件隐含前面的条件不成立,条件的书写顺序很重要;
2.多个条件的表达顺序:阈值从小到大,应该用<,从大到小,应该用>3.[其它]完数指一个数恰好等于它的所有因子(不包括其本身)之和。例:6的因子是1,2,3,而6=1+2+3,因此6是完数编程输出1000之内的所有完数。
答案:forninrange(1,1000):
#逐一取1000以内的数
#循环体为判定当前n值是否为完数
s=0
#n的因子和初始为0
foriinrange(1,n):
#逐一测试可能的因子(内层循环)
ifn%i==0:
#当前i值是当前n值的因子
s+=i
#累加因子
ifs==n:
#内层循环结束后,比较因子和与n本身,相等则n为完数,输出n
print(n,end='')2.[其它]用户输入一个密码,要求密码至少8位、只能包含字母、汉字、数字、下划线,并且只能以下划线开头,请编程实现密码输入,并判定其是否合法。提示:可以用
字符串.isalnum()方法测试输入:abc123
(不合法)_Abc_123(合法)_abc*123
(不合法)
答案:方案一:整个密码整体判断初始化为不合法,如果密码满足长度条件,并且以下划线开头,则将密码中的所有下划线去除,剩下的内容再用.isalnum()判定是否只包含字母、汉字、数字,是则合法passw=input('请输入密码:')result=
'密码不合法'iflen(passw)
>=8
and
passw[0]=='_':
#密码满足长度条件,并且以下划线开头
passw=passw.replace('_','a')
#所有下划线以合法字符‘a’代替(‘a’可以是任意合法字符),因8个下划线合法,故不能用空串代替
ifpassw.isalnum():
#除下划线外的passw中只包含数字、字符、汉字
result='密码合法'
print(result)
或者上述方案中初始化为空串或合法或不合法,如果满足条件则为合法,否则都是不合法passw=input('请输入密码:')result=
''
#初始化为空iflen(passw)
<8
or
passw[0]!='_':
#密码不满足长度条件,或者不以下划线开头
result='密码不合法!'else:
passw=passw.replace('_','a')
#去除所有下划线
ifpassw.isalnum():
#除下划线外的passw中只包含数字、字符、汉字
result='密码合法'
else:
result='密码不合法!'print(result)
方案二:采用循环判断每个字符的方案:思路1:首先对密码长度和是否以下划线开头进行判断,如果满足条件,则对合法字符计数,如果合法字符个数等于原密码字符个数则输入合法,否则不合法。passw=input('请输入密码:')result='密码不合法!'
#或空串
或合法
iflen(passw)
>=8
and
passw[0]=='_':
correct=0
#合法字符个数初始为0
forchinpassw:
ifch=='_'orch.isalnum():
#ch.isalnum()判断ch是否为字母或汉字或数字
(合法字符)
correct+=1
#合法字符个数+1
#循环结束
ifcorrect==len(passw):
#如果合法字符个数等于原密码字符个数则输入合法
result='密码合法!'
else:
result='密码不合法!'
#或pass,也可以没有else子句print(result)思路2:结果初始化为合法;如果密码不满足长度条件或者不以下划线开头,则肯定不合法,否则循环测试每个字符的合法性,只要一个字符不合法则确定密码不合法,中断循环passw=input('请输入密码:')result='合法'iflen(passw)
<8
orpassw[0]!='_':
result='密码不合法!'else:
forchinpassw:
ifnot(ch=='_'orch.isalnum()):#只要一个字符不合法则可以确定输入不合法
result='密码不合法!'
breakprint(result)注意:合法密码需要同时满足三方面的条件(长度、以下划线开头、只能包含特定的字符)
字符串.is系列函数
只有字符串中的所有字符(不是某些字符)满足函数功能对应的条件才返回True。1.[其它]用户输入一个正整数,如果该正整数为偶数,则计算小于等于该正整数的所有偶数之和,如果该正整数为奇数,则计算小于等于该正整数的所有奇数之乘积。
答案:n=int(input('请输入一个正整数:'))ifn%2==0:
#偶数
result=0
#结果初始化为0
foriinrange(2,n+1,2):
result+=i
#累加else:
result=1
#奇数时结果初始化为1
foriinrange(1,n+1,2):
result*=iprint(result)注意:不同情况结果初始化的合理值不同5
if
5>6
else
(6
if
3>2
else
5)
上述表达式的结果为5
答案:错字符串对象的format方法的结果一定是字符串类型的对象
答案:对用whileTrue:实现的永真循环对程序运行没有任何意义。
答案:错if语句中条件部分可以使用任何能够产生TrueFa或lse的语句和函数。
答案:对执行s=
'helloworld'
语句后,foriinrange(len(s)):
print(s[i])与forcins:
print(c)功能和结果是一样的
答案:对forsin"Hello":
ifs=="l":
break
print(s,end="")
程序的运行结果是显示He
答案:对for
s
in
"Hello":
if
s=="l":
continue
print(s,end="")
程序的结果是显示He
答案:错以下关于Python中的“缩进”说法错误的是哪项?
答案:缩进只是为了对齐代码,以提高代码的可读性下列程序的输出结果是________:n=23foriinrange(3,10):
ifn%i==0:
print('break')
breakelse:
print('end')
答案:endk=0
s="qqqtqqq"
foriinrange(len(s)):
ifs[i]=='q':
k+=1
continue
else:
k+=2
break
print(k)
上面的程序输出结果是:
答案:5x=10
c=0
whileTrue:
x=x-1
ifx==1:
break
c+=1
print(c)上面程序的输出结果是:
答案:8forsin"PYTHON":
print(s,end="")
else:
print("正常退出")
上面的程序输出结果是:
答案:PYTHON正常退出k=10
whilek>1:
print(k)
k=k/2
上面的程序输出多少个数?
答案:4s,t=0,0
foriinrange(1,4):
t=t+i
s=s+t
print(s)上面程序的输出结果是()
答案:10forvarin_____:
print(var)
下面哪个选项不符合上述程序空白处的语法要求?
答案:{1;2;3;4;5}哪个选项关于循环的描述是错误的?
答案:死循环无法退出,没有任何作用20/4的结果为5
答案:错input()函数的返回值可以是字符串,也可以是数值。
答案:错a.var是合法的变量名
答案:错字符串对象创立后,除了可以通过del命令删除该对象外,该对象不会发生任何改变
答案:对'a'+'b'*2*2的结果是'abbabb'
答案:错默认状态下,不同print()语句输出的结果将显示在不同行上(即以换行符进行分隔)
答案:对执行importmath语句后,下列哪些表达式可以表示数值n的平方根?
答案:math.sqrt(n)
;n**0.5;pow(n,0.5)下列导入模块或模块中函数的方式,正确的是(其中math是模块,sqrt和exp是函数):
答案:importmath;importmathasmt;frommathimportsqrt,exps="股票:{:0>6}".format(108)s的结果是?
答案:"股票:000108"以下哪项导入模块的方式错误的?
答案:importsqrtfrommathPython标准库random中的___函数的作用是从序列中随机选择多个样本?
答案:sample执行importrandom语句后,从字符串s中任意取一个字符的函数是:
答案:random.choice(s)
执行from
randomimportrandint语句后,可以通过n=
_______将变量n指向一个1到10之间的随机整数。
答案:randint(1,10)
执行import
random语句后,可以通过n=
_______将变量n指向一个1到10之间的随机整数。
答案:random.randint(1,10)
random库中将列表中的元素随机排列,并改变原列表的函数名是:
答案:shuffleimportrandoma=random.random()对a的值,下列说法正确的是()
答案:可能是0,不可能是1以下哪种类型的函数不需要导入就可以直接调用?
答案:内置函数Python安装第三方库的命令是____。
答案:pip;pip3;pipinstall;pip3install随机产生密码,有效密码要求同时满足以下条件:(1)长度为8位(2)
仅包含大小写字母、数字、下划线,允许有重复字符(3)不能以数字开头编程实现:得到10个有效密码并输出
答案:fromrandomimportchoice#以下产生字母和下划线构成的字符串s=''#产生26个大写字符foriinrange(ord('A'),ord('Z')+1):
s=s+chr(i)s=s+s.lower()+'_'
#大小写字母和下划线构成的字符串digit='0123456789'
#数字构成的字符串#以下产生10个有效密码'''思路一:循环10次,每次产生一个合法字符:(1)直接从非数字s中随机获取一个字符作为密码的第一个字符(2)循环7次,每次从s+digit中随机获取1个字符加入密码字符串(3)输出密码'''foriinrange(10):
#循环10次产生10个合法密码
#以下产生一个合法密码
passw=choice(s)
#密码初始化为随机一个字母或下划线
forjinrange(7):
#循环7次随机产生7个合法字符并加入密码
passw+=choice(s+digit)
print(passw)'''思路二:产生不确定个数的8位密码,对满足条件的密码计数,直到满足条件的密码个数达到10个为止1.有效密码个数初始化为02.while
有效密码个数小于10个执行以下循环体:(1)密码初始化为空串(2)循环8次,每次从s+digit字符串中随机获取1个字符加入密码字符串(3)判定该密码字符串是否以数字开头,如果不以数字开头,则输出该密码,并对密码个数加1,否则继续下一次循环,继续产生密码'''pcount=0
#密码计数s=s+digit
#s为可能构成密码的字符whilepcount<10:
passw=''
#密码初始化为空
foriinrange(8):
#循环8次随机产生1个字符并加入密码
passw+=choice(s)
ifnotpassw[0].isdecimal():
#如果密码不以数字开头,输出该密码,有效个数加1
print(passw)
pcount+=1微信零钱通的年化利率是2.08%,每天结息且自动将利息转存(即复利),小明在年初存入零钱通1000元,以后每30天存入200元,一年后小明零钱通共有多少钱(结果保留2位小数)?提示:第0天为初始状态1000,从第一天开始循环计算:每天零钱通的钱数=昨天的钱数+一天的利息,如果当天是30的倍数再加200,第365天的钱数就是最终结果。正确结果:3444.42元
答案:money_all=1000
#结果初始化为初始本金rate_day=0.0208/365
#日利率money_30=200
#中间每次存入200forday
inrange(1,366):
money_all=money_all
*(1+rate_day)
#计算每天的本息和
ifday%30==0:
#是否追加存入
money_all+=money_30
#追加存入print(round(money_all,2),'元')ls=[1,2,3],那么执行语句ls.pop(1)之后,ls的值为[2,3]
答案:错[1,2]*2的执行结果为[2,4]
答案:错ls=['10','2','5'],则表达式max(ls)的值为'5'
答案:对ls=[1,2,3,4]a,b,c,d=ls上述语句是正确的
答案:对由于列表可以包含多个表项(元素),因此两个列表不能进行大小比较。
答案:错由于元组是不可变数据类型,因此不能使用加号连接两个元组。
答案:错s=[1,2,3,4],执行以下代码后,s1中的表项(即元素)与s中不同的是:
答案:s1=s.copy()s1[1]=10;s1=s[:]s1[1]=10列表ls=[1,2,3,4,5],以下可以实现删除列表ls中值为2、3的两个元素的有:
答案:dels[1:3];s[1:3]=[]执行语句:ls=list()下列说法不正确的是:
答案:执行ls.extend('python')后,ls包含一个元素依次执行下列语句:ls=list('python')ls1=ls.copy()ls2=lsls2.append('abc')执行后,下列说法不正确的是?
答案:ls和ls1的值相同s=['a','b','c'],以下四个选项对应的操作,哪个选项与其他三个选项得到的s的长度不同:
答案:s.extend('def')以下哪个方法不可以删除列表中的元素?
答案:index()编写程序,用户一次性输入由分号分隔的若干个整数,计算这些数的平均数,输出平均数、有多少个数大于平均数,多少个数小于平均数。运行程序,输入:1;2;3;4;5;6;7;8;9
思路:1.获取输入(字符串类型)2.初始化2个计数变量为03.分割字符串得到各个数(字符串类型)构成的列表4.按位置(索引)遍历列表,将每个元素修改为对应的整数5.计算平均值6.按元素遍历列表:
比较元素值和平均值的关系,根据不同情况将对应计数变量加17.输出平均值和2个计数变量值
答案:someInt=input("请输入一系列分号分隔的整数:")aboveAvg=0belowAvg=0ls=someInt.split(";")
#得到存放各数的列表,元素为字符串for
i
inrange(len(ls)):
ls[i]=int(ls[i])avgn=sum(ls)/len(ls)
#求平均,必须在循环结束后进行。#以下进行计数forninls:
if
n>avgn:
aboveAvg+=1
elifnavgn:
aboveAvg+=1
elifn编程实现:逐个输入若干学生的成绩,保存在列表中,输入0则结束输入,输出该列表及最高分、最低分、平均分(保留2位小数)思路:1.定义一个空列表2.永真循环:
(1)
输入
(2)判定是否为0,是则跳出循环,否则,将输入加入列表3.输出列表4.计算最高、最低、总和/个数,并输出
答案:ls=[]whileTrue:
score=eval(input('请输入一个学生的成绩,输入0则结束:'))
if
score==
0:
break
ls.append(score)print(ls)print('最高分:{},
最低分:{}
,平均分:{:.2f}'.format(max(ls),min(ls),sum(ls)/len(ls)))ls=[1,2,3,4,2,2,1]ls.remove(2)可以删除ls中所有的值为2的元素
答案:错ls=[['a',80,90],['b',70,80],['c',70,90]]ls1=[e[0]foreinls]ls1的结果是['a','b','c']
答案:对x=[1,2,3]执行语句
y
=
x[:]后,对y所做的任何操作都会同样作用到x上
答案:错a,b='swufe','a'eval(b)的值为'a'
答案:错n=0.256print('{:.2%}'.format(n))输出结果为:25.60%
答案:对[int(c)**2forcin'123'ifint(c)%2==0]的结果是[4]
答案:对ls是一个列表,ls.append([1,2])和ls.extend([1,2])的结果是一样的
答案:错ls=['python','24','123']ls.sort(key=len)执行上述语句后,ls的值为['24','123','python']
答案:对ls1=[1,2,2]ls2=[3,3,4]ls1=ls1+ls2和ls1.extend(ls2)的结果是一样的
答案:对random库中randint(a,b)函数生成一个[a,b]之间的随机整数。
答案:对执行下面哪个语句后,变量a的值一定不是数值类型?
答案:a=
input('请输入:')下列语句错误的是:
答案:if3in‘103’:
print('right')ls=[8,2,1,4,5],下列语句不会改变ls的是?
答案:ls.copy()
运⾏下⾯的代码:foriinrange(5):
forjinrange(i):
print('pass')pass共输出了多少次?
答案:10下列表示字符"D"的表达式是:
答案:chr(ord("A")+3)下列程序的功能是:
t=1
s=0
foriinrange(1,11):
t=t*i
s=s+t
print(s)
答案:计算1!+2!+...+10!
并输出n=12count=0while
n%2==0:
n=n//2
count+=1运行上述程序后,count的值为?
答案:2运⾏下⾯的语句:foriinrange(1,10,3):
print(i)共输出了几个数?
答案:3a=100,将a变为字符串'100'可⽤以下哪个函数?
答案:str(a)print('hello','python',end='!')的结果是
答案:hello
python!
for
xin
........,
以下哪个选项不能出现在in后?
答案:100ls=['python',[1,2,3],('4','5')]以下说法错误的是()
答案:sum(int(ls[-1]))的值为9下⾯程序的功能是:
s='abcde34567dd'
str1=''
forcins:
ifc.isdigit():
str1=str1+c
print(str1)
答案:找出字符串s中的所有数字并输出4.[其它]随机生成一个由小写字母、逗号构成的长度为50的字符串,输出该字符串,然后根据逗号分隔字符串,输出分割后的最长和最短字符串(提示:按字符串长度排序)。
例如,假定随机生成的是:babb,e,ebac,ecced,beccbd,bacbcaabccbedabeabebaded输出格式为:最长的字符串是:bacbcaabccbedabeabebaded最短的字符串是:e要求先以以下格式导入函数并设置种子:fromrandomimportchoice,seedseed(12)将程序和结果截图提交,并以附件形式上传程序文件
答案:fromrandomimportchoice,seedseed(12)#生成抽取字符的合法字符串,也可以直接赋值语句得到charschars=''foriinrange(ord('a'),ord('z')+1):
chars+=chr(i)chars+=','#随机生成50个合法字符构成的字符串s=''foriinrange(50):
s+=choice(chars)#上述3行也可以用列表推导式:
s=''.join([
choice(chars)foriinrange(50)
])print(s)#按逗号分隔字符串为列表ls=s.split(',')
#列表按照字符串长度排序ls.sort(key=len)print('最长的字符串是:{}\n最短的字符串是:{}'.format(ls[-1],ls[0]))3.[其它]输入若干活动的参与信息:每次输入一个活动名称和参与人数(用逗号隔开),直接回车则结束输入;将每次活动的名称和参与人数构成一个小列表[活动名称,参与人数],该小列表作为一个元素保存在列表ls中。输出ls;计算并输出所有活动参与的总人数;将程序和结果截图提交,并以附件形式上传程序文件
答案:ls=[]
#初始化列表sumrs=0
#人数合计初始化whileTrue:
info=input('请输入活动名称和参与人数,中间用逗号隔开:')
iflen(info)==0:
#上面输入时直接回车
break
name,rs=info.split(',')
ls.append([name,int(rs)])
#小列表作为元素加入列表ls
sumrs+=int(rs)
#累加人数print(ls)print(sumrs)#说明:不一定边输入边计算,也可以先得到列表,再遍历列表计算总人数#或者ls=[]
#初始化列表whileTrue:
info=input('请输入活动名称和参与人数,中间用逗号隔开:')
iflen(info)==0:
#上面输入时直接回车
break
name,rs=info.split(',')
ls.append([name,int(rs)])
#小列表作为元素加入列表lsprint(ls)rsls=[e[-1]foreinls]
#用列表推导式得到参与人数列表sumrs=sum(rsls)print(sumrs)1.[其它]输入一个字符串,如果该字符串中包含下滑线"-",则将字符串去掉第一位字符后的剩余部分重复5次形成新串;否则将字符串的最后一位字符替换成下滑线"-"形成新串。输出上述处理得到的新串。运行程序2遍,分别输入:ab_cde
abcdef将程序和结果截图提交,并以附件形式上传程序文件
答案:word=input('输入一个单词:')if'_'inword:
new_word=word[1:]*5else:
new_word=word[:-1]+'_'print(new_word)用户输入一串空格分隔的数字(例如:10
20
10
20
30
40),将其中的数字分隔开(用
字符串.split()
)保存在列表中(例如[10,20,10,20,30,40])
,输出期中6的倍数。
答案:nstr=input('输入一串空格分隔的数字:')nstrls=nstr.split()nls=[int(e)foreinnstrls]
#将nstrls的各元素转化为整数形成新列表,或用nls=list(map(int,nstrls))foreinnls:
ife%6==0:
print(e)上面红色部分也可以替换为:foreinnstrls:
ifint(e)%6==0:
print(e)stu1=['zhang',90]stu2=['wang',80]stu3=['li',78,69]ls=[stu1,stu2,stu3]则ls[-1][0:1]的值为‘li'
答案:错集合的元素允许重复,集合是可变数据类型,可以改变它的某个元素
答案:错python源程序即可以编译执行,也可以解释执行
答案:错(5)*3的结果是(5,5,5)
答案:错continue和break语句只能出现在循环体中,continue表示结束本次循环,回到本层循环开头,break表示结束所有循环
答案:错ls=[1,2,3],ls.pop()和ls.pop(0)的功能是一样的
答案:错两个整数进行+、-、*、/、//运算的结果一定是整数
答案:错random库中randint(a,b)的功能是产生a到b之间(包含a,不包含b)的随机整数
答案:错ls=[2,3,2,3],则表达式[ls.index(n)forninlsifn%2]的值为[1,3]
答案:错else子句只能出现在分支结构中
答案:错s=65r=''ifs<60:
r='fail'elif
s<85:
r='liang'elif
s<75:
r='jige'else:
r='youxiu'执行以上语句后,r的值为'jige'
答案:错s=list('123454321')count=0foriinrange(len(s)):
ifint(s[i])<1:
count+=1
else:
break执行上述语句后,count的值为2
答案:错forminrange(1,5):
ifm%3==0:
continue
else:
print(m,end=',')程序的运行结果是:1,2,3,4,
答案:错ls=[['金融','1001',90],['会计','2001',80],['计科','1003',91],['金融','1005',85]]
列表元素的含义为:[专业,学号,成绩]ls.sort()可以实现对ls各元素按照专业升序排列,专业相同时按照学号升序排列
答案:对移除集合中的元素时,如果元素不存在,也不会报错的方法是remove()
答案:错{1,2,3}>{3,2}的结果为False
答案:错{1,2,3}-{2,3,4,5}的值为1
答案:错set([1,2,2,3])=={1,3,2}的值为True
答案:对ls=[1,2,2,3,4,4]set(ls)的值为{1,2,2,3,4,4}
答案:错以下程序的运行结果是?st=set(map(int,'1234567567'))st.remove(5)print(st)
答案:{1,2,3,4,6,7}
执行以下代码后,ls的值是?ls=list('abcd')ls.append(ls.pop(1))
答案:['a',
'c','d','b']s='{:<5,.3f}'.format(1234.78569),s的值为?
答案:'1,234.786'下列有关字符串的说法错误的是?
答案:字符串以\n标识字符串的结束以下有关变量的说法错误的是?
答案:变量无需先创建即可使用执行下列语句,输入“西南,财经,大学”,输出结果为?a=input('').split(',')x=0whilex答案:西南财经大学在执行循环结构foriinrange(8,-4,-1):
...时,循环第7次时,i的值为?
答案:2表达式{1,2,'3',4}-{3,4,5,6}的值为?
答案:{1,2,‘3’}t=tuple('西南财经大学'),t[::-1]的结果是?
答案:('学','大','经','财','南','西')执行下列语句,程序的运行结果是?ls=list('abcd')dells[1]ls.remove('b')print(ls)
答案:系统报错以下哪种数据类型的对象不能作为列表extend()方法的参数?
答案:整数以下哪个选项可以将[1,2,3]和[4,5,6]连接形成一个新列表[1,2,3,4,5,6]?
答案:[1,2,3]+[4,5,6]print('.'.join(['西','南','财','经','大','学'])的输出结果是?
答案:西.南.财.经.大.学能返回序列s中索引从i到j(不包含j)、步长为k的子序列的表达式是?
答案:s[i:j:k]IPO编程方法不包括以下哪个过程?
答案:PROGRAM下列哪个选项不符合变量命名规范?
答案:1_vars={1,2,3,4}执行以下哪个操作不会报错?
答案:s.add(5)下列哪个操作符表示求两个集合的交集的运算?
答案:&d={'a':[10,20],'b':('1','2','3'),'c':{10,20}}则d['c'][1]的值是20
答案:错x={1:2,3:4,5:6},那么表达式sum(x)的值为9
答案:对现有一个字典d,d.pop(键)可以根据键弹出指定的键值对,而d.popitem()则不能指定键,只能随机弹出键值对
答案:对字典的键和值都可以是列表
答案:错d是一个字典对象,len(d)可以表示字典中“键”或“键值对"的个数
答案:对任何一个列表ls都可以通过dict(ls)转化为字典
答案:错9(单选题)d=
{'a':1,'b':2,'c':3}下列语句错误的是?
答案:d[1]d=
{'a':1,'b':2,'c':3}下列表达错误的是?
答案:forxinrange(d):d={'a':1,'b':2,'c':3','d':4),d.get('a',0)和d.get('f',10)的值分别为:
答案:1,10d={'a':1,'b':2,'c':'3'},下面哪个选项是正确的?
答案:d.setdefault('d',0)的值为0,同时在字典中添加键值对'd':0给定字典d,哪个选项对xind的描述是正确的?
答案:判断x是否是字典d中的键运行下面的程序,输出结果是?
d={'a':1,'b':2,'b':'3'}
print(len(d.items())
答案:2给定字典d,哪个选项可以获得字典所有“键”:“值”对的“值”?
答案:d.values()以下描述错误的是:
答案:{}表示一个空集合2.[其它]用户输入一串任意的文字,计算其中每个字符出现的频数并按照频数从高到低输出。(字符及其频数用字典保存,字符为键,频数为值)
答案:思路1:1.获取输入2.创建空字典用于以后存放结果3.遍历输入的字符串:
累加该字符的频数:字典[字符]=字典中字符对应的值(如果字典中没有这个字符,则取值为0)+14.将字典的键值对转化为列表,并按频数排序5.
输出s=input('请输入任意内容:')d={}
#频数字典初始化forcins:
d[c]=d.get(c,0)+1
#字符对应的频数加1,第一次出现时为0加1ls=list(d.items())ls.sort(key=lambdax:x[-1],reverse=True)foreinls:
print(e[0],e[1])思路2:1.获取输入2.创建空字典用于以后存放结果3.遍历输入字符串中的不同字符(集合):
字典[字符]=该字符在输入字符串中出现的次数4.将字典的键值对转化为列表,并按频数排序5.
输出s=input('请输入任意内容:')d={}forcinset(s):
#将字符串s转化为集合,过滤掉重复字符
d[c]=s.count(c)
#得到c对应字符的个数,并将字符及其个数作为键值对加入字典#上述3行也可以用字典推导式:d={c:s.count(c)forcinset(s)}ls=list(d.items())ls.sort(key=lambdax:x[-1],reverse=True)foreinls:
print(e[0],e[1])1.[其它]小明的日常支出项目包括:书、文具、餐饮等,请编程实现:逐条输入小明的消费明细信息,一条消费明细一次性输入,包括消费项目、金额、日期,各项之间用逗号隔开,如果直接回车则表示输入结束。将消费信息保存在列表中,一次消费(包含三项的小列表)为一个元素。例如:请输入消费项目、金额、日期,中间用逗号隔开,直接回车结束输入:书,30,2024-1-1请输入消费项目、金额、日期,中间用逗号隔开,直接回车结束输入:文具,20,2024-1-4请输入消费项目、金额、日期,中间用逗号隔开,直接回车结束输入:书,15,2024-2-4请输入消费项目、金额、日期,中间用逗号隔开,直接回车结束输入:文具,10,2024-2-10请输入消费项目、金额、日期,中间用逗号隔开,直接回车结束输入:餐饮,100,2024-3-4请输入消费项目、金额、日期,中间用逗号隔开,直接回车结束输入:请分类统计小明每个消费项目的消费总额,并输出消费总额最高的项目及金额
答案:总体思路:一、输入消费明细并保存
1.列表初始化为空
2.循环:输入消费信息并分隔,将项目、数值型的金额、日期形成小列表并加入1中的列表二、分类统计
1.结果用字典保存(消费项目为键,总金额为值),初始化为空字典;
2.遍历消费列表:得到每次消费的项目和金额,更新该项目在字典中的值三、按消费金额对统计结果排序
1.将统计结果字典的键值对转化为列表
2.对上述列表按照元素的最后一个子元素(消费总金额)排序四、输出消费总额最高的项目及金额#输入并保存在列表中ls=[]whileTrue:
xfstr=input('请输入消费项目、金额、日期(年-月-日),中间用逗号隔开,直接回车结束输入:')
iflen(xfstr)==0:
#直接回车,输入字符串为空串
break
xls=xfstr.split(',')
xls[1]=
eval(xls[1])
#修改消费金额为数值型的消费金额
ls.append(xls)
#一次消费信息作为元素加入列表#分类统计d={}foreinls:
#遍历列表
xm=e[0]
#项目
je=e[1]
#金额
d[xm]=d.get(xm,0)+je
#对统计结果按总金额排序
d_ls=list(d.items())d_ls.sort(key=lambdax:x[-1],reverse=True)#输出print('消费金额最高的项目是:{},金额为:{}'.format(d_ls[0][0],d_ls[0][-1]))lambdax:x[-1]表示一个匿名函数,形参为x,返回值为x[-1]
答案:对/star3/origin/881dd2c1b0cc2b55fa68a4c0e93146ca.png
答案:错表达式list(map(lambdax:x+5,[1,2,3]))的值为[6,7,8]
答案:对函数体中可以没有return语句,相当于returnNone
答案:对全局变量只能在函数外部定义
答案:错函数定义就会执行函数体语句
答案:错函数中,return的作用是将结果返回到函数定义的位置。
答案:错下列有关函数的说法正确的是?
答案:定义函数时并没有执行函数中的语句,调用函数时才执行这些语句defchange(n2):
n=2
n
**=
n2+1
print(n,end=',')n=2change(n)print(n)执行上述程序,输出结果为?
答案:8,2下列代码的输出结果是?
X='swufe'
deffunc():
X='西南财经大学'
print(X)
func()
print(X)
答案:西南财经大学swufe下列代码的输出结果是?def
func(a,
b=4,
c=5):
print(a+b+c)
func(1,2)
答案:8global保留字的作用是?
答案:在函数内部声明全局变量匿名函数lambdax:x[-1]
,
在关键字lambda和冒号之间的是?
答案:形式参数定义函数使用的关键字是?
答案:def编写一个函数,形参为一个字符串,返回字符串中包含的数字个数、小写字符个数、大写字符个数连续输入字符串,直接回车则结束输入,调用函数,输出每个字符串及其中包含的数字个数、小写字符个数、大写字符个数
答案:defstr_gs(s):
intc,lowc,uppc=0,0,0
#数字个数、小写字符个数、大写字符个数初始化为0
forcins:
#遍历字符串
ifc.isdigit():
#如果当前字符是数字
intc+=1
elifc.islower():
#如果当前字符是小写字符
lowc+=1
elifc.isupper():
#如果当前字符是大写字符
uppc+=1
returnintc,lowc,uppc
#返回三个值#主程序whileTrue:
s=input('输入字符串,直接回车结束输入:')
iflen(s)==0:
#直接回车
break
intgs,lowergs,uppergs=str_gs(s)
#调用函数得到三个值分别赋值给三个变量
print('{}包含:{}个数字,{}个小写字符,{}个大写字符'.format(s,intgs,lowergs,uppergs))编写函数判定一个正整数是否是完数(所有因子(不包括其自身)之和等于该数本身),通过调用函数,输出100以内所有完数的累加和,并判定累加和的奇偶
答案:defws(n):
s=0
#n的因子和初始化
foriinrange(1,n):
ifn%i==0:
#i是n的因子
s+=i
#累加因子
ifs==n:
#循环结束后判断因子累加和是否等于n
returnTrue
else:
returnFalse#主程序sumn=0
#完数累加和初始化为0forninrange(1,100):
ifws(n):
sumn+=nprint(sumn)ifsumn%2==0:
print('偶数')else:
print('奇数')定义一个函数计算一个正整数的阶乘(不用递归函数),正整数n为形参,其阶乘为返回值。用户输入一个正整数k,通过调用上述函数,计算并输出1!+2!+...+k!的值
答案:#定义阶乘函数fact,n为形参deffact(n):
p=1
#阶乘结果初始化为1
foriinrange(1,n+1):
p=p*i
return
p
#主程序
k=int(input('输入一个正整数'))sumk=0
#累加和结果初始化为0foriinrange(1,k+1):
sumk+=fact(i)
print(sumk)一个异常处理语句中最多只能包含一个else子句、finally子句
答案:对一个异常处理语句中可以通过多个except子句处理多种不同类型的异常
答案:对编程时将可能发生异常的语句放在try:后,以便捕获可能发生的异常
答案:对异常指的是程序的语法错误
答案:错f=open('file.txt')表示以文本读写模式打开文件file.txt
答案:错打开的文件可以作为可迭代类型对象进行遍历
答案:对python中任何文件都可以选择按文本方式或按二进制方式读取其内容
答案:对打开文件使用函数open()
答案:对下列程序段执行后,输出结果是:number
=
20try:
if
1/number
<
0:
number
=
-number
print(number,end='
')except:
print("有异常发生",end='
')else:
print("平安无事",end='
')finally:
print("我很好我可以的",end='
')
答案:20平安无事我很好我可以的以下哪个不能表示文件的打开方式?
答案:'c'当要打开的文件存在时,下列哪种打开文件的方式会报错?
答案:x下面有关文件的表达正确的是:
答案:通过文件的.writelines()方法可以向文件中写入元素为字符串的列表的内容如果要将文件f的所有内容读入一个列表ls,每行形成列表的一个元素,则应该使用哪个表达?
答案:ls=f.readlines()如果要对文件以文本方式进行读操作,在打开文件时应该使用下列哪个选项?
答案:rtpython中下列有关文件操作的表述错误的是:
答案:文本文件只能以文本方式进行读取编写一个统计列表中每个元素出现频数的函数,形参为列表,返回值为保存统计结果的字典主程序:产生包含50个1-6范围内随机整数的列表,通过调用上述函数,统计该列表中各数出现的频数,输出出现频数最高的数及其频数
答案:defget_ps(ls):
d={}
fore
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年某科技公司与某政府机构关于智慧城市建设的研究与开发合同
- 2024年标准化项目服务合同模板版B版
- 2024年度电脑设备保密及信息安全风险评估合同3篇
- 2024年度文化产业项目总承包合同
- 2024版YXJS04模具实训设备采购与售后服务合同
- 2024年度建筑水电安装承包合同6篇
- 2024年消防设施翻新工程施工合作合同版B版
- 2024年度办公大楼物业设施设备采购与安装合同2篇
- 2024年度商业房屋租赁合同书(附不可抗力条款)3篇
- 2024年度大数据中心建设和运营服务合同3篇
- 一年级口算练习题一天50道
- 版面设计研究智慧树知到期末考试答案章节答案2024年上海理工大学
- 医院物业保洁服务方案(技术方案)
- 2024年云南省昆明滇中新区公开招聘20人历年(高频重点提升专题训练)共500题附带答案详解
- 高一语文基础模块下册期末考试-2024-2025学年期末复习专项训练(高教版2023)
- 2024-2030年中国水泵市场深度调研分析及投资前景研究预测报告
- 预防接种上岗人员培训试题(预防接种门诊)
- 2024年中考英语最后一卷(广东卷)-2024年中考英语逆袭冲刺名校模拟真题速递(广东专用)
- 网课智慧树知道《古典时期钢琴演奏传统(星海音乐学院)》章节测试答案
- 《护理伦理与法律法规》期末考试复习题库(含答案)
- DL-T5190.1-2022电力建设施工技术规范第1部分:土建结构工程
评论
0/150
提交评论