第二章 python基础
1、课本33页练习:求圆的半径和面积;
用户输入圆的半径,输出圆的直径和面积。面积公式:s=π*r*r
print("------------求圆的直径和面积计算-------------")
r=float(input("请输入圆的半径:"))
d=2*r
s=3.14*r*r
print("圆的直径为:",d)
print("圆的面积为:",s)
2、#课本33页练习:计算运输次数;
#煤场有29.5t,4t运了3次,其余用2.5t车运,还需几次才能运完
print("------------求煤的运输次数-------------")
sum_coal=round((29.5-3*4)/2.5)
print("还需的次数为:",sum_coal)
第三章 流程控制
1、#课本44页练习:用while循环输出100以内偶数的功能;
print("------------输出100以内偶数的功能-------------")
i,sign=1,0
while i<100:
if i%2==0:
sign+=1
print(i,end="\t")
if sign%10==0:
print()
i+=1
2、#课本44页练习:判断用户输入的是正数还是负数;
print("------------判断用户输入的是正数还是负数-------------")
num=float(input("请输入一个数判断正负:"))
if num>=0:
print("正数")
else:
print("负数")
3、#课本44页练习:输出100以内的质数;
#质数是指在大于1的自然数中,除了1和它本身以外不再有其他因数的自然数。
print("------------输出100以内的质数-------------")
sign=0
for i in range(3,100):
for j in range(2,i):
if i%j==0:
break
if j==i-1:
print(i,end="\t")
sign+=1
if sign%10==0:
print()
第四章 字符串
1、#课本55页练习:编程计算字符串中小写字母的数量;
#字符串s=‘AbcDeFGhIJ’。
print("------------编程计算字符串中小写字母的数量-------------")
s="AbcDeFGhIJ"
n=0
for i in s:
if 97<=ord(i)<=122:
n+=1
print(f"小写字母的个数为:{n}")
2、#课本55页练习:检测字符串;
#检测字符串“Life is short. I use python ”中是否包含“python”,若有则替换为“Python”
print("------------编程计算字符串中小写字母的数量-------------")
s="Life is short. I use python "
flag="python"
s=s.replace(flag,"Python")
print(s)
第五章 组合数据类型
1、#课本71页练习:合并列表;
#已知num1=[4,5,2,7],num2=[3,6],将两个列表合并为一个列表,并按降序排列
ls=[]
num1=[4,5,2,7]
num2=[3,6]
ls=num1+num2
ls.sort(reverse=True)
print(ls)
2、#课本71页练习:向元组中添加新元素;
#已知元组num1=(‘p’,’y’,’t’,[‘o’,’n’]),在元组最后添加元素‘h’
num1=('p','y','t',['o','n'])
num1=list(num1)
num1.append('h')
num1=tuple(num1)
print(num1)
3、#课本71页练习:统计字符串个字母出现的次数;
#已知字符串s=”skdaskerkjsalkj”
s="skdaskerkjsalkj"
d={}
for i in s:
d[i]=d.get(i,0)+1
print(d)
4、#课本71页练习:删除列表中重复的数据;
#已知ls=[1,2,1,2,3,5,4,3,5,7,4,7,4]
ls=[1,2,1,2,3,5,4,3,5,7,4,7,4]
ls=list(set(ls))
print(ls)
第六章 函数
1、#课本87页练习:编写函数,计算出1-100中的偶数和;
sum=0
def oushu(n):
if n%2==0:
s(n)
def s(n):
global sum
sum+=n
for i in range(101):
oushu(i)
print(f"1-100以内的偶数之和为:{sum}")
2、#课本87页练习:编写函数计算20*19*18……*3的结果;
def jisuan(n):
if n ==3:
return 3
else:
return n*jisuan(n-1)
num=eval(input("请输入一个数字:"))
all=jisuan(num)
print(f"乘积{all}")
3、#课本87页练习:判断用户输入是否为回文数;
def fun(n):
huiwen=n[::-1]
if n==huiwen:
print("是回文数!")
else:
print("不是回文数!")
str=input("请输入一个字符串")
fun(str)
4、#课本87页练习:编写函数,判断用户输入的3个数字是否能构成三角形的三条边;
# 构成三角形:任意两边之和大于第三边
def fun(a,b,c):
if a+b>c and a+c>b and b+c>a:
print(f"{a},{b},{c}可以构成三角形")
else:
print(f"{a},{b},{c}不可以构成一个三角形")
ls=[]
ls=input("请输入三条边长(中间用逗号隔开)").strip('\'').split(',')
# print(ls)
fun(eval(ls[0]),eval(ls[1]),eval(ls[2]))
5、#课本87页练习:编写函数,求2个数的最小公倍数;
# 最小公倍数
def fun(n,m):
num=n if n>m else m
for i in range(n,n*m+1):
if i%n==0 and i%m==0:
return i
print("求两个数的最小公约数。")
num1=int(input("请输入第一个数:"))
num2=int(input("请输入第二个数:"))
num=fun(num1,num2)
print(f"{num1}和{num2}的最小公倍数为:{num}")
第七章 文件与数据格式化
1、#课本101页练习:读取文件,打印除了字符#以外的所有行
fi=open('text.txt',encoding='utf-8')
lines=fi.readlines()
for line in lines:
if line[0]=='#':
continue
else:
print(line,end='')
2、#课本101页练习:编写程序,实现文件备份功能
import os
#
# 备份文件夹
def wjj(name):
# 判断文件夹路径是否存在
if os.path.exists(name):
for path,dirs,files in os.walk(name):
for file in files:
path1 = path+'\\'+file
with open(path1,'r',encoding='utf-8') as f:
s=f.read()
mz=path+'\\beifeng''bf'+file
with open(mz,'w') as fi:
fi.write(s)
print("备份成功")
else:
print("文件路径错误,备份失败!!")
# 备份文件
def wj(name):
# 判断文件是否存在
if os.path.exists(name):
# 获取当前路径下文件的名字
file=os.path.basename(name)
s=os.path.dirname(name)+'bf'+file
# 备份文件夹
with open (name,'r',encoding='utf-8') as f:
read=f.read()
with open (s,'w',encoding='utf-8')as fi:
fi.write(read)
print("文件备份成功!")
else:
print("备份失败,文件不存在!")
path1 = input("请输入需要备份路径:")
if os.path.isdir(path1):
wjj(path1)
elif os.path.isfile(path1):
wj(path1)
else:
print("输入错误!")
3、#课本101页练习:编写程序,读取一个存储若干数字的文件,对其中的数字排序后输出
fi=open('data101.txt',encoding='utf-8')
numbers=fi.read()
ls=[]
ls=numbers.strip().split()
nums=[]
for num in ls:
nums.append(eval(num))
nums.sort(reverse=False)
print(nums)
fi.close()
第八章 面向对象
1、#课本练习121: # 课本练习121设计一个圆类,其中包括半径radius属性,还包括__init__,get_perimeter()(求周长)和求get_atea()方法 # 创建对象求圆的周长和面积
class Circle():
def __init__(self,radius):
self.radius=radius
# 求周长
def get_perimeter(self):
return self.radius*2*3.14
# 求面积
def get_atea(self):
return self.radius*self.radius*3.14
circle=Circle(5)
c=circle.get_perimeter()
s=circle.get_atea()
print(f"面积为{s},周长为{c}")
2、#课本练习121: # 课本练习121设计一个课程Course类,该类中包含number(编号)、name(名称)、teahcer(老师)、location(上课地点),其中location为私有属性 # 包括__init__(),show_info()(显示课程信息)共两个方法。完成设计后,创建Course类的对象显示课程的信息
class Course():
def __init__(self,number,name,teacher,location):
self.number=number
self.name=name
self.teacher=teacher
self.__location=location
def show_info(self):
print(f"课程编号为{self.number},课程名为{self.name},任课老师为{self.teacher},上课地点为{self.__location}")
info=Course(101,"python程序设计","张老师","三机房")
info.show_info()
第九章 异常
1、#课本练习132页:计算圆的面积 # 编写程序,按用户输入的半径计算圆的面积,若半径为负则抛出异常 # 圆的公式为:S=πR²
class NumError(Exception):
def __init__(self,number):
self.number=number
try:
r=eval(input("请输入圆的半径:"))
if r<0:
raise NumError(r)
except NumError as rrsult:
print("您输入的半径为{},圆的半径不能为负!".format(rrsult.number))
else:
S=3.14*r*r
print(f"圆的面积为:{S}")
2、#课本练习132页:计算三角形的面积和周长 # 编写程序按用户输入的三条边判断能否构成直角三角形, # 若能构成直角三角形,则计算其周长和面积,否则引发异常
class NumError(Exception):
def __init__(self,number1,number2,number3):
self.number1=number1
self.number2=number2
self.number3=number3
try:
line=input("请输入三角形的第三条边长(中间用英文逗号隔开):")
lis=line.strip().split(',')
a,b,c=eval(lis[0]),eval(lis[1]),eval(lis[2])
if (a*a+b*b !=c*c) and (a*a+c*c!=b*b) and (b*b+c*c!=a*a):
raise NumError(a,b,c)
except NumError as result:
print("您输入的{},{},{}不能构成直角三角形!".format(result.number1,result.number2,result.number3))
else:
C=a+b+c
if a*a+b*b==c*c:
S=a*b/2
elif a*a+c*c==b*b:
S = a * c / 2
else:
S = c * b / 2
print("此直角三角形的面积为{},周长为{}".format(S,C))
文章出处登录后可见!