python期中期末注意考点

pip install random				#random模块的安装
import random;					#random 库的引用
random.random()
print(random())				 	# 生成一个 [0.0, 1.0) 之间的随机小数
random.seed(3)				    # 设置种子3,设置的种子的随机数不会改变
print(uniform(1,10)) 	 		# 生成一个 [1,10] 之间的随机小数
print(randrange(0,100,4))       # 从 0 开始到 100 以 4 递增的元素中随机返回
print(choice(range(100)))       # 从 0 到 99 随机返回一个元素
pip install jieba
import jieba
jieba.lcut(s)					#精确模式,返回一个列表类型的分词结果
jieba.lcut("中国是一个伟大的国家")
['中国', '是', '一个', '伟大', '的', '国家']
				

try:
    f=open("abc.txt","r")
    print(f.read())
finally:
    if f:
        f.close()
        
with open("abc.txt","r") as f:
    print(f.read())
1、若x等于27的三分之一次幂,y等于18除以4的整数商,z等于12除以10的余数,请用表达式计算出x、y、z三个数的和
x=27**(1/3)
y=18//4
z=12%10
print(x+y+z)
结果:9.0
2、请写出用于中文分词的jieba库的安装命令;若s是一段中文文字,再写出对s进行中文分词的命令
#安装jieba库的命令是:
pip install jieba
#导入jieba库的命令是:
import jieba

s="此单元的代码仅用于展示,无需真正执行!"
#应用jieba库对字符串s进行分词的命令是:
ls=lcut(s)    #列表ls用于存放分词的结果
3、请写出程序中导入与随机数相关的库的命令,并产生1~10范围内的一个随机整数
#导入随机数相关的库的命令是:
import random
#设置随机数种子为10的命令是:
random.seed(10)
#产生1-10范围内的一个随机整数并赋值给变量a的命令是:
a=random.randint(1,10)
4、若要实现如下所示的输出效果,请填空完善下列两条print语句(用你的答案替换下划线)
print(1,2,3,sep='#',end='@');print("abc")
5、若对浮点数3.9786格式化输出,要求输出结果保留两位小数,并且显示在带星号填充的10列宽度的中间,请写出相应的命令
print("{:*^10.2f}".format(3.9786))
6、若变量a的值等于5,变量st引用一个空集合,请写出给这两个变量赋值的语句并且判断a的值是否属于st当前引用的集合
a=5
st=set()
#判断a的值是否属于st集合:
print(a in st)
7、使用异常处理机制编写一段程序,完成如下要求:如果要读取的文件abc.txt不存在,则进入异常处理,输出字符串“文件不存在”;否则正常读取文件内容,并在输出内容后关闭文件。而无论是否读取成功,均应在最后输出字符串“文件操作结束”。
try:
    f=open("abc.txt","r")
except:##表示出错
    print("文件不存在")
else:
    s=f.read()
    print(s)
    f.close()
finally:
    print("文件操作结束")

#### 8、请回答问题:Python的面向对象技术是否真的无法对私有成员进行直接访问? 否
1、根据下面给出的程序,回答问题
n=2
def multiply1(x,y=10):
    return x*y*n
s=multiply1(9,2)
print(s)

def multiply2(x,y=10):
    n=3
    return x*y*n
s=multiply2(9,2)
print(s)

:::tips
(1)两个函数的调用结果为什么不同?
答:因为前者的n是全局变量,后者局部变量
(2)说出两个函数中,参数x和y的类型。
答:位置参数 默认值参数
(位置参数 默认值参数 可变的位置参数 可变的关键字参数)
(3)如果要让multiply2()函数的参数y的默认值10发挥作用,该如何修改程序代码?
答:s=muliply2(1)
:::

2、编程实现从键盘接收两个整数,并输出两个中较大的那个
a,b=eval(input("请输入两个数,用逗号分开"))
##省略
3、输出100以内的正奇数的和
sum=0
for i in range(0,100):
    if i%2!=0:
        sum=sum+i
    else:
        continue
print(sum)
4、根据要求完成下列操作
(1)设变量s=“I am a student of data science speciality which focuses on data process, data analysis and data application”,在不修改变量s的情况下,请依次完成a~c题
s ="I am a student of data science speciality which focuses on data process, data analysis and data application"
t=s.split()
print(t[3])
b、提取字符串s中的单词,去掉重复的单词,并把不重复的单词放到列表list1中并输出该列
s="I am a student of data science speciality which focuses on data process, data analysis and data application"
list1=list(set(s.split()))
print(list1)
c、用单词"that"替换s中的单词"which"
s="I am a student of data science speciality which focuses on data process, data analysis and data application"
t=s.replace("which","that")
print(t)
s.count("o")
d=s.upper()
s.title(
(2)设列表list2=[23,True,39,“abc”],请依次完成d~f题
d、把list2中的元素逆序输出,但不改变list2所引用的列表对象
list2=[23,True,39,"abc"]
print(list2[::-1])
e、为该列表增加一个新元素{7,8},并使它位于元素True的后面
list2=[23,True,39,"abc"]
list2.insert(2,{7,8})
print(list2[-1])
print(list2)
f、把元素39从该列表中删除
del list1[2]
print(list2)
(3)请按要求依次完成g~i题
g、设字典dt包含三个键值对,分别是’a1’:75,‘b2’:83,‘c3’:97。要求得到dt中所有的键并存放在列表list3中
dt={'a1':75,'b2':83,'c3':97}
list3=list(dt.items())
print(list3)
h、要求得到dt中键为’d4’的键值对所对应的值,若没有该键值对的话就返回0
'd4' in dt
i、修改键’b2’的值为89
dt['b2']=89
print(dt)
5、定义并调用一个名为person的函数,实现人员信息的输出。请根据下图给出的输出效果完善下面的程序框架,要求人员的名字信息必须要有,其他信息可有可无。
#请根据预期的输出效果完善下面的程序框架:
#请在begin1与end1注释之间实现person函数的定义,用于输出人员的信息
#要求人员的名字信息必须要有,其他信息可有可无
# *************begin1************#
def person(name,**args):
        ls=list(args.items())
        print("The information of {} is:".format(name))
        for i in range(len(ls)):
            a,b=ls[i]
            print(str(a)+':'+str(b))
# **************end1*************#
person('Alice',city='GL')
person('Bob',gender='M',job='Teacher')
emp1={"name":"Rose","favorite":"music","age":18}
#请在begin2与end2注释之间实现person函数的调用,用于输出人员emp1的信息
# *************begin2************#
person(**emp1)
# **************end2*************#
6、文件data.txt中给出了一组数,请求出这组数的众数(众数指出现次数最多的那个数)及其出现的频率。程序运行结果如下所示:
file_name="data.txt"
fi=open(file_name,"r")
str1=fi.read()
dit={}
list1=list(str1.split(","))
print(list1)
for i in list1:
    dit[i]=dit.get(i,0)+1
list2=list(dit.items())
list2.sort(key=lambda x:x[1],reverse=True)
a,b=list2[0]
print("众数:{},出现次数{}".format(a,b))
7、编写银行员工类BankEmployee,要求:1.银行员工类的属性包括姓名name,工号num,工资salary;2.设置salary属性为私有属性,并将salay的默认值设置为3000。请根据下面测试数据的输入输出情况,完善相应的代码。
class BankEmployee():
    #以下代码为提示框架,请在成对的#****之间使用一行或多行代码进行完善                  #
    #*****************************
    def __init__(self,name,num,salary=3000):
        self.name=name
        self.num=num
        self._salary=salary
    def get_salary(self):
        print(self.name +"这个月的工资"+ str(self._salary))
    #*****************************

name  =  input()
num  =  input()
bankemployee  =  BankEmployee(name,num)
bankemployee.get_salary()
  • 17
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值