




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章一、(1)对 (2)错 (3)对 (4)错 (5)错二.、1、对象2、跨平台(可移植)3、import4、pip5、.py三、选择题1.B 2C 3C 4B5C四、编程题绘制多个起点相同但大小不同的五角星importturtleastdefdraw_fiveStars(leng): count=1 whilecount<=5: t.forward(leng) #向前走50 t.right(144) #向右转144度 count+=1 leng+=10 #设置星星大小 ifleng<=100: draw_fiveStars(leng)defmain(): t.penup() t.backward(100) t.pendown() t.pensize(2) t.pencolor('red') segment=50 draw_fiveStars(segment) t.exitonclick()if__name__=='__main__': main()整数求和。输入整数n,计算1+2+3+……+n之和。a=int(input("请输入一个整数:"))s=0foriinrange(a+1):s+=iprint("1~%d的和为:%d"%(a,s))整数排序。输入三个整数,把这三个数由小到大输出。a=[]foriinrange(3): x=int(input('请输入整数:')) a.append(x)a.sort()foriina:print(i,end="")打印九九乘法表。foriinrange(1,10):forjinrange(1,i+1):print("%d×%d=%-2d"%(j,i,i*j),end='')print('')编写一个Python程序,打印出“Hello,World!”的字符串。print(“Hello,World!”)第2章一、填空题1# 2type() 3id() 4 3+4j或者3+4J 5// 6| 7A<B 8del9、291 10 83 11 123 12 5 13 3 14 1:2:3 15 216、len 17max() 18min() 19sum() 209 217 222 23 9 2412 25 1626‘A’ 27‘A’ 28 5.0 29True 30 True二、判断题1 错 2 错 3 对 4 错 5对 6错 7对 8 对 9 对10错11 错 12 对 13 对 14 对 15对 16错 17对 18对 19对20 错 21错 22对 23对 24对 25对 26对 27错三、选择题1 D 2 B 3 B 4 D 5 C 6 D 7 B 8 C 9 A10 B 11 B 12 B 13 D 14 D 15 B 16 B 17 D 18 D19 D 20 B 21 B 22 C 23 A 24 C 25 D四、编程题1age last {age} 2 00000377编写程序,输入一个字符串,输出字符串中最长的单词s=input()words=s.split()t=max(words,key=len)print(t)4.编写程序,输入一个字符串,输出反转后的字符串。s=input()s1=s[::-1]print(s1)5.输入一个字符串,输出某个字符在字符串中出现的次数。s=input("请输入字符串:")c=input("请输入统计的字符:")n=s.count(c)print(n)一、填空题1、continuebreak2、12 3、15 4、a=2b=1c=15、26、程序模块7、68、1二、选择题D C D A B A C C C A三、编程题1.编写程序,接收用户输入的一串数据,删除数据里面包含的数字后输出。#接收用户输入user_input=input("请输入一串数据:")#初始化一个空字符串来保存结果cleaned_data=""#遍历输入字符串中的每个字符forcharinuser_input:#如果字符不是数字,则添加到结果字符串中ifnotchar.isdigit():cleaned_data+=char#输出处理后的数据print("删除数字后的数据:",cleaned_data)2.编写程序,用户输入4位整数作为年份,判断其是否为闰年。如果年份能被400整除,则为闰年;如果年份能被4整除但不能被100整除也为闰年。#接收用户输入的年份year=int(input("请输入一个4位整数年份:"))#判断是否为闰年的逻辑ifyear%400==0:print(f"{year}年是闰年。")elifyear%4==0andyear%100!=0:print(f"{year}年是闰年。")else:print(f"{year}年不是闰年。")3.如果一个四位数,即位于1000到9999之间(包括1000和9999),它的每一位数字(千位、百位、十位、个位)的四次方之和等于这个数本身。这些数字因其独特的性质而被称为四位水仙花数,也叫阿姆斯特朗数,请编写程序找出所有的阿姆斯特朗数。#查找所有的四位阿姆斯特朗数fornuminrange(1000,10000):#四位数的范围是1000到9999#将数字转换为字符串,以便可以访问每个位上的数字str_num=str(num)#获取数字的位数n=len(str_num)#初始化sum为0sum_of_powers=0#遍历每个位上的数字fordigitinstr_num:#将字符串转换为整数并计算其n次幂sum_of_powers+=int(digit)**n#如果各位数字的n次幂之和等于原数,则返回Trueifsum_of_powers==num:print(num)4百钱买百鸡问题:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?编程解决以上问题。forxinrange(0,21):#公鸡最多20只(因为5钱一只,超过20只则总价超过100钱)foryinrange(0,34):#母鸡最多33只(因为3钱一只,超过33只则总价超过100钱)#根据公鸡和母鸡的数量计算小鸡的数量z=100-x-y#检查小鸡的数量是否能被3整除(因为3只小鸡值1钱)ifz%3==0:#计算总钱数total_money=5*x+3*y+z//3#检查是否满足题目条件iftotal_money==100:#如果满足条件,则输出print("公鸡:{}只,母鸡:{}只,小鸡:{}只".format(x,y,z))5、只能由1和它本身整除的整数被称为素数;若一个素数从左向右读与从右向左读是是相同的数,则该素数为回文素数。编程求解2~10000内的所有回文素数。defis_prime(n):"""判断一个数是否是素数"""ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefis_palindrome(n):"""判断一个数是否是回文数"""returnstr(n)==str(n)[::-1]#遍历2到10000内的所有数fornuminrange(2,10001):ifis_prime(num)andis_palindrome(num):print(num)6.身体质量指数,是BMI(BodyMassIndex)指数,简称体质指数,是国际上常用的衡量人体胖瘦程度以及是否健康的一个标准,由19世纪中期的比利时通才朗伯·阿道夫·雅克·凯特勒最先提出。计算公式为:BMI=体重÷身高2。(体重单位:千克;身高单位:米。)。当BMI数值低于18.5时,体重偏瘦;当BMI数值大于等于18.5小于24.9时,体重正常;当BMI数值大于24.9时,体重过胖。体重偏瘦和体重过胖都属于异常结果。编写程序,输入体重(公斤)和身高(米),利用公式计算BMI,并将结果输出(体重正常、偏瘦和过胖)。#获取用户输入weight=float(input("请输入您的体重(公斤):"))height=float(input("请输入您的身高(米):"))#计算BMIbmi=weight/(height**2)ifbmi<18.5:print("您的BMI值是:{:.2f}".format(bmi))print("您的体重偏瘦")elif18.5<=bmi<24.9:print("您的BMI值是:{:.2f}".format(bmi))print("您的体重正常")else:print("您的BMI值是:{:.2f}".format(bmi))print("您的体重偏胖")7.已知企业对销售人员的奖励措施如下:底薪为3000元,奖金根据销售额提成,比例如下:(1)当销售额<=50000时,没有提成;(2)当50000<销售额<=100000时,提成0.8%;(3)当100000<销售额<=200000时,提成1.2%;(4)当销售额>20000时,提成1.8%。要求编写程序,通过输入员工的销售额,计算并输出应发工资。sales=float(input("输入销售额:"))base=3000rate=0ifsales<=50000:rate=0elif50000<sales<=100000:rate=0.008elif100000<sales<=200000:rate=0.012else:rate=0.18bonus=sales*ratesalary=base+bonusprint("应发工资为:{:.2f}元".format(salary))8.编写程序,实现分段函数计算,如下表所示。xyx<=10010<x<=30x30<x<=503x-550<x<=1004x2-3x+10100<=xx3x=float(input("输入x:"))ifx<=10:y=0elif10<x<=30:y=xelif30<sales<=50:y=3*x-5elif50<x<=100:y=4*x**2-3*x+10else:y=x**3print(y)一、填空题函数。软件复用。def函数名。递归函数。pass。全局外。二、判断题使用函数可以提高程序代码的复用性。(对)函数在定义后会立刻执行。(错)变量在程序的任意位置都可以被访问。(错)调用函数也就是执行函数。(对)通过return语句,可以返回多个值。(对)lambda表达式,又称匿名函数,常用来表示内部仅包含一行表达式的函数。(对)通过调用Python的help()内置函数或者__doc__属性,可以查看某个函数的使用说明文档。(对)三、选择题下列关于函数的说法中,描述错误的是(C)。函数可以减少重复的代码,使得程序更加模块化在不同的函数中可以使用相同名字的变量调用函数时,实参的传递顺序必须与形参的顺序相同匿名函数通常只包含一行代码,并且没有函数名Python语言使用(B)关键字定义一个匿名函数。anonymousB.lambda C.class D.def Python自定义一个函数使用(D)关键字。A.anonymousB.lambda C.class D.def阅读下面的代码:a=20defadd(b):globalaa=100returna+bprint(add(30))运行代码,输出结果为(B)。A50 B130 C120 D 30阅读下面的代码:a=20defadd(b):globalaa=100returna+bprint(a,end="")add(30)print(a)运行代码,输出结果为(C)。A100100 B30100 C20100 D 2020阅读下面的代码:a=20defadd(b):a=100returna+bprint(a,end="")add(30)print(a)运行代码,输出结果为(D)。A100100 B30100 C20100 D 2020请阅读下面的代码:deffun(n1,n2,*args):s=sum(args)print(s)fun(1,2,3,4,5)运行代码,输出结果为(B)。A15 B12 C3 D 6阅读以下程序:x=20deffunc():print(x)x=10func()程序执行的结果为(A)。程序异常B、20 C、10 D、30请阅读下面的代码:a=int(input())b=int(input())c=input()ifc=='+':print(a+b)elifc=='-':print(a-b)elifc=='*':print(a*b)elifc=='/':print(a/b)else:print("输入错误,请重试")当程序运行后,小新依次输入86*程序输出结果应为(C)A.18 B.11 C.48 D.4哪个是Python中的匿名函数定义?(B)A.defmy_function():returnTrueB.lambdax:x*x*xC.classMyLambda:D.x=x**2在Python中,以下哪个表达式正确地使用了一个匿名函数来计算两个数的和?(A)A.sum=lambdax,y:x+yB.sum=lambda:x+yC.sum(x,y)=lambda:x+yD.sum=def(x,y):returnx+y在以下代码中,result的值是什么?(B)result=map(lambdax:x*2,[1,2,3,4])print(list(result))A.[1,2,3,4]B.[2,4,6,8]C.[0,0,0,0]D.错误,因为map函数不支持匿名函数哪个语句不能定义匿名函数?(D)A.f=lambdax:x**2B.g=lambdax,y:x+yC.h=lambda:print("Hello,World!")D.i=def(x):returnx*x在以下代码中,filter函数将返回什么?(B)even_numbers=filter(lambdax:x%2==0,[1,2,3,4,5,6])print(list(even_numbers))A.[1,3,5]B.[2,4,6]C.[0,2,4,6]D.错误,因为filter函数不支持匿名函数四、简答题简述函数的定义和代码复用。答:定义函数需要用def关键字实现,具体的语法格式如下:def函数名(参数列表): ‘’’文档字符串’’’[return[返回值]]函数的定义包括函数头和函数体两部分,数头以关键字def开始,后跟一个空格和函数名,接着是一对括号,括号内可列出函数的参数,多个参数用逗号间隔,括号之后是一个冒号,函数体由多条语句构成,与函数头维持一个层级的缩进,函数头和函数体之间可以加入三重引号界定的字符串作为注释,即文档字符串,用于简述函数的功能。 软件复用是指在开发新的软件系统时,对已有的软件或软件模块重新使用。这里的“已有的软件”可以是已经存在的软件,也可以是专门设计的可复用组件。软件复用的主要目的是提高软件系统的开发质量与效率,同时降低开发成本。简述pass语句的作用。 pass语句主要是作为一个空语句,用于保持程序结构的完整性。其作用的具体包括占位符,pass语句在Python中不执行任何操作,它主要用于在需要语法上完整的语句块,但暂时不需要执行任何实际代码的情况下作为占位符。简述局部变量和全局变量的区别。变量按其作用域的不同,可划分为局部变量和全局变量。在函数体或局部范围内声明的变量称为局部变量,函数内部定义的变量为局部变量(localvariable),其只在函数内起作用,函数执行结束后,会被自动删除,函数外部定义的变量为全局变量(globalvariable),函数内部可以访问全局变量,函数调用结束后,全局变量仍存在。简述模块和包的含义。 Python模块是一个包含Python定义和语句的文件,文件名以.py为扩展名。模块可以定义函数、类、变量等,并包含可执行的代码。使用模块的主要目的是组织代码和提供功能。通过将相关的函数、类和变量封装在模块中,可以提高代码的可读性和可维护性。模块也可以避免函数名和变量名发生冲突。 将一个包含Python代码文件的目录(文件夹)称为包(package),相应的导入即为包导入,要使用包导入,只需在import语句中列出目录路径,不同层次间以点号间隔。 简述导入模块的四种方法。模块导入的语法格式:(1)导入模块:import模块名[AS标识符]#导入模块(或同时取别名)(2)导入模块中所有项目(函数、类或变量):from模块名import*(3)导入模块中指定项目:from模块名import项目名[AS标识符](4)导入指定包模块中指定项目:from包名.模块名import项目名[AS标识符]五、编程题编写函数,计算1~1000中奇数之和。defsum_of_odds():returnsum(range(1,1001,2))print(sum_of_odds())编写函数,计算1*2*3*……*20也就是20!的乘积。deffactorial(n):ifn==0:return1returnn*factorial(n-1)print(factorial(20))编写函数,判断用户输入的整数是否为回文数。回文数是一个正向和逆向都相同的整数,如123454321、9889。defis_palindrome(n):returnstr(n)==str(n)[::-1]n=eval(input("请输入数:"))ifis_palindrome(n):print(n,"是回文数")else:print(n,"不是回文数")编写函数,判断用户输入的三个数字是否能构成三角形的三条边。defcan_form_triangle(a,b,c):returna+b>canda+c>bandb+c>aprint(can_form_triangle(3,4,5))#输出:Trueprint(can_form_triangle(1,2,5))#输出:False编写函数,求两个正整数的最小公倍数。defgcd(a,b):whileb!=0:a,b=b,a%breturnadeflcm(a,b):returnabs(a*b)//gcd(a,b)print(lcm(12,15))#输出:60编写函数,计算传入的字符串中数字、字母、空格和其它字符的个数。defcount_chars(s):digits=0letters=0spaces=0others=0forcharins:ifchar.isdigit():digits+=1elifchar.isalpha():letters+=1elifchar.isspace():spaces+=1else:others+=1returndigits,letters,spaces,othersprint(count_chars("Hello123World!"))#输出:(3,9,1,1)古代有一个梵塔,塔内有A、B、C三个基座,A座上有60个盘子,盘子大小不等,大的在下,小的在上。有人想把这60个盘子从A座移到C座,但每次只允许移动一个盘子,并且在移动的过程中,3个基座上的盘子始终保持大盘在下,小盘在上。在移动过程中盘子可以放在任何一个基座上,不允许放在别处。编写函数,根据用户输入盘子的个数,显示移动的过程。defhanoi(n,A,B,C):#将n个盘子从A借助B移动到Cifn>0:#将n-1个盘子从A借助C移动到Bhanoi(n-1,A,C,B)#将第n个盘子从A移动到Cprint('Movedisk{n}from{A}to{C}'.format(n=n,A=A,C=C))#将n-1个盘子从B移动到Chanoi(n-1,B,A,C)#调用hanoi函数,初始时60个盘子在A上,目标移到C,B作为辅助hanoi(60,'A','B','C')输出1~100以内的所有素数。defis_prime(n):ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefprint_primes_up_to(n):foriinrange(2,n+1):ifis_prime(i):print(i)print_primes_up_to(100)编写函数,判断一个整数是否为回文素数,并编写主程序调用该函数。defis_prime(n):ifn<2:returnFalseforiinrange(2,int(n**0.5)+1):ifn%i==0:returnFalsereturnTruedefis_palindrome(n):returnstr(n)==str(n)[::-1]defis_palindrome_prime(n):returnis_prime(n)andis_palindrome(n)#主程序调用函数defmain():num=int(input("请输入一个整数:"))ifis_palindrome_prime(num):print("%d是回文素数"%num)else:print("%d不是回文素数"%num)#调用主程序if__name__=="__main__":main()编写函数,接收一个字符串,分别统计大写字母、小写字母、数字、其他字符的个数,并以元组的形式返回结果。defcount_chars_in_string(s):uppercase=0lowercase=0digits=0others=0forcharins:ifchar.isupper():uppercase+=1elifchar.islower():lowercase+=1elifchar.isdigit():digits+=1else:others+=1returnuppercase,lowercase,digits,othersresult=count_chars_in_string("Hello123World!")print(result)局部变量会隐藏同名的全局变量吗?请编写程序代码进行验证。局部变量会隐藏同名的全局变量,以下是验证代码:x=10#全局变量deftest_global_local():x=5#局部变量print(x)#输出局部变量的值test_global_local()#输出5print(x)#输出全局变量的值,即10编写函数,模拟内部函数max()的功能。defmy_max(*args):ifnotargs:returnNonemax_value=args[0]fornuminargs:ifnum>max_value:max_value=numreturnmax_valueprint(my_max(1,3,5,2,4))#输出5编写函数,模拟内部函数sorted()。defmy_sorted(lst):returnsorted(lst)#或者使用冒泡排序等算法实现defmy_sorted_bubble(lst):n=len(lst)foriinrange(n):forjinrange(0,n-i-1):iflst[j]>lst[j+1]:lst[j],lst[j+1]=lst[j+1],lst[j]returnlstprint(my_sorted_bubble([5,2,9,1,5,6]))#输出[1,2,5,5,6,9]已知函数定义deffun(x,y,op):returneval(str(x)+op+str(y)),那么表达式fun(2,3,’+‘)的值为多少? 5编写函数,可以接收任意多个整数并输出其中的最大值和所有整数之和。defmax_and_sum(*args):ifnotargs:returnNone,0#初始化最大值为第一个元素,总和为0max_value=args[0]total_sum=max_value#遍历其他元素,更新最大值和总和fornuminargs[1:]:ifnum>max_value:max_value=numtotal_sum+=num#返回最大值和总和returnmax_value,total_sum#调用函数并打印结果max_val,total_sum=max_and_sum(1,3,5,7,2,9)print("最大值:{max_val},总和:{total_sum}".format(max_val=max_val,total_sum=total_sum))有一个数列,形式为1113591731,请编写程序计算该数列第2024项的值。deffibonacci_variant_triple(n):ifn<=3:return1#前三项都是1sequence=[1,1,1]#初始化前三项foriinrange(3,n):sequence.append(sum(sequence[-3:]))#将前三项之和添加到数列中returnsequence[-1]#返回第n项的值#计算数列的第2024项print(fibonacci_variant_triple(2024))第5章一、判断题答案:正确(√)正确(√)错误(×)正确(√)二、填空题答案:任何不可变互不相同键,值1,3{1,3,5}三、选择题答案:AACCB,C,DDC,DA,B,C,D,GBA四、编程题答案:1.斐波那契数列:deffibonacci(n):fib_sequence=[0,1]whilelen(fib_sequence)<n:fib_sequence.append(fib_sequence[-1]+fib_sequence[-2])returnfib_sequenceprint(fibonacci(10))2.单词排序:words=input("请输入若干个单词,用空格分隔:").split()words_sorted=sorted(words)print(words_sorted)3.列表增加10:numbers=[1,2,3,4,5]numbers=[x+10forxinnumbers]print(numbers)4.字典值增加5:d={'a':1,'b':2,'c':3}forkeyind:d[key]+=5print(d)5.列表元素乘以2:original_list=[1,2,3,4,5]new_list=[x*2forxinoriginal_list]print(new_list)6.大写转小写:s="HelloWorld!"lowercase_s=s.lower()print(lowercase_s)7.列表最大值和最小值:nums=[1,3,5,2,4]max_value=max(nums)min_value=min(nums)print((max_value,min_value))8.列表交替合并:list1=[1,2,3]list2=['a','b','c']merged_list=[xforpairinzip(list1,list2)forxinpair]print(merged_list)9.列表排序:tt=[4,2,5,1,3]print(sorted(tt))print(sorted(tt,reverse=True))10.列表反转:tt=[4,2,5,1,3]print(tt[::-1])print(list(reversed(tt)))11.数字转中文大写:defnum_to_chinese(num):chinese_num={'0':'零','1':'壹','2':'贰','3':'叁','4':'肆','5':'伍','6':'陆','7':'柒','8':'捌','9':'玖','.':'点'}chinese_str=''forcharinstr(num):chinese_str+=chinese_num[char]returnchinese_strprint(num_to_chinese(1.23))12.随机生成整数列表:importrandomrandom_numbers=[random.randint(1,100)for_inrange(10)]print(random_numbers)
第6章一、判断题答案:正确(√)正确(√)正确(√)错误(×)二、填空题答案:openevalxml.etree.ElementTreejson三、选择题答案:ABDADCAAAA四、编程题答案:1.单词出现次数统计:fromcollectionsimportCounterwithopen('filename.txt','r')asfile:text=file.read()words=text.split()word_counts=Counter(words)forword,countinword_counts.most_common():print(word,count)2.存储和读取JSON数据:importjsondata={'key':'value'}withopen('data.json','w')asfile:json.dump(data,file)withopen('data.json','r')asfile:new_data=json.load(file)print(new_data)3.读取整数排序输出:withopen('input.txt','r')asinfile,open('sorted_output.txt','w')asoutfile:sorted_numbers=[]forlineininfile:numbers=list(map(int,line.split()))sorted_numbers.extend(sorted(numbers))fornumberinsorted(sorted_numbers):outfile.write(f"{number}")outfile.write("\n")4.奇数偶数分离:odd_numbers=[]even_numbers=[]withopen('input.txt','r')asinfile,open('odd_output.txt','w')asoddfile,open('even_output.txt','w')asevenfile:forlineininfile:numbers=list(map(int,line.split()))oddfile.write(''.join(str(x)forxinnumbersifx%2!=0)+'\n')evenfile.write(''.join(str(x)forxinnumbersifx%2==0)+'\n')5.字符串排序输出:withopen('input.txt','r')asinfile,open('sorted_output.txt','w')asoutfile:sorted_strings=[]forlineininfile:strings=line.split()sorted_strings.extend(sorted(strings))forstringinsorted_strings:outfile.write(f"{string}")outfile.write("\n")6.打印文件内容:withopen('filename.txt','r')asfile:print(file.read())7.保存文件内容到新文件:withopen('filename.txt','r')asinfile,open('new_filename.txt','w')asoutfile:outfile.write(infile.read())8.创建并写入文本文件:withopen('newfile.txt','w')asfile:file.write("这里是一些文本内容。")9.计算某一行的长度:withopen('filename.txt','r')asfile:fori,lineinenumerate(file,1):print(f"第{i}行的长度是:{len(line)}")10.反转每行内容:withopen('input.txt','r')asinfile,open('reversed_output.txt','w')asoutfile:forlineininfile:outfile.write(''.join(reversed(line))+'\n')11.计算每列平均值:withopen('data.txt','r')asfile:lines=file.readlines()num_lines=len(lines)num_columns=len(lines[0].strip().split(','))totals=[0]*num_columnsforlineinlines:values=line.strip().split(',')fori,valueinenumerate(values):totals[i]+=float(value)averages=[total/num_linesfortotalintotals]print(averages)12.提取CSV文件中的姓名和年龄:importcsvwithopen('users.csv','r')asfile:reader=csv.DictReader(file)forrowinreader:print(f"姓名:{row['name']},年龄:{row['age']}")13.保存用户信息到新的CSV文件:importcsvdata=[]withopen('users.csv','r')asfile:reader=csv.DictReader(file)forrowinreader:data.append({'name':row['name'],'age':row['age']})withopen('new_users.csv','w',newline='')asfile:writer=csv.DictWriter(file,fieldnames=['name','age'])writer.writeheader()writer.writerows(data)14.读取二进制文件并转换为十六进制字符串:withopen('binaryfile.bin','rb')asfile:binary_data=file.read()hex_string=binary_data.hex()print(hex_string)15.写入二进制数据到新文件:withopen('binaryfile.bin','rb')asinfile,open('new_binaryfile.bin','wb')asoutfile:binary_data=infile.read()outfile.write(binary_data)第7章一、判断题答案:正确(√)错误(×)正确(√)正确(√)二、填空题答案:defimportintif三、选择题答案:ACABBADACBDCD四、编程题答案:1.简单计算器:defcalculator():num1=float(input("请输入第一个数字:"))num2=float(input("请输入第二个数字:"))operator=input("请输入操作符(+、-、*、/):")ifoperator=='+':print(f"{num1}+{num2}={num1+num2}")elifoperator=='-':print(f"{num1}-{num2}={num1-num2}")elifoperator=='*':print(f"{num1}*{num2}={num1*num2}")elifoperator=='/':ifnum2!=0:print(f"{num1}/{num2}={num1/num2}")else:print("除数不能为0")else:print("无效的操作符")calculator()2.简单日历:importcalendardefprint_calendar(year,month):cal=calendar.TextCalendar(calendar.SUNDAY)print(cal.formatmonth(year,month))year=int(input("请输入年份:"))month=int(input("请输入月份:"))print_calendar(year,month)3.石头、剪刀、布游戏:importrandomdefrock_paper_scissors():user_choice=int(input("请输入手势(1-石头,2-剪刀,3-布):"))choices=["石头","剪刀","布"]computer_choice=random.choice(choices)print(f"电脑出的手势是:{computer_choice}")ifuser_choice==1andcomputer_choice=="布":print("你赢了!")elifuser_choice==2andcomputer_choice=="石头":print("你赢了!")elifuser_choice==3andcomputer_choice=="剪刀":print("你赢了!")elifuser_choice==1andcomputer_choice=="剪刀":print("你输了!")elifuser_choice==2andcomputer_choice=="布":print("你输了!")elifuser_choice==3andcomputer_choice=="石头":print("你输了!")else:print("平局!")rock_paper_scissors()4.猜数字游戏:importrandomdefguess_number():number=random.randint(1,100)whileTrue:try:guess=int(input("猜一个1到100之间的数字:"))ifguess<number:print("太小了,再试一次。")elifguess>number:print("太大了,再试一次。")else:print("恭喜你,猜对了!")breakexceptValueError:print("请输入一个有效的整数。")guess_number()5.简单文本编辑器:deftext_editor():filename=input("请输入文件名:")try:withopen(filename,'r')asfile:content=file.read()print("文件内容如下:")print(content)add_content=input("请输入要添加的文本内容:")withopen(filename,'a')asfile:file.write(add_content+"\n")print("内容已添加并保存。")exceptFileNotFoundError:print(f"文件{filename}未找到。")text_editor()6.简单电子邮件客户端:importsmtplibdefsend_email():sender=input("请输入发件人地址:")receiver=input("请输入收件人地址:")subject=input("请输入邮件主题:")body=input("请输入邮件正文:")print(f"邮件发送成功!发件人:{sender},收件人:{receiver},主题:{subject},正文:{body}")send_email()7.面向对象编程多态性示例:classCar:defrun(self):print("汽车正在行驶。")classBYD(Car):defrun(self):print("比亚迪汽车正在行驶。")classCHANGCHENG(Car):defrun(self):print("长城汽车正在行驶。")classPerson:defuse_car(self,car):car.run()person=Person()byd_car=BYD()changcheng_car=CHANGCHENG()person.use_car(byd_car)person.use_car(changcheng_car)第8章一、判断题答案:正确(√)正确(√)错误(×)正确(√)二、填空题答案:ndarrayDataFramelmplot或distplotfigure三、选择题答案:DDAACABBDD四、编程题答案:1.绘制正12边形:importturtledefdraw_12_sides():turtle.pensize(2)foriinrange(1,13):#1turtle.fd(40)#2turtle.right(30)#3turtle.done()draw_12_sides()2.输出实心菱形图案:foriinrange(1,5):print(''*(4-i)+'*'*(2*i-1))foriinrange(1,5):print(''*i+'*'*(8-2*i))3.绘制柱状图:importmatplotlib.pyplotaspltmonth=['Jan','Feb','Mar','Apr','May','Jun']sales=[120,90,150,180,80,110]plt.bar(month,sales)plt.show()4.读取并打印CSV文件数据:importcsvfilename='data.csv'withopen(filename,newline='')ascsvfile:reader=csv.reader(csvfile)forrowinreader:print(row)5.创建并保存带文字的图像:fromPILimportImage,ImageDraw,ImageFontimg=Image.new('RGB',(300,200),color='white')d=ImageDraw.Draw(img)font=ImageFont.load_default()d.text((50,50),'Hello,world!',fill=(0,0,0),font=font)img.save('hello_world.png')6.生成数组并计算统计数据:importnumpyasnpdata=np.random.randint(1,100,100)print("最小值:",np.min(data))print("最大值:",np.max(data))print("平均值:",np.mean(data))print("中位数:",np.median(data))7.读取Excel、排序并写入新的Excel:importpandasaspddf=pd.read_excel('data.xlsx')df_sorted=df.sort_values(by=df.columns[0])df_sorted.to_excel('sorted_data.xlsx',index=False)8.绘制正弦曲线并保存:importmatplotlib.pyplotaspltimportnumpyasnpx=np.linspace(0,2*np.pi,100)y=np.sin(x)plt.plot(x,y)plt.savefig('sin_wave.png')plt.show()9.加载Iris数据集、KMeans聚类并可视化:fromsklearn.datasetsimportload_irisfromsklearn.clusterimportKMeansimportmatplotlib.pyplotaspltiris=load_iris()kmeans=KMeans(n_clusters=3)kmeans.fit(iris.data)plt.scatter(iris.data[:,2],iris.data[:,3],c=kmeans.labels_)plt.show()10.计算文本文件中单词出现次数:fromcollectionsimportCounterwithopen('test.txt','r')asfile:text=file.read().lower()words=text.split()word_counts=Counter(words)print(word_counts)11.输出用户输
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 餐饮业多人合伙创业合作协议范本
- 文化创意产业园区商位租赁与创意成果转化合同
- 车辆购置税损失赔偿合同
- 精装住宅楼装修工程合同
- 专业市场场地使用权转让及设备租赁协议
- 大数据分析支持下的物流采购合同
- 护理急救案例分享
- 车辆挂靠免赔责任协议范本
- 节假日车辆租赁合同及应急预案
- 车辆抵押贷款风险控制服务协议
- 2024吉林省农村信用社联合社招聘笔试历年典型考题及考点剖析附带答案详解
- 2024-2025学年度部编版一年级语文下学期期末试卷(含答案)
- DB13(J)-T 8496-2022 城市污水处理厂提标改造技术标准
- 2025至2030中国锂电池粘结剂市场竞争状况及融资并购研究报告
- 聋校语文课程标准解读
- 河南省百师联盟2024-2025学年高二下学期4月联考数学试题(原卷版+解析版)
- 2025-2030中国IDC行业发展趋势与前景展望战略研究报告
- 合伙人商业保密协议书9篇
- 工程保修的管理措施和承诺
- 测控技术培训课件
- 江苏省2024年普通类本科批次平行志愿投档线(物理等科目类)
评论
0/150
提交评论