1. 编写函数isodd(x),若x不是整数,给出提示后退出程序;如果x为奇数,返回True,如果x为偶数,返回False。
def isodd(x):if int(x)!=x:print("x不是整数,程序退出")returnelif x//2 != x/2:return Trueelse:return Falseprint(isodd(3))
print(isodd(3.2))
print(isodd(32))
2. 编写函数change(str1),其功能是对参数str1进行大小写转换,其中的大写字母转换成小写字母;小写字母转换成大写字母;非英文字符不转换。
def change(str1):t=""for i in range(len(str1)):if str1[i].islower():t+=str1[i].upper()elif str1[i].isupper():t+=str1[i].lower()else:t+=str1[i]return t
print(change("iu98kLLD"))
3. 编写并测试函数gcd(m, n)和lcm(m, n),功能是求两个整数的最大公约数和最小公倍数。
def gcd(m,n):if m<n:m,n=n,mr=m%nwhile r!=0:m=nn=rr=m%nreturn ndef lcm(m,n):t=m*nreturn int(t/gcd(m,n))m=eval(input("请输入正整数m:"))
n=eval(input("请输入正整数n:"))
print("最大公约数是",gcd(m,n))
print("最小公倍数是",lcm(m,n))
4. 编写并测试函数reverse(x),输入一个整数,将各位数字反转后输出。
def reverse(x):y=str(x)y=y[::-1]return int(y)
print(reverse(12345))
5. 设计一个Group类,在该类中包括:一个数据成员score(每个学生的分数)、两个类成员total(班级的总分)和count(班级的人数)。成员方法setScore(socre)用于设置分数,成员方法sum()用于累计总分,类方法average()用于求平均值。交互式输入某组学生的成绩,显示该组的总分和平均分。
class Group:total = count = 0def setScore(self, score):self.score = scoredef getScore(self):return self.scoredef __init__(self, score):self.setScore(score)Group.count += 1self.sum()def sum(self):Group.total+=self.getScore()@classmethoddef average(cls):return Group.total/Group.count@classmethoddef show(cls):print("总分是:{}".format(Group.total))print("平均分是:{}".format(Group.average()))s1=Group(90)
s2=Group(87)
s3=Group(93)Group.show()
6. 使用random库,产生10个100到200之间的随机数,并求其最大值、平均值、标准差和中位数。
#平均数
def mean(numlist):s = 0.0for num in numlist:s = s + numreturn s/len(numlist)##标准差=sqrt(((x1-x)^2 +(x2-x)^2 +......(xn-x)^2)/n)。
def dev(numlist,mean):sdev = 0.0for num in numlist:sdev = sdev + (num - mean)**2return (sdev /(len(numlist)-1) )** 0.5def median(numlist):numlist.sort()half = len(numlist) // 2return (numlist[half] + numlist[~half]) / 2#函数调用
ls1 = [1,3,-6,5,8]
ls2=[3.2,9,-32,56,0,1]v1=max(ls2)
v2=mean(ls2)
v3=dev(ls2,v2)
v4=median(ls2)print("最大值:{:.2f},平均值:{:.2f},标准差:{:.2f},中位数:{:.2f}".format(v1,v2,v3,v4))
7. 将一个文件中的所有英文字母转换成大写,复制到另一文件中。
fi=open("ex0701.py",'r')
fo=open("f2.txt",'w')
for line in fi:line=line.upper()fo.write(line)fi.close()
fo.close()
8. 接收用户从键盘输入的一个文件名,然后判断该文件是否存在于当前目录。若存在,则输出以下信息:文件是否可读和可写、文件的大小、文件是普通文件还是目录。
import os,os.pathfilename=input("请输入文件的全名:")
if os.path.exists(filename):print("该文件存在于当前目录下")print("-----下面是文件信息-------")print("文件大小是:",os.path.getsize(filename))if os.path.isfile(filename):print(filename,"是一个文件")else:print(filename,"是一个目录")else:print("该文件不存在!")
9. 编写绘制余弦三角函数y=cos(2x)的程序。
import matplotlib.pyplot as plt
import numpy as np
plt.figure(figsize=(6,3)) #创建绘图对象
x=np.arange(0,np.pi*4,0.01)
y=np.cos(2*x)
plt.plot(x,y,color="b",ls='--',linewidth=2.0)
plt.xlabel("x") #x轴文字
plt.ylabel("cos(2x)") #y轴文字
plt.ylim(-1,1) #y轴范围
plt.title("y=cos(2x)") #图表标题
10. 绘制一个散点图。
提示:使用import matplotlib.pyplot as plt和help(plt.scatter)查看绘制散点图的帮助信息。
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(0,np.pi*4,0.2)
y=np.sin(x)
plt.xlabel("y=sin(x)")
plt.ylabel("sin(x)")
plt.scatter(x,y,c='b',marker='x')
plt.show()