草庐IT

Python考试题库(含答案)

猿CD 2023-04-15 原文

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

  1. 编写程序,使用循环语句输出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考试题库(含答案)的更多相关文章

  1. python - 如何使用 Ruby 或 Python 创建一系列高音调和低音调的蜂鸣声? - 2

    关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。

  2. Python 相当于 Perl/Ruby ||= - 2

    这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:Pythonconditionalassignmentoperator对于这样一个简单的问题表示歉意,但是谷歌搜索||=并不是很有帮助;)Python中是否有与Ruby和Perl中的||=语句等效的语句?例如:foo="hey"foo||="what"#assignfooifit'sundefined#fooisstill"hey"bar||="yeah"#baris"yeah"另外,类似这样的东西的通用术语是什么?条件分配是我的第一个猜测,但Wikipediapage跟我想的不太一样。

  3. java - 什么相当于 ruby​​ 的 rack 或 python 的 Java wsgi? - 2

    什么是ruby​​的rack或python的Java的wsgi?还有一个路由库。 最佳答案 来自Python标准PEP333:Bycontrast,althoughJavahasjustasmanywebapplicationframeworksavailable,Java's"servlet"APImakesitpossibleforapplicationswrittenwithanyJavawebapplicationframeworktoruninanywebserverthatsupportstheservletAPI.ht

  4. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  5. python - 如何读取 MIDI 文件、更改其乐器并将其写回? - 2

    我想解析一个已经存在的.mid文件,改变它的乐器,例如从“acousticgrandpiano”到“violin”,然后将它保存回去或作为另一个.mid文件。根据我在文档中看到的内容,该乐器通过program_change或patch_change指令进行了更改,但我找不到任何在已经存在的MIDI文件中执行此操作的库.他们似乎都只支持从头开始创建的MIDI文件。 最佳答案 MIDIpackage会为您完成此操作,但具体方法取决于midi文件的原始内容。一个MIDI文件由一个或多个音轨组成,每个音轨是十六个channel中任何一个上的

  6. 「Python|Selenium|场景案例」如何定位iframe中的元素? - 2

    本文主要介绍在使用Selenium进行自动化测试或者任务时,对于使用了iframe的页面,如何定位iframe中的元素文章目录场景描述解决方案具体代码场景描述当我们在使用Selenium进行自动化测试的时候,可能会遇到一些界面或者窗体是使用HTML的iframe标签进行承载的。对于iframe中的标签,如果直接查找是无法找到的,会抛出没有找到元素的异常。比如近在咫尺的例子就是,CSDN的登录窗体就是使用的iframe,大家可以尝试通过F12开发者模式查看到的tag_name,class_name,id或者xpath来定位中的页面元素,会抛出NoSuchElementException异常。解决

  7. python ffmpeg 使用 pyav 转换 一组图像 到 视频 - 2

    2022/8/4更新支持加入水印水印必须包含透明图像,并且水印图像大小要等于原图像的大小pythonconvert_image_to_video.py-f30-mwatermark.pngim_dirout.mkv2022/6/21更新让命令行参数更加易用新的命令行使用方法pythonconvert_image_to_video.py-f30im_dirout.mkvFFMPEG命令行转换一组JPG图像到视频时,是将这组图像视为MJPG流。我需要转换一组PNG图像到视频,FFMPEG就不认了。pyav内置了ffmpeg库,不需要系统带有ffmpeg工具因此我使用ffmpeg的python包装p

  8. Python 刷Leetcode题库,顺带学英语单词(31) - 2

    ValidPalindromeGivenastring,determineifitisapalindrome,consideringonlyalphanumericcharactersandignoringcases. [#125]Example:"Aman,aplan,acanal:Panama"isapalindrome."raceacar"isnotapalindrome.Haveyouconsiderthatthestringmightbeempty?Thisisagoodquestiontoaskduringaninterview.Forthepurposeofthisproblem

  9. python - 是否可以使用 Ruby 或 Python 禁用 anchor /引用来发出有效的 YAML? - 2

    是否可以在PyYAML或Ruby的Psych引擎中禁用创建anchor和引用(并有效地显式列出冗余数据)?也许我在网上搜索时遗漏了一些东西,但在Psych中似乎没有太多可用的选项,而且我也无法确定PyYAML是否允许这样做.基本原理是我必须序列化一些数据并将其以可读的形式传递给一个不是真正的技术同事进行手动验证。有些数据是多余的,但我需要以最明确的方式列出它们以提高可读性(anchor和引用是提高效率的好概念,但不是人类可读性)。Ruby和Python是我选择的工具,但如果有其他一些相当简单的方法来“展开”YAML文档,它可能就可以了。 最佳答案

  10. .net - .NET 将如何影响 Python 和 Ruby 应用程序? - 2

    我很好奇.NET将如何影响Python和Ruby应用程序。用IronPython/IronRuby编写的应用程序是否会非常特定于.NET环境,以至于它们实际上将变得特定于平台?如果他们不使用任何.NET功能,那么IronPython/IronRuby相对于非.NET同类产品的优势是什么? 最佳答案 我不能说任何关于IronRuby的东西,但是大多数Python实现(如IronPython、Jython和PyPy)都试图尽可能忠实于CPython实现。不过,IronPython正在迅速成为这方面的佼佼者之一,并且在PlanetPyth

随机推荐