【期末复习】Python实验题(更新中ing)

发布时间:2024-12-15 01:52

科学实验中的创新思维:设计实验解决问题 #生活知识# #科技生活# #科学实验#

目录 简单第一题第二题第三题第四题第五题第六题第七题第八题第九题第十题第十一题第十二题第十三题第十四题第十五题第十六题第十七题第十八题第十九题

简单

第一题

创建一个文件words_file.txt,读取这个文件中的所有内容,将内容中的英文字母按照一定的方式加密后,写入到一个新文件new_file.txt中。
加密的方法是:将A变成B,B变成C,……,Y变成Z,Z变成A;a变成b,b变成b,……,y变成z,z变成a,其他字符不变。

# 注意当前工程里要有words_file.txt这个文件啊! source_file = open('words_file.txt', 'r', encoding = 'utf-8') new_file = open('new_file.txt','w+', encoding = 'utf-8') content = source_file.read(1) while content: if content == 'Z':content = 'A' elif content == 'z': content = 'a' elif (ord(content) in range(65, 90)) or (ord(content) in range(97, 122)):content = chr(ord(content) + 1) new_file.write(content) content = source_file.read(1) source_file.close() new_file.close() 123456789101112131415

第二题

设计一个Circle(圆)类,该类中包括属性radius(半径),还包括__init__()、get_perimeter()(求周长)和get_area()(求面积)共方法。
设计完成后,创建Circle类的对象求周长和面积的功能。

# import decimal from decimal import Decimal PI = 3.14 class Circle: def __init__(self, radius): self.radius = radius def perimeter(self): return PI * 2 * self.radius def area(self): return PI * self.radius * self.radius circle = Circle(6) # 保留两位小数(以area为例) circle_area_str = str(circle.area()) circle_area = Decimal(circle_area_str).quantize(Decimal("0.01")) print('周长是{},面积是{}'.format(circle.perimeter(), circle_area))

12345678910111213141516'

PI = 3.14 class Circle: radius = 1 def __init__(self,r): self.radius = r def get_perimeter(self): perimeter = 2 * PI * self.radius return perimeter def get_area(self): area = PI * self.radius * self.radius return area circle = Circle(4) per = circle.get_perimeter() area = circle.get_area() print('perimeter = %.2f'%per) print('area = %.2f'%area)

12345678910111213141516'

第三题

已知字符串str= ‘skdaskerkjsalkj’,请统计该字符串中各字母出现的次数。

str = 'skdaskerkjsalkj' # 建立一个字典 count = {} for i in str:if i in count.keys():count[i] += 1;else:count[i] = 1; print(count) 123456789'

第四题

只能由1和它本身整除的整数被称为素数;请循环输出2-100之间的所有素数。

import math # 使用一个函数,传入参数n def is_prime(n): m = math.sqrt(n) # range()是python内置函数它能返回一系列连续增加的整数,它的工作方式类似于分片,可以生成一个列表对象。 for i in range(2, int(m)): if n % i == 0: return False return True # 主程序 # 此处为[2, 101),满足题目要求[2, 100]。 for i in range(2, 101): if is_prime(i): print(i, "是素数~") 123456789101112131415'

i = 2 for i in range(2, 101): j = 2 for j in range(2, int(math.sqrt(i))): if(i % j == 0): break # 正常结束for循环就会走这个else # 如果不是正常结束for循环,就不会走这个else else: print(i) 12345678910

第五题

已知某公司有一批销售员工,其底薪为2000元,员工销售额与提成比例如下:
(1)当销售额≤3000时,没有提成;
(2)当3000<销售额≤7000时,提成10%;
(3)当7000<销售额≤10000时,提成15%;
(4)当销售额>10000时,提成20%。
要求编写程序,通过输入员工的销售额,计算出其薪水总额并输出。

我不知道提成怎么算= =
这是我的理解的写法……

# 薪水 salary = 2000 # 销售额 sales = int(input(('请输入员工的销售额:'))) if sales <= 3000: print("薪水:", salary) elif 3000 < sales <= 7000: print("薪水:", salary + sales * 0.1) elif 7000 < sales <= 10000: print("薪水:", salary + sales * 0.15) else: print("薪水:", salary + sales * 0.2) 123456789101112'

# 这是老师给的标准答案 salary = 2000 sale = int(input('请输入销售额:')) if sale % 1000 == 0:#计算销售系数 k = sale / 1000 else: k = sale / 1000 + 1 if k > 3 and k <= 7:#计算薪水 salary += sale * 0.1 elif k > 7 and k <= 10: salary += sale * 0.15 elif k > 10: salary += sale * 0.2 print('薪水总计:{}'.format(salary)) 1234567891011121314'

第六题

中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只?编程解决以上问题。

cock, hen, chicken = 0, 0, 0 for cock in range(21):for hen in range(34):chicken = 100 - cock - hen if 5 * cock + 3 * hen+chicken / 3 == 100: print("cock={}, hen={}, chicken={}".format(cock, hen, chicken)) hen += 1 cock += 1 12345678

第七题

编写程序,输出九九乘法表。

# 行 for row in range(1, 10): # 列 for col in range(row, 10): #2d代表十进制填充(应该叭= = print("{0}*{1}={2:2d}".format(row, col, row * col), end = " ") print("") 1234567'

# 行 for row in range(1, 10): # 列 for col in range(1, row + 1): #2d代表十进制填充(应该叭= = print("{0}*{1}={2:2d}".format(col, row, row * col), end = " ") print("") 1234567'

第八题

编写一个计算年份是否是闰年的程序。
编程要求 计算年份是否是闰年,如果是闰年输出True 否则输出False。
测试说明:
测试输入:4981 预期输出:False
测试输入:2020 预期输出:True

1'

第九题

编写一个能将百分制成绩转换为等级制成绩的程序。
编程要求:
根据提示,在右侧编辑器补充代码,将百分制成绩转换为等级制成绩。 (90<=score<=100:A);
(80<=socre<90:B);
(70<=socre<80:C);
(60<=socre<70:D);
(score<60:E)
测试说明:
测试输入:90.5;
预期输出:A
测试输入:82;
预期输出:B

1'

第十题

求出给定范围的所有的水仙花数。
提示:所谓水仙花数是指一个三位数,其各位数字的立方和等于该数字本身。比如153是一个水仙花数,因为153=13+53+3^3。
例如:370就是一个水仙花数,因为370 = 3^3 +7^3 + 0^3
测试说明 :
以下是测试样例:
输入:410
输出:153 370 371 407

1'

第十一题

给定一个文件 data.csv,内容如下:
Temperature data
————————
————————
Fahrenheit degrees:57.3
请读取文件,获取文件中的数字内容。
预期输出:
文件中的数字内容为:57.3

# 请使用 open 函数读取文件中的指定内容 f = open("data.csv", "r") result = f.readlines()[-1] print("文件中的数字内容为:%s"%result.split(":")[-1].strip()) f.close() 12345

第十二题

从输入字符串中清除HTML标记。
例如:
htmlText = '<a href=\"index.html\">Welcome to Python world!</a>'
预期结果:
Welcome to Python world!

import re htmltext = r'<a href=\"index.html\">Welcome to Python world!</a>' regex_href = re.compile(r'<.+?>') result = regex_href.sub('', htmltext) #替换为空'',并返回替换结果 print(result) 12345678'

第十三题

编辑代码实现以下功能,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。

#编辑代码实现以下功能,随机生成50个介于[1,20]之间的整数,然后统计每个整数出现频率。 # 使用集合 import random list_1 = [] #随机生成包含50个0-20的整数 for i in range(50): # 左闭右闭 list_1.append(random.randint(1, 20)) print('生成50个随机整数的列表为:', list_1) #计算列表中每个元素出现的次数 # 左闭右开 for i in range(1, 21): list_2 = [] #计算元素个数并添加到列表list_2中 list_2.append(list_1.count(i)) #将列表转换成集合 s_1 = set(list_2) print('其中元素%s出现的次数为:'%(i), s_1)

12345678910111213141516171819'

import random x = [random.randint(1,20) for i in range 50 ] r = dict() for i in x: r[i] = r.get(i , 0)+1 for k, v in r.items(): print(k, v) 1234567

第十四题

输入一个华氏温度,输出对应的摄氏温度。
华氏度与摄氏度转换公式: C=(F−32)∗5/9 程序会从测试用例获取F的输入值,请根据公式计算出正确的C并正确输出。(按公式根据f计算摄氏度,四舍五入保留3位小数,要求使用round函数)
测试用例: 95.2345
输出结果: 摄氏度:35.13
要求输出结果严格按照以上格式,输出字符串中符号均为英文符号,所有数字均四舍五入保留两位小数!

f=float(input()) c=round((f - 32) * 5 / 9, 3)#按公式根据f计算摄氏度,四舍五入保留3位小数,要求使用round函数 print('摄氏度:{ .2f}'.format(c))#输出摄氏度,保留2位小数 123

第十五题

给定一个元组,利用列表和元组的相互转换实现元组元素的更改,去除元组中的整型数据。打印更改后的元组。
tup = (1,“3”,4,5,“4”,“a”,(1,2,3,4),“b”,“c”,6,17,“d”,(“a”,“b”,“c”),0,“e”,“f”,True,10,“False”,11,“h”,“A”,“B”,“C”,30,“D”,-35,-60,(-1,-2,-5))

# 利用列表和元组的相互转换实现元组元素的更改,去除元组中的整型数据 tup = (1,"3",4,5,"4","a",(1,2,3,4),"b","c",6,17,"d",("a","b","c"),0,"e","f",True,10,"False",11,"h","A","B","C",30,"D",-35,-60,(-1,-2,-5)) lis = list(tup) for val in tup: if type(val) == int:lis.remove(val) print(tuple(lis)) 1234567

第十六题

阶乘是利用递归方式求解的经典问题,要求编写程序,定义一个求阶乘的递归函数。

def factorial(num): if num == 1: return 1 else: return num * factorial(num - 1) 12345'

第十七题

斐波那契数列又称兔子数列,因数学家列昂纳多·斐波那契以兔子繁殖为例子引入。这个数 列中的数据满足以下公式: F(1)=1, F(2)=1, F(n)= F(n-1)+F(n-2) ( n>=3,n∈N*
编写程序,利用递归实现根据用户输入的数字输出斐波那契数列的功能。

def fib(n): if n == 1 or n == 2:return 1 return fib(n - 1) + fib(n - 2) number = int(input('请输入一个正整数: ')) result = fib(number) print("第%d个斐波那契数为:%d" % (number, result)) 12345678

第十八题

编写一个根据三条边长判断三角形类型的函数。
若不能构成三角形,返回0;
若构成等边三角形,返回1;
若构成等腰三角形,返回2;
若构成直角三角形,返回3;
若是其他三角形,返回4。
在主程序中,根据函数的返回值,显示对应的三角形类型。
测试输入:3,3,3;
预期输出:等边三角形
测试输入:1,2,3;
预期输出:不能构成三角形
测试输入:3,4,5;
预期输出:直角三角形

def sjx(a, b, c): if a < b + c and b < a + c and c < a + b: if a == b == c: lx = 1 elif a == b or a == c or b == c: lx = 2 elif a * a + b * b == c * c or a * a + c * c == b * b or b * b + c * c == a * a: lx = 3 else: lx = 4 else: lx = 0 return lx # 主函数 x = eval(input()) y = eval(input()) z = eval(input()) m = sjx(x, y, z) if m==0: print("不能构成三角形") elif m==1: print("等边三角形") elif m==2: print("等腰三角形") elif m==3: print("直角三角形") else: print("其他三角形")

123456789101112131415161718192021222324252627282930

第十九题

根据提示,接收用户输入的字符串。
若字符串不是数字字符串,提示不是数字;
若字符串x是回文数,显示x是回文数;
若字符串x不是回文数,显示x不是回文数。
测试输入:请输入字符串12321;
预期输出:12321是回文数
测试输入:请输入字符串12345;
预期输出:12345不是回文数
测试输入:请输入字符串12a;
预期输出:不是数字

x=input("请输入一个数字") #代码开始 if(str.isnumeric(x)): if(x[::-1]==x): print("{}是回文数".format(x)) else: print("{}不是回文数".format(x)) else: print("不是数字") 123456789'

网址:【期末复习】Python实验题(更新中ing) https://www.yuejiaxmz.com/news/view/477237

相关内容

(开题)flask框架健康体检管理系统设计与实现(程序+论文+python)
Python可以做什么?你所不知道的Python——生活中的奇妙用途
生活中的5 个自动化Python 项目——从初学者到高级(附零基础学习教程)
Python笔记——Python中is和==的区别
(开题)flask框架湖北二师高校旧货交易系统的设计与实现(程序+论文+python)
Python中的遇到的错误(持续更新)
python中使用
基于python+flask框架的健康管理系统的设计与实现(开题+程序+论文) 计算机毕设
(开题)flask框架优餐生活养生系统(程序+论文+python)
Python在家居自动化中的应用:打造智能生活新体验

随便看看