1.创建文件data.txt,随机生成200个1~100之间的整数,各数之间用空格分开,将数据读出并输出到显示器上。
方法一:
import random
f = open(r"e:\data.txt", "w", encoding="utf-8")
for i in range(1, 201):
a = random.randint(1, 100)
f.write(str(a) + " ")
f = open(r"e:\data.txt", "r", encoding="utf-8")
b = f.readline()
print(b)
f.close()
方法二:
import random
f = open(r"e:\data.txt", "w", encoding="utf-8")
for i in range(1, 201):
l = random.randint(1, 100)
f.write(str(l))
f.write(" ")
f.close()
data_txt = open(r"e:\data.txt", "r", encoding="utf-8")
print(data_txt.read())
2.以下是两个数相除的程序:
X=int(input(“x:”))
Y=int(input(“y:”))
S=X/Y
print(“x/y=”,s)
若输入的X不是整数(比如字母或浮点数),程序将终止或者输入的Y是0,程序也将终止。
请对程序进行修改,要求若输入非整数时,给出“输入的数据必须是整数,请重新输入”或Y为0时,给出提示“分母不能为0,请重新输入”,直到数据完全正确为止。
while True:
try:
X = int(input("x:"))
Y = eval(input("y:"))
S = X / Y
print("x/y=", S)
except ZeroDivisionError:
print("分母不能为零")
except ValueError:
print("数据必须是整数")
f = input("是否继续计算?(y/n)").lower()
if f == "n":
break
3.设计一个Circle(圆)类,该类中包括属性r(半径),还包括__init__()、get_p(求周长)、get_area()(求面积)等方法。设计完成后,创建Circle类的对象并测试求周长和面积的功能。
class Circle:
def __init__(self, r):
self.r = r
def get_p(self):
return 3.14 * 2 * self.r
def get_area(self):
return 3.14 * self.r * self.r
n = int(input('请输入圆的半径:'))
c = Circle(n)
print('圆的周长是:', c.get_p())
print('圆的面积是:', c.get_area())
4.定义一个Student类,有下面的属性:姓名、年龄、语文成绩、数学成绩、英语成绩(每个成绩均为整数类型),且有以下的方法:
获取学生的姓名:get_name()
获取学生的年龄: get_age()
返回3门课的最高分:get_course()
定义好类后,定义2个同学测试如下:
Zm=Student(“zhangming”,20,69,88,100)
返回结果:zhangming 20 100
class Student:
def __init__(self, name, age, ch, math, eng):
self.name = name
self.age = age
self.ch = ch
self.math = math
self.eng = eng
def get_name(self):
print(self.name)
def get_age(self):
print(self.age)
def get_course(self):
z = max(self.ch, self.math, self.eng)
print(z)
a = Student("zhangming", 20, 69, 88, 100)
a.get_name()
a.get_age()
a.get_course()
5.定义HSStudent(高中生类),继承上题中的Student类,多了化学成绩、生物成绩、历史成绩、政治成绩、物理成绩5个属性,以及以下两个方法:
返回八门课程平均分的方法:get_average()
返回八门课最高分的方法:get_course()
定义好类后,定义2个同学进行测试,输出平均分和最高分
class Student:
def __init__(self, ch, math, eng):
self.ch = ch
self.math = math
self.eng = eng
class HSStudent(Student):
def __init__(self, ch, math, eng, hua, sh, li, zh, wu):
super().__init__(ch, math, eng)
self.hua = hua
self.sh = sh
self.li = li
self.zh = zh
self.wu = wu
def get_average(self):
sum = (self.ch + self.math + self.eng + self.hua + self.sh + self.li + self.zh + self.wu)
return sum / 8
def get_course(self):
return max(self.ch, self.math, self.eng, self.hua, self.sh, self.li, self.zh, self.wu)
a = HSStudent(11, 34, 25, 36, 58, 25, 47, 88)
print(a.get_average())
print(a.get_course())
更多此内容详见python实现手机通信录和学生细信息管理系统这篇文章