Python习题小测
一些Python入门习题的整合
zhanghongyi_cpp
臣提瓦特人,喜原甚
展开
-
4. 编写用牛顿迭代法求方程根的函数。
【问题描述】编写用牛顿迭代法求一元三次方程根的函数Nmethod(a,b,c,d)。方程为ax3 +bx2 +cx+d=0,系数a、b、c、d由主函数输入,求x在1.5附近的一个实根。牛顿迭代公式为xn+1=xn-f(xn)/f’(xn),其中f’(xn)是f(xn)在xn处的导数。【输入形式】a,b,c,d=eval(input(“请输入一元三次方程的系数,数据之间以逗号作为分隔符”))【输出形式】print(“所求方程的根x为{:.2f}”.format(x))【样例输入】2,-4,3,-6。原创 2024-05-22 23:30:56 · 350 阅读 · 0 评论 -
3. 计算文件中学生总成绩,找出成绩不合格的同学
【问题描述】1ban.csv文件中存放了班级同学的平时成绩与期末成绩,课程总成绩中平时占比为4,期末占比为6。因为仅存储有1ban.csv文件,如果文件名输入错误请让同学重新输入,用户可能会多次输入错误;如果文件名正确,读取班级信息,输出班级中总评不合格的同学学号与总评成绩。【样例输入】提示:该样例中因为文件名错误,用户重新输入了1ban.csv。【输出形式】输出班级中不合格同学的学号与总评成绩。【输入形式】输入信息是班级文件的名称与文件类型。学号,平时成绩,期末成绩。原创 2024-05-31 19:58:31 · 421 阅读 · 0 评论 -
1. 文件拷贝
将f_in.txt文件内容拷贝至当前目录下的f_out.txt,文件中。在所拷贝的文件中, 多个连续空白符(包括空格符、制表符)只拷贝一个空格符,若非空白符之间有一个制表符,则该制表符也要替换为空格符,其它字符不变。写一程序将一个文件f_in.txt拷贝至另一个文件f_out.txt, 其中在所拷贝的文件中, 多个连续空白符(包括空格符、制表符)只拷贝一个空格符, 其它字符不变。源文件名和目标文件名分别为f_in.txt和f_out.txt,程序将从当前目录下读取f_in.txt文件。原创 2024-05-31 15:10:29 · 291 阅读 · 0 评论 -
【竞赛】写一个自定义函数move(list,m,n),用于实现列表元素顺序后移。
【问题描述】编写一个自定义函数move(list,n,m),将含有n个元素的列表元素顺序向后移m(0<m<=n)个位置,使得原列表中最后m个元素变成移动之后的列表最前面的m个元素。移动之后的列表为: [3, 4, 5, 6, 1, 2]原始列表为: [1, 2, 3, 4, 5, 6]print(‘移动之后的列表为:’,list)print(“原始列表为:”,list)原创 2024-05-23 21:58:40 · 152 阅读 · 0 评论 -
1. 顺序法查找学生成绩信息
stu_infor=[[“范兴贵”, “1班”, 85], [“吴帅飞”, “1班”, 73], [“黄海燕”, “1班”, 96], [“刘亚会”, “1班”, 37], [“陆华丽”, “1班”, 83], [“郭峰伶”, “1班”, 77], [“张亚琼”, “1班”, 98], [“李先禄”, “1班”, 68], [“马四喜”, “1班”, 68]]],紧接着从键盘输入一个学生姓名,查找这个学生是否在学生成绩信息表中,如果存在,输出该学生的成绩信息;若不存在,输出“表中没有该生信息”。原创 2024-05-20 20:15:34 · 272 阅读 · 0 评论 -
3. 判断幸运数对
【问题描述】幸运数对是指两数相差3一对数,每个数的各位数字之和能被6整除,如147和150就是幸运数对(1+4+7=12,1+5+0=6)。写一个自定义函数LnPairs§,用于判断数字是否为幸运数,通过调用函数实现输出所有的三位数幸运数对。原创 2024-05-18 16:25:09 · 440 阅读 · 0 评论 -
1. 编写一个函数,判断某年某月某日是该年的第几天。
【问题描述】编写一个函数ithday(year,month,day),有三个参数,分别代表year,month,day。调用该函数,输入任意年、月、日,输出这是该年的第几天。【输出形式】print(“{}年{}月{}日是该年的第{}天。”.format(year,month,day,res+day))【样例输出】2024年4月6日是该年的第97天。原创 2024-05-18 16:21:03 · 632 阅读 · 0 评论 -
3. 完善程序,输出n(n<=10)阶杨辉三角形。
【问题描述】完善程序,输出n(n<=10)阶杨辉三角形。所谓n阶杨辉三角形,即打印n行,每一行最左边和最右边的元素是1,其余元素是其上方相邻的左右两个元素之和,如下为6阶杨辉三角形。提示:若杨辉三角形左对齐输出,可发现它的分布规律为第一列和最对角线元素为1,其余元素是上一行前一列和上一行同列元素 之和。杨辉三角形左对齐形式。原创 2024-05-18 16:17:10 · 345 阅读 · 0 评论 -
1. 找出输入列表中所有的质数
【问题描述】定义一个函数,功能是输入一个数据,如果是质数返回True,否则返回False。利用这个函数实现找出输入列表中所有的质数。【输入形式】[2,6,11,9,21]【输出形式】2 11。原创 2024-05-18 16:08:18 · 276 阅读 · 0 评论 -
5. 读取csv, 对数据处理并输出
注意:(1)先下载scores.csv文件,将其放到程序文件目录下;(2)在系统提交代码时,用open()打开文件时只写scores.csv,不写文件路径,即要删除调试代码时的文件路径)。【问题描述】读取文件scores.csv,编程实现对其中的成绩进行统计,计算其平均分并输出。【输出形式】利用print()语句在屏幕上输出,要求平均成绩保留2位小数。【输入形式】读取.csv文件中的数据。【样例输出】平均值=80.29。原创 2024-05-18 15:53:34 · 619 阅读 · 0 评论 -
4. 词汇表
打开一英文文章(保存在一个现有文件f_in.txt中),为该文件生成词汇表(存到另一个文件f_out.txt中),要求词汇表中的单词以字典序由小到大存放(只由连续字母组成,且全为小写字母,不重复)。将f_in.txt中出现的所有由字母组成的单词(出现的单个字母也作为单词)全部转换成小写后,按照字典序输出到文件f_out.txt中(每个单词独占一行,重复出现的只输出一次)。(注意:程序中使用open()函数打开文件时,文件位置描述只写文件名和扩展名,比如open(“f_in.txt”,“r”))原创 2024-05-18 15:36:44 · 642 阅读 · 0 评论 -
5. 文本文件字符个数统计。
【输入形式】从f1.txt中读取文件,注意注意使用open()函数打开文件时,第一个参数只写出文件名和扩展名(不要写文件路径),比如:f1=open(‘f1.txt’,‘r’)【问题描述】对于文本文件f1.txt,请编程检测文件中的字符数(包含换行符)。【输出形式】利用print函数,将统计结果直接输出到屏幕上。原创 2024-05-17 23:15:06 · 377 阅读 · 0 评论 -
3. 英文文本文件加密
该方法设定的加密密钥为整数3,表示以加密前字符为起始位置,依据字母表中字母顺序,向后移动3个位置,得到加密后字符。例如,加密前字符“A”在加密后转换为“D”,加密前字符“Z”在加密后转换为“C”,依次类推。小写字母亦如此(参见下图),其它字符不变。(注意:程序中使用open()函数打开文件时,文件位置描述只写文件名和扩展名,比如open(“in.txt”,“r”))对输入文件内容按上述方法进行加密后输出到当前目录下文件out.txt中。对输入文件的内容进行加密,并将结果输出到文件out.txt中。原创 2024-05-17 19:02:36 · 1149 阅读 · 0 评论 -
部门平均薪资计算
保存职工薪资数据文件file_in.csv位于当前目录下(注意:程序中使用open()函数打开文件时,文件位置描述只写文件名和扩展名,比如open(“file_in.csv”,“r”))。从file_in.csv文件中读取各部门职工薪资数据,计算各个部门平均薪资,并写入file_out.csv文件中。将各个部门平均薪资写入到file_out.csv文件中,每个部门数据单独占一行。原创 2024-05-17 18:57:12 · 461 阅读 · 0 评论 -
1. 节假日查询
节假日数据文件file_in.csv位于当前目录下。(注意:程序中使用open()函数打开文件时,文件位置描述只写文件名和扩展名,比如open(“file_in.csv”,“r”))从file_in.csv文件中读取2024年节假日安排数据,输出“清明节”的假期范围。节日名称,开始日期,结束日期。元旦,1230, 0101。清明节,0404,0406。劳动节,0501,0505。端午节,0608,0610。中秋节,0915,0917。国庆节,1001,1007。春节,0210,0217。原创 2024-05-17 18:18:27 · 531 阅读 · 0 评论 -
5 求取两个字符集合的交集
【问题描述】要求用户输入两个字符集合,求取它们的交集。【输入形式】以空格分隔的形式分别输入两个字符集合。【输出形式】一个字符集合。【样例输入】a b c。【样例输出】{‘a’}原创 2024-05-09 21:44:26 · 385 阅读 · 0 评论 -
1.使用函数求素数和
isPrime§,其中函数prime当用户传入参数p为素数时返回True,否则返回False.PrimeSum(m,n),函数PrimeSum返回区间[m, n]内所有素数的和。【输入形式】1,10。原创 2024-05-08 23:09:32 · 437 阅读 · 0 评论 -
5. 邮票购买
用3.5元买10分、20分、50分面额邮票共18枚,其中10分邮票与20分邮票的总面值相等,求三种邮票各买几枚(三种面额的都要有)?购买10分面额的邮票10枚,20分面额的邮票5枚,50分面额的邮票3枚。原创 2024-05-05 14:39:19 · 352 阅读 · 0 评论 -
3. 骰子点数概率计算
【输出形式】print(“点数和为 {} 的组合有 {} 种,出现的概率为 {:.4f}”.format(sum_value,count,probability))点数和为 2 的组合有 1 种,出现的概率为 0.0278。点数和为 3 的组合有 2 种,出现的概率为 0.0556。点数和为 4 的组合有 3 种,出现的概率为 0.0833。点数和为 5 的组合有 4 种,出现的概率为 0.1111。点数和为 6 的组合有 5 种,出现的概率为 0.1389。原创 2024-04-30 22:35:54 · 330 阅读 · 0 评论 -
2. 输出满足条件的回文数
【问题描述】从键盘输入一个[0,9]之间的整数n,编程输出[100,300]之间含有n的回文数,要求每行输出6个数据,分多行输出。原创 2024-04-29 22:23:51 · 245 阅读 · 0 评论 -
3. 【竞赛】换酒问题
某商店促销一种酒,规定在本店买的酒可以在喝完后用空瓶子和瓶盖来换酒,2个空瓶子(没有瓶盖)可以换走一瓶酒,4个瓶盖可以换走一瓶酒。小明最初从该商店买了n瓶酒(n为>=1的自然数),那么,小明最终能喝到多少瓶酒?【输出形式】print(“小明可以喝{}瓶酒。”.format(s)),变量s保存小明最终能喝到酒的瓶数。【样例说明】代码中n赋值和结果输出需要使用上面【输入形式】和【输出形式】中的语句;【输入形式】n = int(input()) #小明最初买酒的瓶数,且n是>=1的整数。小明可以喝11瓶酒。原创 2024-04-28 16:32:18 · 174 阅读 · 0 评论 -
1. 【竞赛】输出满足条件的质数
【问题描述】从键盘输入两个数a和b,表示区间[a,b],再从键盘输入一个[0,9]之间的整数n,编程输出在[a,b]区间内,所有包含整数n的质数,要求每行输出6项,分多行输出。【输出形式】输出语句print()括号内也不需要提示语句。【输入形式】input()语句括号内不需要提示语。原创 2024-04-28 16:32:09 · 166 阅读 · 0 评论 -
2. 【竞赛】狐假虎威
【问题描述】某动物园有18只老虎和12只狐狸,把它们平均分成10组,每组有3只动物。有一天,管理员问它们:“你们组内有老虎吗?”,有24只动物回答“有”,管理员又问:“你们组内有狐狸吗?请编写程序,输出老虎组(存粹由老虎构成的组)的数目、狐狸组(存粹由狐狸构成的组)的数目和混合组的数目。【样例说明】输出时可以用 print(“老虎组:{},狐狸组:{},混合组:{}”.format(tgroup,fgroup,mfroup))语句实现。【样例输出】老虎组:5,狐狸组:2,混合组:3。原创 2024-04-28 16:31:56 · 197 阅读 · 0 评论 -
1. 售票数量计算
【问题描述】一辆汽车共载客50人,其中一部分人买A类票,每张0.8元;另一部分人买B类票,每张0.3元;售票员最后统计出:所卖A类票比B类票多收入18元,买A类票、B类票有多少人?【样例输出】30 20。原创 2024-04-28 15:59:16 · 170 阅读 · 0 评论 -
12. 摩尔斯电码试用
请使用字典存放表中的内容,字符作为Key,电码符号作为Value。从键盘输入一串英文字符(不包括空格),输出其对应的摩尔斯电码。注意:先把输入的英文字符统一转成大写再做后续处理。【摩尔斯码字典内容】程序编写过程中可以直接拷贝到程序代码中。【样例输出】–···–·原创 2024-04-17 20:51:17 · 224 阅读 · 0 评论 -
3. 计算列表中不同元素的个数
【问题描述】由用户输入一个整数列表,计算列表中不同元素的个数。【输入形式】以空格分隔的形式,输入整数列表。【样例输入】1 2 3 4 3 2 5。【输出形式】一个整数。原创 2024-04-17 20:38:04 · 294 阅读 · 0 评论 -
2. 计算列表中所有奇数的乘积
【问题描述】由用户输入一个整数列表,计算列表中所有奇数的乘积。列表中不存在奇数时输出提示信息。【输出形式】列表中存在奇数时输出为一个整数,列表中不存在奇数时输出提示信息"列表中没有奇数"【输入形式】以空格分隔的形式输入整数列表。【样例输入】2 3 4 5。原创 2024-04-17 20:31:38 · 385 阅读 · 0 评论 -
1. 天干地支顺序配对
【问题描述】中国古代从汉朝开始就在立法上采用干支纪年法,干支是天干和地支的总称,天干有10个:甲、乙、丙、丁、戊、己、庚、辛、壬、癸;地支12个:子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥。10个天干和12个地支从甲子开始按顺序循环配对:甲子、乙丑、丙寅……癸亥,天干的十个汉字用完之后就再从甲开始,地支十二个汉字用完之后再从子开始,配对60次后又回到了甲子。现要求编程实现,从甲子开始按顺序形成干支的60个配对汉字字符串,这60个配对成的汉字字符串放到一个列表变量gz中,最后输出列表变量gz的值。原创 2024-04-16 12:54:14 · 470 阅读 · 0 评论 -
3. 判断是否有同一天过生日的人
【问题描述】有一个列表变量x=[20000312,20011205,20200721,20200504,20190804,20180721,20220101,20200721]保存若干人的生日,生日均为8位的整数,要求判断这些人中有没有同一天过生日的,若有,则输出字符串"有",若没有则输出字符串"没有"。【样例说明】提示:可以先将x变成集合y,然后根据x和y的长度来判断是否有同一天过生日的人。原创 2024-04-12 15:22:05 · 289 阅读 · 0 评论 -
7. 列表基本操作
【问题描述】假设有列表 student=[[‘001’,‘李梅’,19],[‘002’,‘韩磊磊’,21],[‘003’,‘张亮’,18]]依次存放了每名学。(1)添加学生信息[‘004’,‘王大锤’,20]和[‘006’,‘刘大刀’,23](2) 在列表第4位置添加学生信息[‘005’,‘赵钱孙’,20][‘004’, ‘王大锤’, 20][‘002’, ‘韩磊磊’, 21][‘005’, ‘赵钱孙’, 20][‘004’, ‘王大锤’, 20][‘006’, ‘刘大刀’, 23]原创 2024-04-08 14:09:24 · 713 阅读 · 0 评论 -
4. 由用户输入一个数值序列,将序列中所有大于等于60的值保存至字典的第一个key中,将大于30小于60值保存至第二个key的值中,将剩下的存在第三个key的值中。基于此生成一个新的字典,存三个键对应
【问题描述】由用户输入一个数值序列,将所有大于30的值保存至字典的第一个 key 中,将大于 30 小于 60 值保存至第二个 key 的值中,将剩下的存在第三个 key 的值中。基于此生成一个新的字典,存三个键对应的值的平均值。【输出形式】输出一个字典类型数据,共三个键值对,键为key1,key2,key3,对应的值分别为三个键对应的所有值的平均值。输出结果为: {‘key1’: 84.4, ‘key2’: 43.0, ‘key3’: 17.0}【输入形式】用户直接输入一个列表数值序列。原创 2024-04-07 13:05:01 · 727 阅读 · 0 评论 -
寻找黑洞数
【问题描述】所谓黑洞数,是指这样的整数:由这个数的各位数字拆开重组得到的最大数减去最小数仍得到这个数本身。例如,495是黑洞数,因为954-459=495,6174是黑洞数,因为7641-1467=6174。现要求找出[100.9999]之间所有的黑洞数,一行显示—个数。【输出形式】使用print()语句。原创 2024-04-07 12:53:12 · 397 阅读 · 0 评论 -
评分表求平均分并降序排序
【问题描述】一年一度的校园好声音进行到了激烈的决赛环节,8位评委对入围的6名选手给出了最终的评分,请根据评分表,将每位选手的得分去掉一个最高分和一个最低分后求平均分,并按照平均分由高到低的顺序输出选手编号和最后得分。原创 2024-03-28 19:28:58 · 267 阅读 · 0 评论 -
6. 求 1-1/2+1/3-1/4+...数列的前n项和。
【输出形式】输出可参考如下语句:print(“前{}项和为{:.2f}”.format(n,s))【问题描述】键盘输入项数n,求 1-1/2+1/3-1/4+…【样例输出】前5项和为0.78。【输入形式】键盘输入项数n。原创 2024-03-25 19:41:49 · 394 阅读 · 0 评论 -
7. 跳n游戏
【问题描述】跳n游戏的规则是大家坐一圈循环报数,先约定需要跳过的数n,然后报数时跳过n的倍数和包含n的数,继续向下报数。请编程模拟该游戏的报数过程,要求从键盘输入一个数n,再输入一个值max用来作为报数的最大值。【样例输出】1,2,3,4,5,6,8,9,10,11,12,13,15,【输出形式】输出语句可以参考:print(num,end=“,”)原创 2024-03-25 19:34:48 · 428 阅读 · 0 评论 -
41. 整数位数和逆序的输出
【问题描述】从键盘输入一个任意的不多于5位的正整数(用n=int(input()))语句实现),要求先给出它是几位数,再逆序打印出各位数字,例如,若输入123,则先在第一行输出“123是3位整数数字”,然后在第二行输出“123逆序数是321”;若输入12345,先在第一行输出“12345是5位整数数字”,然后在第二行输出“12345逆序数是54321”。使用print(“{}是{}位数字”.format(n,l))语句输出“123是3位整数数字”这样的信息,其中l保存数字的位数。123是3位整数数字。原创 2024-03-20 18:25:20 · 343 阅读 · 0 评论 -
40. 对序列1-3+5-7+……-99的和进行计算
【问题描述】用while语句对序列1-3+5-7+……【输出形式】可参考:print(“s={}”.format(s))原创 2024-03-20 18:17:52 · 319 阅读 · 0 评论 -
39. 通过程序设计来模拟一个实验
【问题描述】通过程序设计来模拟一个实验,证明这句话的可行性。用一张厚度为0.1mm的足够大的纸,不断对折,每对折一次,厚度翻倍,编程求解:这张纸对折多少次以后,其厚度达到世界最高峰珠穆朗玛峰的高度8844.43m?【输出形式】输出语句可参考:print(“当对折{}次后纸的厚度为{}m”.format(dz_num,hd_paper))当对折27次后纸的厚度为13421.7728m。原创 2024-03-20 18:15:11 · 336 阅读 · 0 评论 -
37. 求以下表达式的值
【问题描述】求以下表达式的值,其中n值从键盘输入。参考值:当n = 11时,s = 1.833333image.png。【输出形式】输出语句可参考如下:print(“s={:f}”.format(s))原创 2024-03-20 18:10:52 · 483 阅读 · 0 评论 -
35. 判断是否为素数(质数)
【输出形式】输出语句看参考:print(“{}是素数”.format(m))【问题描述】输入一个整数m,判断是否为素数(质数)【输入形式】从键盘输入一个整数。原创 2024-03-20 13:00:52 · 521 阅读 · 0 评论