计算机二级Python编程题记录(中)

简介: 计算机二级Python编程题记录

第六章


1




line = "After fresh rain in mountains bare "
print(line.title())


2




a = float(input("输入三角形第一条直角边长:"))
b = float(input("输入三角形第二条直角边长:"))
area = a*b*0.5
print("直角三角形的面积为:{:.1f}".format(area))


3



num = eval(input("输入数字:"))
print("对应的二进制数:{0:b}\n八进制数:{0:o}\n十六进制数:{0:X}".format(num))


4




import turtle
turtle.color('black','yellow')
turtle.begin_fill()
turtle.circle(50)
turtle.end_fill()


5




def judge_year(year):
    if (year%4==0 and year%100!=0) or year%400==0:
        print(year,"年是闰年")
    else:
        print(year, "年不是闰年")
year = eval(input("请输入年份:"))
judge_year(year)


6



fi = open("score.csv", "r")
fo = open("avg-score.txt", "w")
ls = []
x = []
sum = 0
for row in fi:
    ls.append(row.strip("\n").split(","))
for line in ls[1:]:
    for i in line[1:]:
        sum = int(i) + sum
        avg = sum / 3
    x.append(avg)
    sum = 0
fo.write("语文:{:.2f}\n数学:{:.2f}\n英语:{:.2f}\n物理:{:.2f}\n科学:{:.2f}".format(x[0], x[1], x[2], x[3], x[4]))
fi.close()
fo.close()


第七套


1




lis = [2,8,3,6,5,3,8]
new_lis = list(set(lis))
print(new_lis)


2




fruit = input('输入水果:')
lis = ['苹果','哈密瓜','橘子','猕猴桃','杨梅','西瓜']
if fruit in lis:
    print(fruit+"在列表lis中")
else:
    print(fruit+"不在列表lis中")


3




def str_change(str) :
    return str[::-1]
str = input("输入字符串:")
print(str_change(str))


4




import turtle
turtle.color("black","yellow")
turtle.begin_fill()
for i in range(5):
    turtle.fd(200)
    turtle.right(144)
turtle.end_fill()


5




lower = int(input('输入区间最小值:'))
upper = int(input('输入区间最大值:'))
for num in range(lower+1,upper):
    if num>1:
        for i in range(2,num):
            if(num%i)==0:
                break
        else:
            print(num)


6



fo = open("PY301-1.txt","w")
class Horse():
    def __init__(self, category, gender, age):
        self.category = category
        self.gender = gender
        self.age = age
    def get_descriptive(self):
        self.info = "一匹" + self.category + str(self.age) + "岁的" + self.gender + "马"
    def write_speed(self, new_speed):
        self.speed = new_speed
        addr = "在草原上奔跑的速度为"
        fo.write(self.info + "," + addr + str(self.speed) + "km/h。")
horse = Horse("阿拉伯","公",12)
horse.get_descriptive()
horse.write_speed(50)
fo.close()


fo = open("PY301-2.txt","w")
class Horse():
    def __init__(self, category, gender, age):
        self.category = category
        self.gender = gender
        self.age = age
    def get_descriptive(self):
        self.info = "一匹" + self.category + str(self.age) + "岁的" + self.gender + "马"
    def write_speed(self, new_speed):
        self.speed = new_speed
        addr = "在草原上奔跑的速度为"
        fo.write(self.info + "," + addr + str(self.speed) + "km/h。")
class Camel(Horse):
    def __init__(self, category, gender, age):
        super().__init__(category, gender, age)
    def write_speed(self,new_speed):
        self.speed = new_speed
        addr = "在沙漠上奔跑的速度为"
        fo.write(self.info.replace("马","骆驼") + "," + addr + str(self.speed) + "km/h。")
camel = Camel("双峰驼","母",20)
camel.get_descriptive()
camel.write_speed(40)
fo.close()


第八套


1




animals = ['cow', 'duck', 'cat', 'dog']
animals.reverse()   # animals = animals[::-1]
print(animals)


2




word = "   窗前明月光,疑是地上霜。   "
print(word.strip())


3




count = 0
while count < 50:
    count+=1
    if count % 2 == 0:
        continue
    print(count,end=",")


4




import turtle
for i in range(4):
    turtle.seth(90*(i+1))
    turtle.circle(50,90)
    turtle.seth(90*(i-1))
    turtle.circle(50,90)
turtle.hideturtle()


5



import math
try:
    a = eval(input('请输入底数:'))
    b = eval(input('请输入真数:'))
    c = math.log(b, a)
except ValueError:
    if a<=0 and b>0:
        print("底数不能小于等于0")
    elif b<=0 and a>0:
        print("真数不能小于等于0")
    elif a<=0 and b<=0:
        print('真数和低数都不能小于等于0')
except ZeroDivisionError:
    print('底数不能为1')
except NameError:
    print('输入必须为实数')
else:
    print(c)


6



intxt = input("请输入明文:")
for p in intxt:
    if "a" <= p <= "z":
        print(chr(ord("a") + (ord(p) - ord("a") + 3)%26), end="")
    elif "A" <= p <= "Z":
        print(chr(ord("A") + (ord(p) - ord("A") + 3)%26), end="")
    else:
        print(p,end="")


第九套


1




while True:
    s = input("请输入信息:")
    if s=="Y" or s=="y":
        break


2




import calendar
year = int(input("请输入年份:"))
table = calendar.calendar(year)
print(table)


3




s = input("请输入绕口令:")
print(s.replace("兵","将"))


4




5




fo = open("PY202.txt","w")
for i in range(1,10):
    for j in range(1,i+1):
        fo.write("{}*{}={}\t".format(j,i,i*j))
    fo.write("\n")
fo.close()


6



fi = open("关山月.txt","r")
fo = open("关山月-诗歌.txt","w")
for i in fi.read():
    if i == "。":
        fo.write("。\n")
    else:
        fo.write(i)
fi.close()
fo.close()


fi = open("关山月-诗歌.txt","r")
fo = open("关山月-反转.txt","w")
txt = fi.readlines()
txt.reverse()
for line in txt:
    fo.write(line)
fi.close()
fo.close()


第十套


1




data = eval(input("请输入一组数据,以逗号分隔:"))
print(max(data))


2




import jieba
s = "一件事情没有做过,就没有资格对此事发表看法"
ls = jieba.lcut(s)
print(ls)


3




这题不会


import time
t = time.localtime()
print(time.strftime("%Y年%m月%d日%H时%M分%S秒",t))


4




for i in range(0, 4):
    for y in range(0, 4 - i):
        print(" ", end="")
    print("* " * i)
for i in range(0, 4):
    for x in range(0, i):
        print(" ", end="")
    print("* " * (4 - i))


5




from turtle import *
pensize(5)
for i in range(6):
    fd(100)
    right(60)
color("red")
circle(60,steps=6)


6



import random
letter_list = ['a', 'b', 'c', 'd', 'e', 'f', 'g',
               'h', 'i', 'j', 'k', 'l', 'm', 'n',
               'o', 'p', 'q', 'r', 's', 't',
               'u', 'v', 'w', 'x', 'y', 'z']
letter = letter_list[random.randint(0, 25)]
count = 0
while True:
    a = input("请输入猜测的字母:")
    count += 1
    if a not in letter_list:
        print("请重新输入字母:")
    else:
        if count >= 5:
            print("你答错了5次,结束游戏!")
            break
        elif a > letter:
            print("输入的字母在答案之后")
            continue
        elif a < letter:
            print("输入的字母在答案之前")
            continue
        elif a == letter:
            print("恭喜你答对了!共回答了{}次".format(count))
            break


第十一套


1




f = open("poem.txt","r")
result = []
for line in f.readlines():
    line = line.strip("\n")
    if len(line) != 0 and line[0] != "#":
        result.append(line)
result.sort()
for line in result:
    print(line)
f.close()


2




a = []
for i in range(8):
    a.append([])
    for j in range(8):
        a[i].append(0)
for i in range(8):
    a[i][0] = 1
    a[i][i] = 1
for i in range(2,8):
    for j in range(1,i):
        a[i][j] = a[i-1][j-1]+a[i-1][j]
for i in range(8):
    for j in range(i+1):
        print("{:3d}".format(a[i][j]),end=" ")
    print()


3




def proc(strings):                     
    m = 0
    lst = []
    for i in range(len(strings)):
        if len(strings[i]) > m:
            m = len(strings[i])
    for i in range(len(strings)):
        if len(strings[i]) == m:
            lst.append(strings[i])
    return lst
strings = ['cad' ,'VB', 'Python', 'MATLAB', 'hello', 'world']
result = proc(strings)
print("the longest words are:")
for item in result:
    print("{: >25}".format(item))


4




strings = {'cad', 'PE ', 'Window', 'FM', 'hello', 'world','flowers'}
n=0
for word in strings:
    if word.islower():
        n += 1
print(n) 


5




def proc(stu_list):
    d = {}
    for item in stu_list:
        r = item.split("_")
        a,b = r[0],r[1].strip()
        if a in d:
            d[a] += [b]
        else:
            d[a] = [b]
    lst = sorted(d.items(), key = lambda d:len(d[1]), reverse = True)
    return lst
f = open("signup.txt","r")        
stu_list = f.readlines()
result = proc(stu_list)
for item in result:
    print(item[0], '->', item[1])
f.close()


6



d = {"lili": 80, "xiaoqiang": 75, "yunyun": 89, "yuanyuan": 90, "wanghao": 85}
d_sort = sorted(d.items(), key=lambda x: x[1], reverse=True)
for i in range(3):
    print(d_sort[i][0] + " " + str(d_sort[i][1]))


第十二套


1




num = input().split(",")
for i in num:
    print("{:>10}".format(i),end='')


2




scale = 0.0001  # 成就值增量
def calv(base, day):
    val = base * pow(1+scale,day*11)
    return val
print('5年后的成就值是{}'.format(int(calv(1, 5*365))))
year = 1
while calv(1, year*365) < 100:
    year += 1
print('{}年后成就值是100'.format(year))


3




while True:
    try:
        a = eval(input('请输入一个正整数: '))    
        if a > 0 and type(a)==int:
            print(a)
            break
        else:
            print("请输入正整数")
    except:
        print("请输入正整数")


4



import turtle as t
ls = [69, 292, 33, 131, 61, 254]
X_len = 400
Y_len = 300
x0 = -200
y0 = -100
t.penup()
t.goto(x0, y0)
t.pendown()
t.fd(X_len)
t.fd(-X_len)
t.seth(90)
t.fd(Y_len)
t.pencolor('red')
t.pensize(5)
for i in range(len(ls)):
    t.penup()
    t.goto(x0 + (i+1)*50, -100)
    t.seth(90)
    t.pendown()
    t.fd(ls[i])
t.done()


5




import random
random.seed(2)
pdict = {'Alice': ['123456789'],
         'Bob': ['234567891'],
         'Lily': ['345678912'],
         'Jane': ['456789123']}
name = input('请输入一个人名:')
plist = list(pdict)
if name in plist:
    print(name, pdict.get(name)[0], random.randint(1000,9999))
else:
    print("对不起,您输入的用户信息不存在。")


6



import jieba
def fenci(txt):
    f = open(txt, "r")
    datas = f.read()
    f.close()
    data = jieba.lcut(datas)
    d = {}
    for i in data:
        if len(i) >= 2:
            d[i] = d.get(i, 0) + 1
    lt = list(d.items())
    lt.sort(key=lambda x: x[1], reverse=True)
    return lt
def show(lt):
    for i in lt[:9]:
        print(i[0], ":", i[1], end=',',sep="")
    print(lt[9][0], ":", lt[9][1],sep="")
l1 = fenci("data2018.txt")
l2 = fenci("data2019.txt")
print(2019, end=':')
show(l2)
print(2018, end=':')
show(l1)


import jieba
def fenci(txt):
    f = open(txt, "r")
    datas = f.read()
    f.close()
    data = jieba.lcut(datas)
    d = {}
    for i in data:
        if len(i) >= 2:
            d[i] = d.get(i, 0) + 1
    lt = list(d.items())
    lt.sort(key=lambda x: x[1], reverse=True)
    ls = [x[0] for x in lt[:10]]
    return ls
def show(lt):
    print(','.join(lt))
l1 = fenci("data2018.txt")
l2 = fenci("data2019.txt")
l3 = []
for i in l1:
    if i in l2:
        l3.append(i)
for i in l3:
    l1.remove(i)
    l2.remove(i)
print("共有词语:", end='')
show(l3)
print('2019特有:', end='')
show(l2)
print('2018特有:', end='')
show(l1)



目录
相关文章
|
1月前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
1月前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
21天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
105 80
|
10天前
|
Python
[oeasy]python055_python编程_容易出现的问题_函数名的重新赋值_print_int
本文介绍了Python编程中容易出现的问题,特别是函数名、类名和模块名的重新赋值。通过具体示例展示了将内建函数(如`print`、`int`、`max`)或模块名(如`os`)重新赋值为其他类型后,会导致原有功能失效。例如,将`print`赋值为整数后,无法再用其输出内容;将`int`赋值为整数后,无法再进行类型转换。重新赋值后,这些名称失去了原有的功能,可能导致程序错误。总结指出,已有的函数名、类名和模块名不适合覆盖赋新值,否则会失去原有功能。如果需要使用类似的变量名,建议采用其他命名方式以避免冲突。
30 14
|
20天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
57 2
|
1月前
|
小程序 开发者 Python
探索Python编程:从基础到实战
本文将引导你走进Python编程的世界,从基础语法开始,逐步深入到实战项目。我们将一起探讨如何在编程中发挥创意,解决问题,并分享一些实用的技巧和心得。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考。让我们一起开启Python编程的探索之旅吧!
48 10
|
1月前
|
机器学习/深度学习 人工智能 数据挖掘
探索Python编程的奥秘
在数字世界的海洋中,Python如同一艘灵活的帆船,引领着无数探险者穿梭于数据的波涛之中。本文将带你领略Python编程的魅力,从基础语法到实际应用,一步步揭开Python的神秘面纱。
45 12
|
1月前
|
IDE 程序员 开发工具
Python编程入门:打造你的第一个程序
迈出编程的第一步,就像在未知的海洋中航行。本文是你启航的指南针,带你了解Python这门语言的魅力所在,并手把手教你构建第一个属于自己的程序。从安装环境到编写代码,我们将一步步走过这段旅程。准备好了吗?让我们开始吧!
|
1月前
|
关系型数据库 开发者 Python
Python编程中的面向对象设计原则####
在本文中,我们将探讨Python编程中的面向对象设计原则。面向对象编程(OOP)是一种通过使用“对象”和“类”的概念来组织代码的方法。我们将介绍SOLID原则,包括单一职责原则、开放/封闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。这些原则有助于提高代码的可读性、可维护性和可扩展性。 ####
|
1月前
|
人工智能 数据挖掘 开发者
探索Python编程之美:从基础到进阶
本文是一篇深入浅出的Python编程指南,旨在帮助初学者理解Python编程的核心概念,并引导他们逐步掌握更高级的技术。文章不仅涵盖了Python的基础语法,还深入探讨了面向对象编程、函数式编程等高级主题。通过丰富的代码示例和实践项目,读者将能够巩固所学知识,提升编程技能。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你提供有价值的参考和启示。让我们一起踏上Python编程的美妙旅程吧!