# your code
# 计算阶乘函数
def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
# 计算和
total = 0
for i in range(1, 21):
total += factorial(i)
# 输出结果
print("结果:",total)
结果: 2561327494111820313
# your code
s = [9,7,8,3,2,1,55,6]
print("length =",len(s)," max =",max(s)," min =",min(s))
s.append(10)
s.remove(55)
print(s)
length = 8 max = 55 min = 1 [9, 7, 8, 3, 2, 1, 6, 10]
TTTTTx
TTTTxx
TTTxxx
TTxxxx
Txxxxx
# your code
T = 'T'
x = 'x'
length = 6
for i in range(1, length):
print(T * (length - i) + x * i)
TTTTTx TTTTxx TTTxxx TTxxxx Txxxxx
# your code
# 定义加法函数
def add(x, y):
return x + y
# 定义减法函数
def subtract(x, y):
return x - y
# 定义乘法函数
def multiply(x, y):
return x * y
# 定义除法函数
def divide(x, y):
if y == 0:
raise ValueError('除数不能为 0')
return x / y
# 用户选择功能
print('请选择要进行的运算:\n')
print('1. 加法')
print('2. 减法')
print('3. 乘法')
print('4. 除法')
choice = input('请输入 1/2/3/4 中的一个数字:')
# 用户输入数字
num1 = float(input('请输入第一个数字:'))
num2 = float(input('请输入第二个数字:'))
# 计算结果
if choice == '1':
print(num1, "+", num2, "=", add(num1, num2))
elif choice == '2':
print(num1, "-", num2, "=", subtract(num1, num2))
elif choice == '3':
print(num1, "*", num2, "=", multiply(num1, num2))
elif choice == '4':
try:
print(num1, "/", num2, "=", divide(num1, num2))
except ValueError as e:
print('错误信息:', e)
else:
print('输入错误,请输入有效数字(1-4)')
请选择要进行的运算: 1. 加法 2. 减法 3. 乘法 4. 除法 请输入 1/2/3/4 中的一个数字:3 请输入第一个数字:2 请输入第二个数字:3 2.0 * 3.0 = 6.0
# your code
class Student:
def __init__(self, name, age, course):
self.name = name
self.age = age
self.course = course
def get_name(self):
return str(self.name)
def get_age(self):
return int(self.age)
def get_course(self):
return max(self.course)
# 创建学生对象并测试
st = Student('zhangming', 20, [69, 88, 100])
print("学生姓名:" + st.get_name())
print("学生年龄:" + str(st.get_age()))
print("最高分:" + str(st.get_course()))
学生姓名:zhangming 学生年龄:20 最高分:100
X | Y | X | Y |
---|---|---|---|
-3.00 | 4 | 0.15 | 255 |
-2.50 | 12 | 0.75 | 170 |
-1.75 | 50 | 1.25 | 100 |
-1.15 | 120 | 1.85 | 20 |
-0.50 | 205 | 2.45 | 14 |
# your code
import matplotlib.pyplot as plt
# 定义数据
data = {
'-3.00': 4,
'-2.50': 12,
'-1.75': 50,
'-1.15': 120,
'-0.50': 205,
'0.15': 255,
'0.75': 170,
'1.25': 100,
'1.85': 20,
'2.45': 14
}
# 绘制柱状图
fig, ax = plt.subplots()
ax.bar(data.keys(), data.values())
# 添加标题和标签
ax.set_title('Data Bar Chart')
ax.set_xlabel('X')
ax.set_ylabel('Y')
# 显示图形
plt.show()
注:训练集:测试集=8:2,随机种子采用你学号后两位,例如你学号后两位=01,则random_state=1,如果最后两位=34,则random_state=34。最终结果打印出各个回归的w和b系数即可。
序号 | X1 | X2 | X3 | X4 | Y |
---|---|---|---|---|---|
1 | 7 | 26 | 6 | 60 | 78.5 |
2 | 1 | 29 | 15 | 52 | 74.3 |
3 | 11 | 56 | 8 | 20 | 104.3 |
4 | 11 | 31 | 8 | 47 | 87.6 |
5 | 7 | 52 | 6 | 33 | 95.9 |
6 | 11 | 55 | 9 | 22 | 109.2 |
7 | 3 | 71 | 17 | 6 | 102.7 |
8 | 1 | 31 | 22 | 44 | 72.5 |
9 | 2 | 54 | 18 | 22 | 93.1 |
10 | 21 | 47 | 4 | 26 | 115.9 |
11 | 1 | 40 | 23 | 34 | 83.8 |
12 | 11 | 66 | 9 | 12 | 113.3 |
13 | 10 | 68 | 8 | 12 | 109.4 |
# your code
import numpy as np
from sklearn import linear_model
from sklearn import metrics
from sklearn import model_selection
# 原始数据
X = np.array([
[7, 26, 6, 60],
[1, 29, 15, 52],
[11, 56, 8, 20],
[11, 31, 8, 47],
[7, 52, 6, 33],
[11, 55, 9, 22],
[3, 71, 17, 6],
[1, 31, 22, 44],
[2, 54, 18, 22],
[21, 47, 4, 26],
[1, 40, 23, 34],
[11, 66, 9, 12],
[10, 68, 8, 12]
])
y = np.array([
78.5,
74.3,
104.3,
87.6,
95.9,
109.2,
102.7,
72.5,
93.1,
115.9,
83.8,
113.3,
109.4
])
# 划分训练集和测试集
X_train, X_test, y_train, y_test = model_selection.train_test_split(X, y, test_size=0.2, random_state=29)
# 普通线性回归
lr = linear_model.LinearRegression()
lr.fit(X_train, y_train)
print('线性回归 w:', lr.coef_, 'b:', lr.intercept_)
# 岭回归
ridge = linear_model.Ridge(alpha=0.1)
ridge.fit(X_train, y_train)
print('岭回归 w:', ridge.coef_, 'b:', ridge.intercept_)
# Lasso 回归
lasso = linear_model.Lasso(alpha=0.1)
lasso.fit(X_train, y_train)
print('Lasso 回归 w:', lasso.coef_, 'b:', lasso.intercept_)
线性回归 w: [ 1.50774251 0.66458233 -0.02023126 -0.03008357] b: 53.42957933131478 岭回归 w: [ 1.48567298 0.64309493 -0.04284173 -0.05107605] b: 55.52038896242757 Lasso 回归 w: [ 1.52453453 0.68439878 -0. -0.0106636 ] b: 51.534832077416
注:训练集:测试集=1:1,随机种子采用你学号后两位,例如你学号后两位=01,则random_state=1,如果最后两位=34,则random_state=34。最终结果输出你预测结果、实际结果以及模型得分三项。
序号 | 年龄 | 收入 | 是否为学生 | 信誉 | 购买计算机 |
---|---|---|---|---|---|
1 | <=30 | 高 | 否 | 中 | 否 |
2 | <=30 | 高 | 否 | 优 | 否 |
3 | 31-40 | 高 | 否 | 中 | 是 |
4 | >40 | 中 | 否 | 中 | 是 |
5 | >40 | 低 | 是 | 中 | 是 |
6 | >40 | 低 | 是 | 优 | 否 |
7 | 31-40 | 低 | 是 | 优 | 是 |
8 | <=30 | 中 | 否 | 中 | 否 |
9 | <=30 | 低 | 是 | 中 | 是 |
10 | >40 | 中 | 是 | 中 | 是 |
11 | <=30 | 中 | 是 | 优 | 是 |
12 | 31-40 | 中 | 否 | 优 | 是 |
13 | 31-40 | 高 | 是 | 中 | 是 |
14 | >40 | 中 | 否 | 优 | 否 |
import numpy as np
import pandas as pd
from sklearn import metrics
# 导入高斯朴素贝叶斯分类器
from sklearn.naive_bayes import GaussianNB
from sklearn.model_selection import train_test_split
x = np.array(
[
[1, 3, 0, 1, 0],
[1, 3, 0, 2, 1],
[2, 3, 0, 2, 1],
[3, 2, 0, 1, 1],
[3, 1, 1, 1, 1],
[3, 1, 1, 2, 0],
[2, 1, 1, 2, 1],
[1, 2, 0, 1, 0],
[1, 1, 1, 1, 1],
[3, 2, 1, 1, 1],
[1, 2, 1, 2, 1],
[2, 2, 0, 2, 1],
[2, 3, 1, 1, 1],
[3, 2, 0, 2, 0],
]
)
y = np.array(
[
0,1,1,1,1,0,1,0,1,1,1,1,1,0
]
)
X_train, X_test, y_train, y_test = train_test_split(x, y, test_size=0.5, random_state=29
)
# 使用高斯朴素贝叶斯进行计算
clf = GaussianNB()
clf.fit(X_train, y_train)
# 评估
y_predict = clf.predict(X_test)
score_gnb = metrics.accuracy_score(y_predict,y_test)
print('该用户是否购买计算机:',y_predict)
print(y_test)
print(score_gnb)
该用户是否购买计算机: [1 0 1 1 1 1 0] [1 0 1 1 1 1 0] 1.0