Python模拟试卷2023(1)

该文展示了Python的基础编程操作,包括列表的插入、删除、排序等,百分制成绩到五分制的转换,计算序列和的函数设计,以及创建和使用学生类来存储和处理学生信息。此外,还演示了如何将随机生成的整数写入文件。
摘要由CSDN通过智能技术生成

模拟试卷(1)

一、简答题 (共8题,100分)

1、已知有列表lst=[54,36,75,28,50],请完成一下操作:

1、在列表尾部插入元素42

2、在元素28前面插入66

3、删除并输出28

4、将列表按降序排序

5、清空整个列表

lst=[54,36,75,28,50]
lst.append(42)
lst.insert(lst.index(28),66)
print(lst.pop(4))
lst.sort()
lst.sort(reverse=True)
lst.clear()

2、录入一个学生的百分制成绩,把该学生的成绩的转换成5分制成绩。转换规则如下:90分及以上转为5分,80分及以上转为4分,70分及以上转为3分,60分及以上转为2分,不及格转为1分。

score=int(input("请输入一个百分制学生成绩:"))  # “78”-》  78

if score>=90:

  g=5

elif score>=80:

  g=4

elif score>=70:

  g=3

elif score>=60:

  g=2

else:

  g=1

print("转换为五分制成绩为:",g)

3、键盘上输入2个整数mnm<n),求mn的和。

m=int(input("请输入起始数m:"))

n=int(input("请输入结束数n(n>m):"))

sum=0

i=m

while i<=n:

   sum=sum+i

   i=i+1

print(sum)

方法二:

count=m+1

while count<=n:

      m=m+count

      count+=1

print("m到n的和为:",m)

4、请设计一个函数,能够实现计算前n项分数序列求和。该分数序列如下:1/2,3/4,5/6,(2*i-1)/(2*i), 7/8,9/10...。

 注意:复制下面代码,在指定位置处填写代码。

#--------在以下空行处编写函数代码----------------#

def sumA(n):  #形式参数

  sum=0

  i=1

  while i<=n:

    sum=sum+(2*i-1)/(2*i)

    i+=1

    sum=sum+s

  return sum

#--------在以上空行处编写函数代码----------------#

#以下为主程序

n = int(input('请输入一个整数: '))

print(sumA(100)) #实际参数

print(sumA(10)) #实际参数

5、定义一个学生类Sudent,其中包括:

属性:姓名name、年龄age、性别gender、英语成绩EnglishScore、数学成绩MathScore、语文成绩ChineseScore(均为私有)。

构造函数:初始化各个属性值

方法(均为公有):

ave():求平均分并打印输出;

         printInfo():打印学生的信息(姓名、年龄、性别、英语成绩、数学成绩、语文成绩)。

在主程序中实例化学生类,打印学生信息并求平均分。

class Student:

  def __init__(self, na, n, s, es, ms, cs):

    self.__name = na

    self.__age = n

    self.__gender = s

    self.__EnglishScore = es

    self.__MathScore = ms

    self.__ChineseScore = cs

  def ave(self):

    a=(self.__EnglishScore+self.__MathScore+self.__ChineseScore)/3

    print("平均成绩为:",a)

  def printInfo(self):

    print("姓名:",self.__name,"年龄:",self.__age,"性别:",self.__gender,"英语成绩:",self.__EnglishScore,"数学成绩:",self.__MathScore,"语文成绩:",self.__ChineseScore)

S1 = Student("张三",20,"男",67,78,83)

S1.printInfo()

S1.ave()

S2 = Student("李四",18,"男",67,78,83)

S2.printInfo()

S2.ave()

6、编写程序实现,随机生成10个[1,100]之间的整数,将这些整数写入文件“data.txt”中,每行一个数字,以换行符分开,并在文件最后一行写入你自己的学号和姓名。提交程序文件。

import random

sFile=open("data.txt","w")

for i in range(10):

  s=random.randrange(1,101)   #random.randint(1,100)

  sFile.write(str(s))

  sFile.write("\n")

sFile.write("2021762011" )

sFile.write("张海\n")

sFile.write("2021762011 张海\n")

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值