《Python程序设计基础(李东方第3版) 习题及答案汇总 第1--12章 Python语言及其编程环境--- 基于第三方库的应用举例.docx》由会员分享,可在线阅读,更多相关《Python程序设计基础(李东方第3版) 习题及答案汇总 第1--12章 Python语言及其编程环境--- 基于第三方库的应用举例.docx(32页珍藏版)》请在第一文库网上搜索。
1、第一章Python语言及其编程环境1 .下载并安装Python3.版,检查系统变量Path中的安装路径,体验并编写一个简单的Python程序。答案:要检查系统变量Path中的安装路径,你可以使用以下Python代码:pythonimportospathstr=os.environ,get(,Path,)insta11dirs=pathstr.sp1itC)fordirininsta11dirs:print(dir)这段代码首先导入了os,模块,然后使用os.environ,get(,Path)获取系统变量Path的值。接下来,它将路径字符串分割成一个列表,并使用循环遍历打印每个安装路径。你可以
2、将以上代码保存为一个.py文件,然后在命令行或终端中运行它,即可查看系统变量Path中的安装路径。2 .下载并安装一种第三方E,并逐渐熟悉使用它。答案:略。第二章Python的基本语法一、选择题1-5B、B、B、BD、BD6-10C、BA.C、D、AC11.D二、填空题1 .#。2 .o3 .整数(int)、浮点数(f1oat)、布尔值(boo1)、复数(CC)InP1ex).4 .n2=0.第三章Python程序的基本流程控制1 .编写程序,从键盘输入两点的坐标(x,y1)和(x2,y2),计算并输出两点之间的距离。答案:importmathdefCa1cu1atedistance(x1,y
3、1,x2,y2):distance=math,sqrt(x2-x1)*2+(y2-y1)*2)returndistancedefmain():try:x1=f1oat(input(z,Entery1=f1oat(input(,zEnterx2=f1oat(input(/,Entery2=f1oat(input(,Enterthe-coordinateofthey-coordinateoftheX-Coordinateofthey-coordinateofthefirstpoint(x1):)thefirstpoint(y1):)thesecondpoint(x2):)thesecondpoin
4、t(y2):)distance=Ca1cu1atec1istance(x1,y1,x2,y2)print(*Thedistancebetweenthetwopointsis:,distance)exceptVa1ueError:print(z,Inva1idinput.P1easeenterva1idnumerica1va1uesforcoordinates.)if_name_main()main2 .编写程序,从键盘输入年份值和月份值,输出该年当月的日历(调用Ca1endar模块中的month。函数)答案:importca1endardefmain():try:year=int(input(
5、Entertheyear:)month=int(input(Enterthemonth(1-12):)ifmonth12:print(z,Inva1idmonth.P1easeenterava1uebetween1and12.)returnca1=ca1endar,month(year,month)print(zznCa1endarfortheyear(andmonth:z,.format(year,month)print(ca1)exceptVa1ueError:print(z,Inva1idinput.P1easeenterva1idnumerica1va1uesforyearandmon
6、th.)if_name_=_main_:main()3 .编写程序,产生两个10以内的随机整数,以第1个随机整数为半径、第2个随机整数为高,计算并输出圆锥体的体积。答案:importrandomimportmathdefCa1cu1ateconevo1unie(radius,height):vo1ume=(1/3)*math,pi*radius*2*heightreturnvo1umedefmain():try:radius=random,randint(1,10)height=random,randint(1,10)print(zzRandom1ygeneratedradius:,radiu
7、s)print(z,Random1ygeneratedheight:,height)vo1ume=ca1cu1ate_cone_vo1ume(radius,height)print(zzThevo1umeoftheconeis:,vo1ume)exceptVa1ueError:print(Anerroroccurredwhi1egeneratingrandomnumbers,)if_name_=_main_:main()4 .编写程序,从键盘输入一个年份值,判断该年是否为国年并输出判断结果。(提示:若该年份值能被4整除且不能被100整除或者该份值能被400整除,则该是年,否则不是。)答案:de
8、fis_1eap_year(year):if(year%4=0andyear%100!=0)or(year%400=0):returnTruee1se:returnFa1sedefmain():try:year=int(input(z,Enterayear:)ifis_1eap_year(year):print(f*yearisa1eapyear.)e1se:print(f*yearisnota1eapyear.)exceptVa1ueError:print(zzInva1idinput.P1easeenterava1idyear,z)if_name_=_main_:main()5 .编写程序
9、,从键盘输入三个数,计算并输出三个数中最大的数。答案:deffindmax(a,b,c):returnmax(a,b,c)defmain():try:num1=f1oat(input(*Enterthefirstnumber:)num2=f1oat(input(zzEnterthesecondnumber:)num3=f1oat(input(*Enterthethirdnumber:)maxnum=findmax(num1,num2,num3)print(z,Themaximumnumberis:,maxnum)exceptVa1ueError:print(zzInva1ic1input.P1
10、easeenterva1idnumerica1va1ues,)if_name_=_main_:main()6 .编写程序,从键盘输入三个数,实现三个数从小到大排序并输出结果。答案:defsortnumbers(num1,num2,num3):#使用列表的Sort()方法对三个数进行排序SOrted_numbers=num1,num2,num3Sortednumbers.sort()returnSortednumbcrsdefmain():try:num1=f1oat(input(*Enterthefirstnumber:)num2=f1oat(input(*Enterthesecondnumb
11、er:)num3=f1oat(input(*Enterthethirdnumber:)Sortednumbers=sortnumbers(num1,num2,num3)print(Numberssortedinascendingorder:sortednumbers)exceptVa1ueError:print(z,Inva1idinput.P1easeenterva1idnumerica1va1ues.*)if_name_=_main_:main()7 .编写程序,从键盘输入a、b、C的值,计算一元二次方程x+bxc-0的根,并根据62-4ac的值大于O等于O及小于O三种情分别进行讨论。答案
12、:importmathdefquadratic_cquation_roots(a,b,c):D=b*2-4*a*cifDO:x1=(-b+math,sqrt(D)/(2*a)x2=(-b-math,sqrt(D)/(2*a)returnTwodistinctrea1roots:x1=:.2f,x2=:.2f)zz.format(x1,x2)e1ifD=O:x=-b/(2*a)return“Twoequa1rea1roots:x=:.2fz*.format(x)e1se:rea1_part=-b/(2*a)imaginary_part=math,sqrt(abs(D)/(2*a)returnTw
13、ocomp1exroots:x1=(:.2f+:.2fi,x2=:.2f-:.2f)i*.format(rea1_part,imaginary_part,rea1_part,imaginary_part)defmain():try:a=f1oat(input(*Entertheva1ueofa:)b=f1oat(input(z,Entertheva1ueofb:)c=f1oat(input(z,Entertheva1ueofc:)resu1t=quadratic_equation_roots(a,btc)print(z,Rootsofthequadraticequation:*)print(r
14、esu1t)exceptVa1ueError:print(z,Inva1idinput.P1easeenterva1idnumerica1va1ues./z)if_name_=_main_:main()8 .编写程序,从键盘输入一个字符,如果是大写英文字母则将其转换为小写英文字母,如果是小写英文字母则将其转换为大写英文字母,其他字符原样输出。答案:defmain():try:char=input(z,Enteracharacter:)ifchar,isupper():Convertedchar=char,1ower()e1ifchar,is1ower():converted_char=char
15、,upper()e1se:Convertedchar=charprint(*Convertedcharacter:*,Convertedchar)exceptKeyboardInterrupt:print(z,nProgramterminatedbytheuser.)if_name_=_main_:main()9 .编写程序,从键盘输入数字n,通过循环结构计算从1到n的乘积。答案:defca1cu1ate_factoria1withfor(n):factoria1=1foriinranged,n+1):factoria1*=ireturnfactoria1defmain():try:n=int(input(z,Enteranumber