Python考试题库(含答案)
题目答案(代码部分博主手打)不唯一,仅供参考,可提供修改意见。
- 编写程序,使用循环语句输出1+2+3+…+100的和。
sum=0for i in range(1,101):sum+=iprint("1+2+3+…+100的和为",sum)
2.编写程序,使用循环语句输出1+4+7+10+13+…+112的和。
sum=0for i in range(1,113,3): sum+=iprint("1+4+7+10+13+…+112的和为",sum)
3.编程程序,使用循环语句输出5+10+15+20+25+…+100的和
sum=0for i in range(5,101,5): sum+=iprint("5+10+15+20+25+…+100的和为",sum)
4. 编写程序,从键盘输入两个正整数,计算并输出这两个数的最大公约数。
a=int(input("请输入第一个正整数:"))b=int(input("请输入第一个正整数:"))while(a): if a
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=1while i: m=float(input('请输入一个月份:')) if m>12 or m<=0 or m%1!=0: i=1 print('输入的数据为非法数据,请重新输入!') else: i=0if 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 randomchars="abcdefghijklmnopqrstuvwxyz"a=[random.choice(chars) for j in range(10)]a=''.join(a) #将列表中所有字符连接成字符串print(a)b=input('请输入上文内容:')num=0i=1while i: if len(a)!=len(b): print('输入长度不相等') i=1 else: i=0for a_ch,b_ch in zip(a,b): if a_ch==b_ch: num+=1rate=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=colorclass 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=0n=0for 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 randoma=random.randint(0,100)b=random.randint(0,100)i=aj=bprint('a=',a)print('b=',b)while(a): if a
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')
来源地址:https://blog.csdn.net/m0_58366299/article/details/127423275
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341