《Python程序设计》题库.pdf

上传人:飞****9 文档编号:134197808 上传时间:2020-06-03 格式:PDF 页数:15 大小:151.79KB
返回 下载 相关 举报
《Python程序设计》题库.pdf_第1页
第1页 / 共15页
《Python程序设计》题库.pdf_第2页
第2页 / 共15页
《Python程序设计》题库.pdf_第3页
第3页 / 共15页
《Python程序设计》题库.pdf_第4页
第4页 / 共15页
《Python程序设计》题库.pdf_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《《Python程序设计》题库.pdf》由会员分享,可在线阅读,更多相关《《Python程序设计》题库.pdf(15页珍藏版)》请在金锄头文库上搜索。

1、Python 习题选编 华东师大信息学院计算中心 一 程序结构与算法部分 1 编写一个 python 程序 输入两个数 比较它们的大小并输出其中较大者 参考代码 x int input Please enter first integer y int input Please enter secondinteger if x y print 两数相同 elif x y print 较大数为 x else print 较大数为 y 2 写一个算法 流程图和python 程序 输入三个数 输出其最大者 参考代码 a b c 3 4 5 if a b if c b print b 是最大的数 els

2、e print c 是最大的数 else if c a print a 是最大的数 else print c 是最大的数 3 使用 Python 编程 求 1 100 间所有偶数的和 参考代码 sum 0 for x in range 1 101 if x 2 0 print x sum sum x print 累加和是 sum 4 用 Python 编写程序 输入一年份 判断该年份是否是闰年并输出结果 注 凡符合下面两个条件之一的年份是闰年 1 能被 4 整除但不能被 100 整除 2 能被 400 整除 参考代码 year int input Please enter the year i

3、f year 4 0and year 100 0 or year 400 0 加个括号即可 print year isa leap year else print year isnot a leap year 5 用 Python 编程 假设一年期定期利率为3 25 计算一下需要过多少年 一 万元的一年定期存款连本带息能翻番 参考代码 cunkuan 10000 本金 10000 元 years 0 while cunkuan 100 grade 输入错误 elif score 90 grade A elif score 80 grade B elif score 70 无需写小于什么什么的因

4、为 elif 就已经是除了这个之外的了 grade C elif score 60 grade D elif score 0 grade E else grade 输入错误 print grade 7 猜数游戏 预设一个0 9之间的整数 让用户猜一猜并输入所猜的数 如果 大于预设的数 显示 太大 小于预设的数 显示 太小 如此循环 直至猜 中该数 显示 恭喜 你猜中了 参考答案 num 7 while True guess int input 请输入你猜的数 0 9 if guess num print 恭喜 你猜中了 break elif guess num print 太大 else pr

5、int 太小 8 输入一个数 判断这个数是否为素数 并输出判断结果 所谓素数 是指除了1 和该数本身之外 不能被其它任何整数整除的数 下 图为参考流程图 参考答案 import math n int input 请输入一个数 x int math sqrt n i w 2 0 for i in range 2 x 1 if n i 0 w 1 if w 1 print n 不是素数 else print n 是素数 或 import math n int input 请输入一个数 i w 2 0 while i int math sqrt n andw 0 if n i 0 w 1 break

6、 else i i 1 if w 0 print n 是素数 else print n 不是素数 或 import math n int input 请输入一个数 i 2 while i 0 x x 1 2 day 1 print total x 二 文件部分 1 在当前目录下有一个文件名为temp txt 的文件 存放着上海从2014 年 3 月 10 日 周一 到 3 月 16 日 周日 间一周的最高和最低气温 单位为摄氏度 其中 第一行为最高气温 第二行为最低气温 编程 找出这一周中第几天最 热 按最高气温计算 最高多少度 这一周中第几天最冷 按最低气温计算 最冷多少度 参考答案 fln

7、ame temp txt f open flname ht f readline strip 暂且先只读一行 L1 list ht split lt f readline strip 此处再读第二行 L2 list lt split f close for i in range len L1 L1 i int L1 i L2 i int L2 i maxVal L1 0 可用 max L1 maxDay 0 minVal L2 0 minDay 0 for i in range 1 len L1 if L1 i maxVal maxVal L1 i maxDay i if L2 i 10 k

8、1 else k 0这还要写吗 avg int sum len L3 print 周平均气温为 avg if k 5 print 上海这周已入春 else print 上海这周未入春 3 当前目录下有一个文件名为score1 txt的文本文件 存放着某班学生的计 算机课成绩 共有学号 平时成绩 期末成绩三列 请根据平时成绩占40 期 末成绩占 60 的比例计算总评成绩 取整数 并分学号 总评成绩两列写入另 一文件 score2 txt 同时在屏幕上输出学生总人数 按总评成绩计 90 以上 80 89 70 79 60 69 60 分以下各成绩档的人数 和班级总平均分 取整数 参考答案 f op

9、en score1 txt a f readline line f readline strip f2 open score2 txt w f2 write 学号平均成绩 n L2 0 0 0 0 0 count 0 sum 0 while len line 0 print line L1 line split f2 write L1 0 f score int int L1 1 0 4 int L1 2 0 6 if 90 f score 80 L2 1 1 elif f score 70 L2 2 1 elif f score 60 L2 3 1 else L2 4 1 count 1 s

10、um f score f2 write str f score n line f readline strip f close f2 close avg score int sum count print 学生总人数为 d 按总评成绩计 90 以上 d 人 80 89 间 d 人 70 79 间 d 人 60 69间 d人 60分以下 d人 班 级总平均分 为 d分 count L2 0 L2 1 L2 2 L2 3 L2 4 avg score 或 f open score1 txt a f readlines del a 0 L3 for line in a line line strip

11、 L1 line split f score int int L1 1 0 4 int L1 2 0 6 L3 append L1 0 f score f close c 0 0 0 0 0 count 0 sum 0 f2 open score2 txt w f2 write 学号平均成绩 n for L2in L3 if 90 L2 1 80 c 1 1 elif L2 1 70 c 2 1 elif L2 1 60 c 3 1 else c 4 1 count 1 sum L2 1 f2 write L2 0 str L2 1 n f2 close avg score int sum c

12、ount print 学生总人数为 d 按总评成绩计 90 以上 d 人 80 89 间 d 人 70 79 间 d 人 60 69间 d人 60分以下 d人 班 级总平均分 为 d分 count c 0 c 1 c 2 c 3 c 4 avg score 4 当前目录下有一个文本文件sample12 txt 其内容包含小写字母和大写字母 请将该文件复制到另一文件sample12 copy txt 并将原文件中的小写字母全部 转换为大写字母 其余格式均不变 参考答案 f open sample12 txt L1 f readlines f2 open sample12 copy txt w f

13、or line in L1 f2 write line upper f close f2 close 5 当前目录下有一个文件名为class score txt的文本文件 存放着某班学生 的学号 数学课成绩 第2 列 和语文课成绩 第3 列 请编程完成下列要求 1 分别求这个班数学和语文的平均分 保留1 位小数 并输出 2 找出两门课都不及格 60 的学生 输出他们的学号和各科成绩 3 找出两门课的平均分在90 分以上的学生 输出他们的学号和各科成绩 建议用三个函数分别实现以上要求 参考答案 def output avg L sum1 sum2 0 0 for line in L L1 lin

14、e strip split sum1 int L1 1 sum2 int L1 2 count len L avg1 round sum1 count 1 avg2 round sum2 count 1 print 这个班的数学平均分为 4 1f 语文平均分为 4 1f avg1 avg2 def output notpass L print 两门课均不及格的学生学号及数学 语文成绩为 for line in L L1 line strip split if int L1 1 60 andint L1 2 90 print line f open class score txt L f rea

15、dlines del L 0 output avg L output notpass L output good L 三 算法分析与设计部分 1 编程 从键盘接收若干个整数 直接输入回车表示结束 用冒泡法或选择 法进行排序 从小到大 并将排序结果在屏幕上输出 参考答案 选择排序 def bubble List num len List for i in range 0 num 1 for j in range i 1 num 对应列表中的位置 if List i List j List i List j List j List i return List L1 num str input 请输

16、入一个需排序的整数 while len num str 0 L1 append int num str num str input 请输入一个需排序的整数 print 排序后结果 bubble L1 或 冒泡排序 def bubble List for i in range 0 len List 1 for j in range len List 1 i 1 if List j 1 List j List j 1 List j List j List j 1 return List L1 num str input 请输入一个需排序的整数 while len num str 0 L1 append int num str num str input 请输入一个需排序的整数 print 排序后结果 bubble L1 2 当前目录下有一个文件名为score2 txt的文本文件 存放着某班学生的计 算机课成绩 共有学号 总评成绩两列 请查找最高分和最低分的学生 并在 屏幕上显示其学号和成绩 参考答案 f open score2 txt a f readlines del a 0 L2 L3

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 管理论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号