admin管理员组

文章数量:1794759

Python考试题库(含答案)

Python考试题库(含答案)

题目答案(代码部分博主手打)不唯一,仅供参考,可提供修改意见。

  • 编写程序,使用循环语句输出1+2+3+…+100的和。
  • sum=0 for i in range(1,101): sum+=i print("1+2+3+…+100的和为",sum)

    2.编写程序,使用循环语句输出1+4+7+10+13+…+112的和。

    sum=0 for i in range(1,113,3): sum+=i print("1+4+7+10+13+…+112的和为",sum)

    3.编程程序,使用循环语句输出5+10+15+20+25+…+100的和

    sum=0 for i in range(5,101,5): sum+=i print("5+10+15+20+25+…+100的和为",sum)

    4. 编写程序,从键盘输入两个正整数,计算并输出这两个数的最大公约数。

    a=int(input("请输入第一个正整数:")) b=int(input("请输入第一个正整数:")) while(a): if a<b: t=a a=b b=t a%=b print("这两个正整数的最大公约数为:",b)

    5. 编写程序,输入一个18位的身份证号码,从中提取出生日期,并以“出生日期是*年*月*日”样的格式输出。

    m=input('请输入一个18位的身份证号:') if len(m)<18: print("输入错误!") else: a=int(m[6:10]) b=int(m[10:12]) c=int(m[12:14]) print('出生日期是%d年%d月%d日'%(a,b,c))

    6. 编写程序,用户输入一个月份,输出该月份所属0的季节。要求对输入的非法数据进行判断,直到输入正确的月份为止。

    i=1 while i: m=float(input('请输入一个月份:')) if m>12 or m<=0 or m%1!=0: i=1 print('输入的数据为非法数据,请重新输入!') else: i=0 if m>0 and m<=3: print('%d月所属第一季度'%m) elif m>=4 and m<=6: print('%d月所属第二季度'%m) elif m>=7 and m<=9: print('%d月所属第三季度'%m) elif m>=10 and m<=12: print('%d月所属第四季度'%m)

    7. 编写函数IsPrime(n),用来判断整数n是否为素数,并编写测试代码,调用该函数。

    def IsPrime(n): a=int(n/2+1) j=0 for i in range(2,a): if n%i==0: j+=1 if j>0: print('%d不是素数'%n) else: print('%d是素数'%n) n=int(input('请输入一个正整数:')) IsPrime(n)

    8. 编写程序,输出100~200之间的所有素数。

    def IsPrime(n): a=int(n/2+1) j=0 for i in range(2,a): if n%i==0: j+=1 if j>0: print('%d不是素数'%n) else: print('%d是素数'%n) for n in range(100,201): IsPrime(n)

    9. 编写函数Fac(n),用于求n!,其中n>=0, 并编写测试代码调用该函数。

    def Fac(n): i=1 for j in range(2,n+1): i*=j print('%d!=%d'%(n,i)) n=int(input('请输入一个正整数:')) Fac(n)

    10. 编写程序,求:今有鸡兔同笼,上有35头,下有94足,问鸡兔各几何?

    for chicken in range(0,36): if chicken*2+(35-chicken)*4==94: print('鸡有%d'%chicken,'兔有%d'%(35-chicken))

    11.编写程序,能完成简单的指法练习功能:由系统随机从26个大小写字母中选出10个,由用户输入,并统计用户输入的准确率。

    import random chars="abcdefghijklmnopqrstuvwxyz" a=[random.choice(chars) for j in range(10)] a=''.join(a) #将列表中所有字符连接成字符串 print(a) b=input('请输入上文内容:') num=0 i=1 while i: if len(a)!=len(b): print('输入长度不相等') i=1 else: i=0 for a_ch,b_ch in zip(a,b): if a_ch==b_ch: num+=1 rate=num/len(a) print('准确率为:',rate)

    12.编写程序,生成一个文件,文件名为“学号姓名.txt”(写自己真实的学号和姓名,机器不支持汉字的可以用拼音);文件内容为学Python这门课的收获、感想或建议。

    a=['学号:1907381106', '姓名:陈佳' ] f=open("学号姓名.txt",'w',encoding='utf8') f.writelines(a) f.close() print('写入成功!')

    13.读取一个Python源程序文件“text1.py”,去掉其中的空行和注释行,然后写入另一文件“text2.py”。

    f1=open("text1.py","r",encoding='utf8') f2=open("text2.py","w",encoding='utf8') lines=f1.readlines() for i in lines: if len(i)!=1 and not(i.startswith("#")): f2.writelines(i) f1.close() f2.close() print('成功!')

    14. 编写程序,将九九乘法表按照规范的格式输出到文件“9981.txt”中。

    with open('9981.txt','w') as f: for i in range(1,10): for j in range(1,i+1): a=str(j)+'*'+str(i)+'='+str(i*j)+'\\t' print(a,end='') f.write(a) print() f.write('\\n')

    15. 编写程序,创建基类Person,其成员包括实例属性name和age,实例方法setName()和setAge()分别用来给实例属性赋值,实例方法show()用来输出实例属性name和age的值;创建派生类Student,继承Person类,新增实例属性major(专业),新增实例方法setMajor()用来给实例属性major赋值,重写基类的实例方法show()输出所有实例属性的值。利用__init__()构造方法完成Person和Student类的对象初始化工作,并编写测试代码。

    class Person: def __init__(self,name,age): self.name=name self.age=age def setName(self,name): self.name=name def setAge(self,age): self.age=age def show(self): print(self.name,self.age) class Student(Person): def __init__(self,name,age,major): Person .__init__(self,name,age) self.major=major def setMajor(self,major): self.major=major def show(self): print(self.name,self.age,self.major) p=Person('陈一',21) p.setName('程二') p.setAge(20) p.show() f=Student('陈二',15,'初中生') f.setName('陈一') f.setAge(21) f.setMajor('大数据') f.show()

    16. 编写程序,创建基类Shape,其成员包括实例属性color,实例方法getColor()用于获取实例属性color的值,实例方法setColor()用来设置实例属性color的值;创建派生类Rectange,继承Shape类,新增实例属性length(长)和width(宽),新增实例方法getPerimeter ()和getArea()用来分别获取长方形的周长和面积。利用__init__()构造方法完成Shape和Rectange类的对象初始化工作,并编写测试代码。

    class Shape: def __init__(self,color): self.color=color def getColor(self): print(self.color) def setColor(self,color): self.color=color class Rectange(Shape): def __init__(self,color,length,width): Shape .__init__(self,color) self.length=length self.width=width def setPerimeter(self,length,width): self.length=length self.width=width print('周长为:',(self.length+self.width)*2) def setArea(self,length,width): self.length=length self.width=width print('周长为:',self.length*self.width) p=Shape('蓝色') p.getColor() p.setColor('绿色') p.getColor() f=Rectange('红色',3,4) f.setPerimeter(2,3) f.setArea(2,3)

    17.编写程序,创建基类Vehicle,其成员包括实例属性brand(品牌)和color(颜色),实例方法showInfo()用来输出实例属性brand和color的值;创建派生类Car,继承Vehicle类,新增实例属性seat(座位数),重写基类的实例方法showInfo ()输出所有实例属性的值。利用__init__()构造方法完成Vehicle和Car类的对象初始化工作,并编写测试代码。

    class Vehicle: def __init__(self,brand,color): self.brand=brand self.color=color def showInfo(self): print(self.brand,self.color) class Car(Vehicle): def __init__(self,brand,color,seat): Vehicle .__init__(self,brand,color) self.seat=seat def showInfo(self): print(self.brand,self.color,self.seat) p=Vehicle('兰博基尼','蓝色') p.showInfo() f=Car('红旗','白色',4) f.showInfo()

    18.用Windows记事本创建一个文本文件,其中每行包含一段英文,编写程序,读出文件的全部内容,并输出该文本文件的行数,以及一行中包含字符最多的和包含字符最少的分别在第几行。

    f=open("English.txt",'r') lines=f.readlines() count=len(lines) l=[] m=0 n=0 for i in lines: num=len(i) l.append(num) print("这文本文件共有%d行"%count) print("一行中字符最多的在第%d行"%(l.index(max(l))+1)) print("一行中字符最少的在第%d行"%(l.index(min(l))+1))

    19.编写程序,产生两个0~100之间的随机整数a和b,求这两个整数的最大公约数和最小公倍数。( 两个数的最小公倍数 = 两个数的乘积 / 两个数的最大公约数)。

    import random a=random.randint(0,100) b=random.randint(0,100) i=a j=b print('a=',a) print('b=',b) while(a): if a<b: t=a a=b b=t a%=b print("这两个正整数的最大公约数为:",b) c=i while (not(c%i==0 and c%j==0)): c+=1 print("这两个正整数的最小公倍数为:",c)

    20.编写程序,输入一个百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'和'E',90~100分为'A',80~89分为'B',70~79分为'C',60~69分为'D',60分以下为'E'。  

    n=int(input('请输入一个百分制成绩:')) if n<=100 and n>=90: print('成绩等级为A') if n<=89 and n>=80: print('成绩等级为B') if n<=79 and n>=70: print('成绩等级为C') if n<=69 and n>=60: print('成绩等级为D') if n<60: print('成绩等级为E')

    本文标签: 含答案考试题库Python