Python

这是一篇关于Python编程的教程,包含了Python语言的基本概念和语法,如导入模块、数据类型、运算符、控制流、函数等。文章通过一系列的编程练习,如计算数学函数、实现数据转换、处理列表和字典、进行文件操作等,帮助读者巩固Python知识并提升编程能力。练习涉及了数据结构、条件判断、循环控制、异常处理等多个方面,适合初学者逐步进阶。
摘要由CSDN通过智能技术生成
新建文本文档 .md
2020/10/16
1 / 35
Python 语言程序设计》
各章复习题 (2020)
说明
可以在题目下面生成 代码格 ,完成每个题目。
题目来自于教材例题、课后习题、上课作业及其他教材。
第一章 Python 概述
1-1 】导入 math 模块,列出 math 模块的所有函数和常量说明。
In [ ]:
import math
print(math.ceil( 1.7 ))
print(math.floor( 1.7 ))
#math.copysign(x,y) 返回一个基于 x 的绝对值和 y 的符号的浮点数
print(math.copysign( -1 , -0.0 ))
print(math.copysign( -1 , 0.0 ))
print(math.fabs( -1.2 )) # 绝对值
print(math.factorial( 5 )) # 阶乘
print(math.fmod( 2.0 , 0.3 )) # 用于浮点数取模时用 fmod ,整数直接 %
print(math.frexp( 1.0 )) #x=m * 2**e 用来分离浮点数的内部表示
# 返回迭代中的精确浮点值
print(sum([ 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 ]))
print(math.fsum([ 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 , 0.1 ]))
print(math.gcd( 2 , 4 ))
print(math.exp( 2 ))
print(math.log2( 2 ))
print(math.pow( 2 , 3 ))
print(math.sqrt( 4.0 ))
print(math.pi, math.e)
第二章 语言基础
2.1 】编程完成以下功能: 1 )同时给 x,y 赋值为 10 2 )给 a,b 分别赋值为 3,5 3 )交换 a,b 的值 4 )计算 a+=2
5) 将列表 [1,2,"abc"] 中的元素重复 3 次,然后删掉其中的元素 2
In [ ]:
x, y = 10 , 10
a, b = 3 , 5
a, b = b, a
a += 2
s = [ 1 , 2 , "abc" ]
s *= 3
s = [x for x in s if x != 2 ] 新建文本文档 .md
2020/10/16
2 / 35
2.2 】运用输入输出函数编写程序,能将华氏温度转换成摄氏温度。换算公式: C=(F-32)*5/9 ,其中 C 为摄氏
温度, F 为华氏温度。
In [ ]:
F=eval(input())
C = (F - 32 ) * 5 / 9
print(C)
2.3 】编写程序,根据输入的长和宽,计算矩形的面积并输出。
In [ ]:
length = eval(input())
width = eval(input())
s = length * width
print(s)
2.4 】编写程序,输入三个学生的成绩,计算平均分并输出。
In [ ]:
s = input().split()
ans = 0
for x in s :
x = int(x)
ans += x
print( "%.2f" %(ans / 3.0 ))
2.5 】小明过年得到 1500 元压岁钱,在商场看中一个书包,正好商场做活动打八五折,从键盘输入书包的价
格,输出折扣后书包的价格以及小明买了书包后剩下的钱。
In [ ]:
price = eval(input())
discount = price * 0.85
money = 1500 - discount
print(discount, money)
2.6 】通过输入函数 input() 输入股票代码、股票名称、当天股票最高价和最低价,通过输出函数 print() 输出股
票代码 + 股票名称、最高价、最低价和差值。
In [ ]: 新建文本文档 .md
2020/10/16
3 / 35
code, name, maxPrice, minPrice = input().split()
print(code, name, maxPrice, minPrice, int(maxPrice) - int(minPrice))
第三章 分支与循环控制语句
3.1 】从键盘输入圆的半径,如果半径大于等于 0 ,则计算并输出圆的面积和周长。【单分支】
In [ ]:
from math import pi
r = eval(input())
if r > 0 :
print( "area:" ,pi * r * r, sep= "" )
print( "circumference:" , 2 * pi * r, sep= "" )
3.2 】从键盘输入年份 t ,如果年份 t 能被 400 整除,或者能被 4 整除但不能被 100 整除,则输出 “t 年是闰年 ,否
则输出 “t 年不是闰年 t 用输入的年份代替。【双分支】
In [ ]:
t = eval(input())
if t % 400 == 0 or (t % 4 == 0 and t % 100 != 0 ) :
print(t, " 是闰年 " , sep= "" )
else :
print(t, " 不是闰年 " , sep= "" )
3.4 】从键盘输入标准价格和订货量。 根据订货量大小,价格给以不同的折扣,计算应付货款(应付货款 =
货量 × 价格 ×(1- 折扣 ) )。
订货量 300 以下,没有折扣;
订货量 300 及以上, 500 以下,折扣为 3%
订货量 500 及以上, 1000 以下,折扣 5%
订货量 1000 及以上, 2000 以下,折扣 8%
订货量 2000 及以上,折扣 10% 。【多分支】
In [ ]:
price = eval(input())
mount = eval(input())
if mount < 300 :
print(mount * price)
elif mount < 500 :
print(mount * price * 0.97 )
elif mount < 1000 :
print(mount * price * 0.95 )
elif mount < 2000 : 新建文本文档 .md
2020/10/16
4 / 35
print(mount * price * 0.92 )
else :
print(mount * price * 0.90 )
3.5 】从键盘接收整数的一百分制成绩 (0-100), 要求输出其对应的成绩等级 A~E 。其中, 90 分(包含)以上为
A 80-89 分(均包含)为 B 70~79 (均包含)为 C 60~69 (均包含)为 D 60 分以下为 E
In [ ]:
grade = eval(input())
if grade < 60 :
print( "E" )
elif grade < 70 :
print( "D" )
elif grade < 80 :
print( "C" )
elif grade < 90 :
print( "B" )
else :
print( "A" )
3.6 】输入一个时间(小时:分:秒),输出该时间经过 5 30 秒后的时间。
In [ ]:
hour, minute, second = input().split( ":" )
second = int(second) + 30
minute = int(minute) + 5
hour = int(hour)
t = second / 60
second %= 60
minute += t
t = minute / 60
minute %= 60
hour = (hour + t) % 24
print( "%02d:%02d:%02d" %(int(hour), int(minute), int(second)))
3.7 】计算并输出小于等于 200 的所有 正偶数
In [ ]:
ans = 0
for i in range( 2 , 201 , 2 ) :
ans += i
print(ans) 新建文本文档 .md
2020/10/16
5 / 35
3.8 】编程从键盘输入公司某商品的订单销售额,并对输入的销售额累加求和。当输入的值小于等于 0 时终止
该操作。
In [ ]:
ans = 0
mount = eval(input())
while mount != 0 :
ans += mount
mount = eval(input())
print(ans)
3.9 】编写程序,按公式 s=1 2+2 2+3 2+...+n 2 求累加和 s 不超过 1000 的最大项数 n ,程序运行结果如下所示: n
s 1 1 2 5 3 14 ... 14 1015 累计和不超过 1000 的最大项是 n=13
In [ ]:
ans = 0
t = 1
while ans < 1000 :
ans += t** 2
print(t, ans)
t += 1
3.10 】预设一个 0~9 之间的整数,让用户猜一猜并输入所猜的数。如果大于预设的数,显示 太大 ;小于预设
的数,显示 太小 。如此循环,直至猜中该数,显示 恭喜!你猜中了!
In [ ]:
standard = 6
test = eval(input())
if test > standard :
print( " 太大 " )
elif test < standard :
print( " 太小 " )
else :
print( " 恭喜!你猜中了! " )
3.11 】求一个自然数除了自身以外的最大约数。【 break
In [ ]:
from math import sqrt
test = eval(input())
x = int(sqrt(test)) + 1
while x > 0 : 新建文本文档 .md
2020/10/16
6 / 35
if test % x == 0 :
break
x -= 1
print(x)
3.12 】从键盘输入一个正整数 n ,用 while 循环找出小于等于该整数 n 且能被 23 整除的最大正整数。如果找到
了,输出该整数;如果没有找到,则输出 未找到
In [ ]:
n = eval(input())
x = n
flag = 0
while x >= 23 :
if x % 23 == 0 :
flag = 1
break
x -= 1
if flag == 1 :
print(x)
else :
print( " 未找到 " )
3.13 】有一个列表 sales=[5000, 3000, 8000, 10600, 6000, 5000] 。该列表中的元素依次表示某产品 1-6 月的销
售额。 请用 for 循环遍历该列表,找到第一个销售额大于等于 6000 的元素,并打印该元素的值。如果没有找
到,则输出 未找到
In [ ]:
sales=[ 5000 , 3000 , 8000 , 10600 , 6000 , 5000 ]
flag = 0
for x in sales :
if x >= 6000 :
print(x)
flag = 1
break
if flag == 0 :
print( " 未找到 " )
3.15 】利用 e=1+1/(1!)+1/(2!)+...+(1/n!) 。编写程序,计算 e 的近似值。要求直到最后一项的值小于 10**(-8)
计算终止。输出最后一个 n 的值及 e
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值