1,
实验目的:素数的判断,写入文件。
实验内容:创建文件data.txt,共100行,第n行存放[100*(n-1), 100*n)之间的素数。
def ck(k):
if k == 2:
return 1
elif k == 1 or k == 0:
return 0
else:
for w in range(2, k):
if k % w == 0:
return 0
return 1
with open('C://Users/XIN/Desktop/data.txt', 'w') as f:
for i in range(1, 101):
for j in range(100 * (i - 1), 100 * i):
if ck(j):
f.write(str(j))
f.write(' ')
f.write('\n')
2,
实验目的:csv文件的运用。
实验内容:批量生成50个人的随机信息,包括姓名,性别、年龄和成绩等。
1)把生成的信息写入csv文件info.csv。
2)读取info.csv文件,将每一个不及格(成绩小于60)的同学信息存放在以该同学姓名命名的文件中,这些文件使用dat作为扩展名。提示:c=chr(random.randint(65, 90))可以生成随机大写英文
import random
import csv
csvfile = open("C://Users/XIN/Desktop/tt.csv", "w", newline="")
writer = csv.writer(csvfile)
writer.writerow(['姓名', '性别', '年龄', '成绩'])
list1 = [0x7684, 0x4e00, 0x4e86, 0x662f, 0x6211, 0x4e0d, 0x5728, 0x4eba, 0x4eec, 0x6709, 0x6765, 0x4ed6, 0x8fd9, 0x4e0a,
0x7740, 0x4e2a, 0x5730, 0x5230, 0x5927, 0x91cc, 0x8bf4, 0x5c31, 0x53bb, 0x5b50, 0x5f97
, 0x4e5f, 0x548c, 0x90a3, 0x8981, 0x4e0b, 0x770b, 0x5929, 0x65f6, 0x8fc7, 0x51fa, 0x5c0f, 0x4e48, 0x8d77, 0x4f60,
0x90fd, 0x628a, 0x597d, 0x8fd8, 0x591a, 0x6ca1, 0x4e3a, 0x53c8, 0x53ef, 0x5bb6, 0x5b66
, 0x53ea, 0x4ee5, 0x4e3b, 0x4f1a, 0x6837, 0x5e74, 0x60f3, 0x751f, 0x540c, 0x8001, 0x4e2d, 0x5341, 0x4ece, 0x81ea,
0x9762, 0x524d, 0x5934, 0x9053, 0x5b83, 0x540e, 0x7136, 0x8d70, 0x5f88, 0x50cf, 0x89c1
, 0x4e24, 0x7528, 0x5979, 0x56fd, 0x52a8, 0x8fdb, 0x6210, 0x56de, 0x4ec0, 0x8fb9, 0x4f5c, 0x5bf9, 0x5f00, 0x800c,
0x5df1, 0x4e9b, 0x73b0, 0x5c71, 0x6c11, 0x5019, 0x7ecf, 0x53d1, 0x5de5, 0x5411, 0x4e8b
, 0x547d, 0x7ed9, 0x957f, 0x6c34, 0x51e0, 0x4e49, 0x4e09, 0x58f0, 0x4e8e, 0x9ad8, 0x624b, 0x77e5, 0x7406, 0x773c,
0x5fd7, 0x70b9, 0x5fc3, 0x6218, 0x4e8c, 0x95ee, 0x4f46, 0x8eab, 0x65b9, 0x5b9e
, 0x5403, 0x505a, 0x53eb, 0x5f53, 0x4f4f, 0x542c, 0x9769, 0x6253, 0x5462, 0x771f, 0x5168, 0x624d, 0x56db, 0x5df2,
0x6240, 0x654c, 0x4e4b, 0x6700, 0x5149, 0x4ea7, 0x60c5, 0x8def, 0x5206, 0x603b, 0x6761
, 0x767d, 0x8bdd, 0x4e1c, 0x5e2d, 0x6b21, 0x4eb2, 0x5982, 0x88ab, 0x82b1, 0x53e3, 0x653e, 0x513f, 0x5e38, 0x6c14,
0x4e94, 0x7b2c, 0x4f7f, 0x5199, 0x519b, 0x5427, 0x6587, 0x8fd0, 0x518d, 0x679c
, 0x600e, 0x5b9a, 0x8bb8, 0x5feb, 0x660e, 0x884c, 0x56e0, 0x522b, 0x98de, 0x5916, 0x6811, 0x7269, 0x6d3b, 0x90e8,
0x95e8, 0x65e0, 0x5f80, 0x8239, 0x671b, 0x65b0, 0x5e26, 0x961f, 0x5148, 0x529b
, 0x5b8c, 0x5374, 0x7ad9, 0x4ee3, 0x5458, 0x673a, 0x66f4, 0x4e5d, 0x60a8, 0x6bcf, 0x98ce, 0x7ea7, 0x8ddf, 0x7b11,
0x554a, 0x5b69, 0x4e07, 0x5c11, 0x76f4, 0x610f, 0x591c, 0x6bd4, 0x9636
, 0x8fde, 0x8f66, 0x91cd, 0x4fbf, 0x6597, 0x9a6c, 0x54ea, 0x5316, 0x592a, 0x6307, 0x53d8, 0x793e, 0x4f3c, 0x58eb,
0x8005, 0x5e72, 0x77f3, 0x6ee1, 0x65e5, 0x51b3, 0x767e, 0x539f, 0x62ff, 0x7fa4
, 0x7a76, 0x5404, 0x516d, 0x672c, 0x601d, 0x89e3, 0x7acb, 0x6cb3, 0x6751, 0x516b, 0x96be, 0x65e9, 0x8bba, 0x5417,
0x6839, 0x5171, 0x8ba9, 0x76f8, 0x7814, 0x4eca, 0x5176, 0x4e66, 0x5750
, 0x63a5, 0x5e94, 0x5173, 0x4fe1, 0x89c9, 0x6b65, 0x53cd, 0x5904, 0x8bb0, 0x5c06, 0x5343, 0x627e, 0x4e89, 0x9886,
0x6216, 0x5e08, 0x7ed3, 0x5757, 0x8dd1, 0x8c01, 0x8349, 0x8d8a, 0x5b57, 0x52a0, 0x811a, 0x7d27, 0x7231, 0x7b49,
0x4e60, 0x9635, 0x6015, 0x6708, 0x9752, 0x534a, 0x706b, 0x6cd5, 0x9898, 0x5efa, 0x8d76, 0x4f4d, 0x5531, 0x6d77,
0x4e03, 0x5973, 0x4efb, 0x4ef6, 0x611f
, 0x51c6, 0x5f20, 0x56e2, 0x5c4b, 0x79bb, 0x8272, 0x8138, 0x7247, 0x79d1, 0x5012, 0x775b, 0x5229, 0x4e16, 0x521a,
0x4e14, 0x7531, 0x9001, 0x5207, 0x661f, 0x5bfc, 0x665a, 0x8868, 0x591f, 0x6574, 0x8ba4, 0x54cd, 0x96ea, 0x6d41,
0x672a, 0x573a, 0x8be5, 0x5e76, 0x5e95, 0x6df1, 0x523b, 0x5e73, 0x4f1f, 0x5fd9, 0x63d0, 0x786e, 0x8fd1, 0x4eae,
0x8f7b, 0x8bb2, 0x519c, 0x53e4, 0x9ed1
, 0x544a, 0x754c, 0x62c9, 0x540d, 0x5440, 0x571f, 0x6e05, 0x9633, 0x7167, 0x529e, 0x53f2, 0x6539, 0x5386, 0x8f6c,
0x753b, 0x9020, 0x5634, 0x6b64, 0x6cbb, 0x5317, 0x5fc5, 0x670d
, 0x96e8, 0x7a7f, 0x5185, 0x8bc6, 0x9a8c, 0x4f20, 0x4e1a, 0x83dc, 0x722c, 0x7761, 0x5174, 0x5f62, 0x91cf, 0x54b1,
0x89c2, 0x82e6, 0x4f53, 0x4f17, 0x901a, 0x51b2, 0x5408, 0x7834
, 0x53cb, 0x5ea6, 0x672f, 0x996d, 0x516c, 0x65c1, 0x623f, 0x6781, 0x5357, 0x67aa, 0x8bfb, 0x6c99, 0x5c81, 0x7ebf,
0x91ce, 0x575a, 0x7a7a, 0x6536, 0x7b97, 0x81f3, 0x653f, 0x57ce
, 0x52b3, 0x843d, 0x94b1, 0x7279, 0x56f4, 0x5f1f, 0x80dc, 0x6559, 0x70ed, 0x5c55, 0x5305, 0x6b4c, 0x7c7b, 0x6e10,
0x5f3a, 0x6570, 0x4e61, 0x547c, 0x6027, 0x97f3, 0x7b54, 0x54e5
, 0x9645, 0x65e7, 0x795e, 0x5ea7, 0x7ae0, 0x5e2e, 0x5566, 0x53d7, 0x7cfb, 0x4ee4, 0x8df3, 0x975e, 0x4f55, 0x725b,
0x53d6, 0x5165, 0x5cb8, 0x6562, 0x6389, 0x5ffd, 0x79cd, 0x88c5
, 0x9876, 0x6025, 0x6797, 0x505c, 0x606f, 0x53e5, 0x533a, 0x8863, 0x822c, 0x62a5, 0x53f6, 0x538b, 0x6162, 0x53d4,
0x80cc, 0x7ec6]
def create_Hanzi ( min , max ):
n = random.randint(min, max)
str = ''
for i in range(n):
value = random.choice(list1)
s = chr(value)
str += s
return str
def create_sex():
sex = random.choice('男女')
return sex
for i in range(0,50):
writer.writerow([create_Hanzi(2, 4), create_sex(), str(random.randint(1,50)),str(random.randint(1,100)) ])
3,
实验目的:空文件夹的判断。
实验内容:显示当前程序的工作路径,并展示"C:\Windows\System32"下所有的空文件夹。
import os
print (os.getcwd())
import os
path = r'C://Windows/System32'
for dirname in os.listdir(path):
for root, dirs, files in os.walk(path + '\\' + dirname):
if len(os.listdir(root)) < 1:
print(root)
4,
实验目的:异常类继承的运用。
实验内容:自己定义一个异常类,继承Exception类, 捕获下面的过程:判断input()输入的字符串长度是否小于5,
如果小于5,比如输入长度为3则输出:"The input is of length 3, expecting at least 5“,大于5则输出"success”。
s = input("请输入你的字符串:")
class LenError(Exception):
def __init__(self, data):
Exception.__init__(self, data)
self.data = data
def __str__(self):
return 'The input is of length ' + self.data + ',expecting at least 5'
if len(s) <= 5:
raise LenError(str(len(s)))
else:
print('success')
5,
实验目的:异常类继承的运用。
实验内容:要求从键盘输入三个数字(整形或者浮点型),判断这三个数字是否能构成一个三角形。如果可以构成一个三角形,则计算三角形的周长。
class IllegalArgumentException(Exception):
def __init__(self, data):
Exception.__init__(self, data)
self.data = data
def __str__(self):
return 'a,b,c不能构造三角形\n程序运行结束'
class IllegalArgLenException(Exception):
def __init__(self, data):
Exception.__init__(self, data)
self.data = data
def __str__(self):
return '参数个数不正确\n程序运行结束'
s = input("请输入要构成三角形的三个数字:")
s = s.split()
if len(s) != 3:
raise IllegalArgLenException(str(s))
else:
a = 1
b = 1
if (float(s[0]) + float(s[1]) > float(s[2]) and float(s[1]) + float(s[0]) > float(s[1]) and float(s[2]) + float(
s[1]) > float(s[0])):
a = 2
if (abs(float(s[2]) - float(s[1])) < float(s[0]) and abs(float(s[2]) - float(s[0])) < float(
s[1]) and abs(float(s[0]) - float(s[1])) < float(s[2])):
b = 2
if not(a == 2 and b == 2):
raise IllegalArgumentException(s[0])
else:
print(float(s[2]) + float(s[1]) + float(s[0]))
print('程序运行结束')
6,
实验目的:assert的运用。
实验内容:录入一个学生的成绩,把该学生的成绩转换为A优秀、B良好、C合格、D不及格的形式,最后将该学生的成绩打印出来。要求使用assert断言处理分数不合理(小于0或者大于100)的情况,请编写程序。
1)自定义异常类IllegalArgumentException,对应异常信息为:“a,b,c不能构成三角形”
2)自定义异常类IllegalArgLenException,对应异常信息为:“参数个数不正确”
3)确保键盘输入的是三个值,如果输入值不为3,则抛出IllegalArgLenException异常。
4)确保输入是数字类型,否则抛出类型错误异常。
5)如果输入的三个数不能构成三角形则抛出IllegalArgumentException异常.如果可以构成则显示三角形三个边长,并计算并打印它的周长。6)不管是否发生异常,程序都会在处理完毕后显示"程序运行结束"。
score = int(input("请输入学生的成绩:"))
assert score >= 0 and score <= 100, '分数必须在1-100之间'
if score >= 80:
print('优秀')
elif score >= 70:
print('良好')
elif score >= 60:
print('合格')
else:
print('不及格')