0


NJUPT Python编程及人工智能应用实验报告(一)

实验报告(一)

数字转换星期几

数字转换星期几。编写程序从键盘输入一个1-7之间的整数,输出对应的表达星期几的英文单词。

提示:1表示星期一,7表示星期日,请将程序代码复制在下方:

s =["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sunday"]try:
    num =int(input("请输入一个1-7之间的整数:"))print(s[num-1])except:print("输入有误")

水仙花数

输出3位数的水仙花数。编写程序,输出100-1000之间的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数本身。

提示:运算符**表示幂运算,请将程序代码复制在下方:

for i inrange(100,1000):
    value =sum([int(s)**3for s instr(i)])if value == i:print(i)

倒置等腰三角形

print(i)打印*组成的倒置等腰三角形。利用循环语句打印如下图所示的图案。

for i inrange(4,0,-1):for j inrange(4-i):print(" ", end="")for k inrange(2*i-1):print("* ", end="")print()

随机数判断互质

使用random函数库中的函数产生两个100以内的随机整数,并判断它们是否互质。

提示:所谓互质就是指两个数的最大公约数为1;使用random.randint(1,100)可生成100以内的随机整数。请将代码粘贴在下方:

import random

# 定义判断两个数是否互质的函数defgcd(a, b):if b ==0:return a
    else:return gcd(b, a % b)# 产生两个100以内的随机整数
num1 = random.randint(1,100)
num2 = random.randint(1,100)print(f"{num1}和{num2}", end='')# 判断两个数是否互质if gcd(num1, num2)==1:print("互质")else:print("不互质")

输入&输出学生数据

题目:编写input()和output()函数输入,输出5个学生的数据记录,每个学生信息包括学号,姓名及三门课程的成绩。要求使用list来模拟学生记录结构。

definput(num):
    L =[]for i inrange(num):
        n =input("请输入学生姓名:")ifnot n:break
        a =input("请输入学生学号:")
        b =int(input("请输入语文课程成绩:"))
        c =int(input("请输入数学课程成绩:"))
        d =int(input("请输入英语课程成绩:"))
        L.append({'name': n,'id': a,'score':[b, c, d]})return L

defoutput(L):print("+---------------+----------+------+------+------+")print("|     姓名      |   学号   |  语文|  数学|  英语|")print("+---------------+----------+------+------+------+")for d in L:
        name = d['name']id= d['id']
        score = d['score']
        chinese = score[0]
        math = score[1]
        english = score[2]print("|%s|%s|%s|%s|%s|"%(name.center(15),id.center(10),str(chinese).center(6),str(math).center(6),str(english).center(6)))print("+---------------+----------+------+------+------+")# 测试input()和output()函数
L =input(5)
output(L)

文件读写&字符排序

有两个磁盘文件A.txt和B.txt,各存放一行字符,要求把这两个文件中的信息合并(按字母顺序排列),并输出到一个新文件C中

withopen('A.txt','r')as f1,open('B.txt','r')as f2:
    s = f1.read().strip()+ f2.read().strip()
    s =sorted(s, key=str.lower)withopen('C.txt','w')as f3:
        f3.write(''.join(s))

Book类读写&排序

定义一个产品类Book表示图书库存类,该类有三个数据成员:name, publisher, price, count,分别表示该图书的书名(字符串型)、出版社(字符串型)、单价(小数类型)、库存数量(整数类型),通过构造函数传值进行初始化。图书的初始信息存储在books.txt文件中,每行表示一种图书,每行有四列分别表示产品的四个信息。要求从文件读取所有书籍信息,保存在列表中,按出版社和库存量排序,保存到文件。请根据以下给出的主函数代码完善整个程序代码。

classBook():def__init__(self, name, publisher, price, count):
        self.name = name
        self.publisher = publisher
        self.price =int(price)
        self.count =int(count)defloadBook(L):
    f =open('books.txt','r')
    v = f.readline()while v:
        v = v.split()
        B = Book(v[0], v[1], v[2], v[3])
        L.append(B)
        v = f.readline()return L
defsortBook(L):
    L.sort(key=lambda x:(x.publisher,-x.count))return L
defsaveBook(L):
    f =open('books.txt','w')for B in L:
        f.write(B.name +' '+ B.publisher +' '+str(B.price)+' '+str(B.count)+'\n')print(B.name +' '+ B.publisher +' '+str(B.price)+' '+str(B.count))if __name__=="__main__":
    booklist=[]
    loadBook(booklist)
    sortBook(booklist)
    saveBook(booklist)

Numpy矩阵操作

现有矩阵A、B和向量x、y满足如下等式,其中A、B、y已知,x未知。编写Python程序,使用numpy求解x,输出计算结果。提示:numpy的矩阵求逆函数是numpy.linalg.inv(),比如矩阵A的逆是numpy.linalg.inv(A),需先通过pip install numpy指令安装NumPy。

import numpy as np

# 定义已知矩阵和向量
A = np.array([[1,2,3,4],[2,0,6,8],[3,7,1,2],[8,1,1,2]])
B = np.array([[11,12,13,14],[12,10,16,18],[13,17,11,12],[18,11,10,12]])
y = np.array([[1],[2],[3],[8]])# 求解未知向量x
B_inv = np.linalg.inv(B)
x = np.dot(np.dot(B_inv, A.T), y)print(x)
标签: python 开发语言

本文转载自: https://blog.csdn.net/SCHEN_03/article/details/129686631
版权归原作者 sCh3n 所有, 如有侵权,请联系我们删除。

“NJUPT Python编程及人工智能应用实验报告(一)”的评论:

还没有评论