当前位置: 首页 > news >正文

第12天python内容

Day 1:基础语法核心知识(必背版)

📌 今日目标

掌握Python基础语法、数据类型、运算符,能做对模拟题1-6题


第一部分:标识符与变量(必考!)

1. 标识符命名规则【背诵】

# ✅ 正确的标识符
x = 1
_name = "Tom"
student_1 = 90
姓名 = "张三"
myVar = 10# ❌ 错误的标识符
3x = 1        # 不能以数字开头
my-var = 10   # 不能有减号
for = 5       # 不能是关键字
my var = 20   # 不能有空格

【记忆口诀】

  • 字母数字下划线,汉字也能做名称
  • 数字开头不可以,关键字来要避开
  • 大小写要分清楚,见名知义最重要

【模拟题1对应】

# 题目:下列赋值语句中,错误的是
A. x = cos(x)      # ✅ 正确
B. y = y**x        # ✅ 正确
C. x = int(y)      # ✅ 正确
D. 3x = y          # ❌ 错误!标识符不能以数字开头# 答案:D

2. 变量赋值【背诵】

# 基本赋值
x = 10
y = 3.14# 链式赋值(多个变量同值)
x = y = z = 1# 序列解包赋值(多个变量不同值)
x, y, z = 1, 2, 3
a, b = 10, 20# 变量值交换
x, y = y, x  # 不需要中间变量

【必做练习】

# 练习1:判断下列哪些是合法标识符
_abc     # ✅
123abc   # ❌
abc_123  # ✅
my-name  # ❌
class    # ❌(关键字)
Class    # ✅# 练习2:写出运行结果
x, y = 10, 20
x, y = y, x
print(x, y)  # 输出:20 10

第二部分:字符串操作(高频考点!)

1. 字符串索引【必背】

s = "Python程序设计"# 正向索引(从0开始)
#  P  y  t  h  o  n  程  序  设  计
#  0  1  2  3  4  5  6  7  8  9# 反向索引(从-1开始)
# -10 -9 -8 -7 -6 -5 -4 -3 -2 -1print(s[0])    # 'P'
print(s[6])    # '程'
print(s[-1])   # '计'
print(s[-4])   # '程'

2. 字符串切片【核心考点】

s = "Python程序设计"# 格式:s[start:end:step]
# 左闭右开:包含start,不包含ends[:4]      # 'Pyth'  (从开头到索引3)
s[2:6]     # 'thon'  (从索引2到5)
s[6:]      # '程序设计'(从索引6到末尾)
s[:]       # 'Python程序设计'(全部)
s[::-1]    # '计设序程nohtyP'(倒序)
s[::2]     # 'Pto程设'(步长2)

【模拟题3对应】

s = "Python程序设计"
s[:4]  # 结果是什么?# 答案:'Pyth'(C选项)
# 解析:[:4]表示从开头(索引0)到索引3,共4个字符

【必做练习】

s = "Welcome"# 练习1:写出结果
print(s[1:4])    # 'elc'
print(s[:3])     # 'Wel'
print(s[4:])     # 'ome'
print(s[-3:])    # 'ome'
print(s[::-1])   # 'emocleW'# 练习2:提取星期几
S = "星期一星期二星期三星期四星期五星期六星期日"
n = int(input("请输入数字1-7: "))
start = (n-1) * 3
weekDay = S[start:start+3]
print(weekDay)

3. 字符串方法【必背】

s = "abc defg bc"# 大小写转换
s.upper()          # 'ABC DEFG BC'
s.lower()          # 'abc defg bc'# 查找
s.index('bc')      # 1(第一次出现的位置)
'bc' in s          # True
'xyz' in s         # False# 替换(不改变原字符串)
s.replace('bc', '123')  # 'a123 defg 123'# 分割
s.split(' ')       # ['abc', 'defg', 'bc']# 判断
'123'.isdigit()    # True(全是数字)
'abc'.isalpha()    # True(全是字母)
'abc123'.isalnum() # True(字母或数字)

【模拟题6对应】

# 判断变量c(字符串型)的内容是数字字符# 方法1:
'0' <= c <= '9'    # ✅ 正确# 方法2:
c.isdigit()        # ✅ 正确# 错误方法:
0 <= c <= 9        # ❌ 字符不能和数字比较
c >= 0 and c <= 9  # ❌ 字符不能和数字比较# 答案:D('0' <= c <= '9')

第三部分:数据类型【必背】

1. 基本数据类型

# 整数 int
x = 123
y = 0b1010      # 二进制:10
z = 0o26        # 八进制:22
w = 0X1E2       # 十六进制:482# 浮点数 float
a = 1.23
b = 3.6e-5      # 科学计数法:0.000036
c = 4.8E2       # 480.0# 字符串 str
s1 = 'hello'
s2 = "world"
s3 = '''多行
字符串'''# 布尔值 bool
flag1 = True
flag2 = False

2. 类型转换【必背】

# 转整数
int(1.5)         # 1(向下取整)
int('123')       # 123
int(True)        # 1
int(False)       # 0# 转浮点数
float(2)         # 2.0
float('12.3')    # 12.3# 转字符串
str(3)           # '3'
str(True)        # 'True'# 转布尔值
bool(0)          # False
bool(1)          # True
bool('')         # False(空字符串)
bool('0')        # True(非空字符串)# eval函数(计算字符串表达式)
eval('3+4')      # 7
eval('True')     # True
eval('[1,2,3]')  # [1, 2, 3]

【必做练习】

# 练习1:写出结果
print(int(1.9))        # 1
print(float('3'))      # 3.0
print(str(100))        # '100'
print(bool(''))        # False
print(bool('0'))       # True# 练习2:输入多个值
a, b, c = eval(input("输入a,b,c: "))
# 输入:1, 2, 3
# a=1, b=2, c=3

第四部分:运算符【必背】

1. 算术运算符

# 基本运算
10 + 3    # 13(加)
10 - 3    # 7 (减)
10 * 3    # 30(乘)
10 / 3    # 3.333...(除,结果是浮点数)# 重点运算符
10 // 3   # 3 (整除,向下取整)
10 % 3    # 1 (取余)
2 ** 3    # 8 (幂运算,2³)# 负数的整除和取余
23 // -5  # -5
23 % -5   # -2
-23 // 5  # -5
-23 % 5   # 2

【优先级】(从高到低)

  1. **(幂)
  2. * / // %(乘除)
  3. + -(加减)

【必做练习】

# 练习1:计算结果
print(10 / 3)     # 3.3333...
print(10 // 3)    # 3
print(10 % 3)     # 1
print(2 ** 3)     # 8# 练习2:三位数逆序输出
n = 345
a = n % 10        # 个位:5
b = n // 10 % 10  # 十位:4
c = n // 100      # 百位:3
result = a*100 + b*10 + c
print(result)     # 543# 练习3:求商和余数
divmod(23, -5)    # (-5, -2)

2. 关系运算符

# 比较运算符
5 > 3     # True
5 < 3     # False
5 == 5    # True(相等)
5 != 3    # True(不等于)
5 >= 5    # True
5 <= 4    # False# 字符串比较(按ASCII码)
'a' > 'A'         # True(小写>大写)
'abc' > 'aBc'     # True
'123' < '98'      # True(字符'1' < 字符'9')

3. 逻辑运算符

# and(与)- 全真才真
True and True     # True
True and False    # False# or(或)- 一真即真
True or False     # True
False or False    # False# not(非)- 取反
not True          # False
not False         # True# 组合使用
x = 15
x > 10 and x < 20      # True
1 < x < 20             # True(Python特有,等价于上面)

【必做练习】

# 练习1:判断三角形
a, b, c = 3, 4, 5
if a+b > c and b+c > a and a+c > b:print("能构成三角形")# 练习2:判断偶数
x = 10
if x % 2 == 0:print("偶数")# 练习3:判断数字字符
c = '5'
if '0' <= c <= '9':print("是数字字符")

第五部分:输入输出【必背】

1. 输入

# input()返回字符串
x = input("请输入: ")  # 输入:123
print(type(x))         # <class 'str'># 转换类型
x = int(input("请输入整数: "))
x = float(input("请输入小数: "))# eval()输入多个值
a, b = eval(input("输入a,b: "))
# 输入:10, 20
# a=10, b=20

2. 输出

# 基本输出
print("Hello")
print(1, 2, 3)         # 1 2 3(默认空格分隔)
print(1, 2, 3, sep=',')  # 1,2,3
print("A", end='')     # 不换行
print("B")             # AB# 格式化输出方法1:%
x = 123
y = 3.14159
print("x=%d, y=%.2f" % (x, y))  # x=123, y=3.14# 格式化输出方法2:format()
print("x={}, y={:.2f}".format(x, y))  # x=123, y=3.14

【必做练习】

# 练习1:输入三角形三边
a, b, c = eval(input("输入a,b,c: "))# 练习2:格式化输出
x = 123
print("%5d" % x)      #   123(占5位,右对齐)
print("%-5d" % x)     # 123  (占5位,左对齐)
print("%.2f" % 3.14159) # 3.14(保留2位小数)

📝 Day 1 课后作业

作业1:基础题(必做)

# 1. 判断下列标识符是否合法
_var       # ?
123abc     # ?
my_var     # ?
for        # ?# 2. 写出运行结果
s = "Hello World"
print(s[0])       # ?
print(s[:5])      # ?
print(s[-5:])     # ?
print(s[::-1])    # ?# 3. 计算结果
print(17 // 5)    # ?
print(17 % 5)     # ?
print(2 ** 3)     # ?# 4. 类型转换
print(int('123'))    # ?
print(float(5))      # ?
print(str(True))     # ?
print(bool(''))      # ?

作业2:编程题(必做)

# 题目1:输入三个整数,从大到小输出
a, b, c = eval(input("输入三个整数: "))
# 请完成代码# 题目2:判断字符类型
ch = input("输入一个字符: ")
# 判断是字母、数字还是其他字符# 题目3:温度转换
# 输入摄氏温度,输出华氏温度
# 公式:F = 9/5 * C + 32

⚠️ Day 1 易错点总结

  1. 标识符3x不合法(数字开头)
  2. 字符串切片s[:4]是前4个字符,不包括索引4
  3. 整除10//3=3,不是3.333
  4. 字符比较'0' <= c <= '9'是字符比较,不是数字
  5. 布尔值bool('')是False,bool('0')是True
  6. input():返回的是字符串,需要转换

Day 2:控制结构核心知识(必背版)

📌 今日目标

掌握选择结构、循环结构,能做对模拟题7-12题


第一部分:选择结构【必考!】

1. 单分支if语句

# 格式
if 条件:语句块  # 注意缩进4个空格# 示例
score = 85
if score >= 60:print("及格")

2. 双分支if-else语句【高频】

# 格式
if 条件:语句块1
else:语句块2# 示例:判断奇偶
x = 10
if x % 2 == 0:print("偶数")
else:print("奇数")# 示例:三角形面积
import math
a, b, c = 3, 4, 5
if a+b > c and b+c > a and a+c > b:p = (a+b+c) / 2area = math.sqrt(p*(p-a)*(p-b)*(p-c))print("三角形面积=", area)
else:print("不能构成三角形")

3. 多分支if-elif-else语句【必背】

# 格式
if 条件1:语句块1
elif 条件2:语句块2
elif 条件3:语句块3
else:语句块n# 示例:成绩等级
score = int(input("输入成绩: "))
if score >= 90:grade = "优"
elif score >= 80:grade = "良"
elif score >= 70:grade = "中"
elif score >= 60:grade = "及格"
else:grade = "不及格"
print(grade)

【重要!】多分支的执行顺序

# 正确写法(从高到低)
if score >= 90:grade = "优"
elif score >= 80:  # 已经<90grade = "良"# 错误写法(从低到高)
if score >= 60:grade = "及格"  # 90分也会进这里!
elif score >= 70:grade = "中"    # 永远执行不到

【必做练习】

# 练习1:判断三角形类型
a, b, c = eval(input("输入a,b,c: "))
if not (a+b > c and b+c > a and a+c > b):print("不能构成三角形")
elif a == b and b == c:print("等边三角形")
elif a == b or b == c or a == c:print("等腰三角形")
else:print("其他三角形")# 练习2:判断字符类型
ch = input("输入一个字符: ")
if ch.isalpha():print("字母")
elif ch.isdigit():print("数字")
else:print("其他字符")

第二部分:for循环【核心考点!】

1. 基本格式

# 格式
for 循环变量 in 序列:语句块# range()函数
range(n)           # 0 到 n-1
range(m, n)        # m 到 n-1
range(m, n, step)  # m 到 n-1,步长step

2. range()详解【必背】

# 示例
list(range(10))         # [0,1,2,3,4,5,6,7,8,9]
list(range(1, 10))      # [1,2,3,4,5,6,7,8,9]
list(range(1, 10, 2))   # [1,3,5,7,9]
list(range(10, 1, -1))  # [10,9,8,7,6,5,4,3,2]# 循环10次
for i in range(10):print(i)  # 0到9# 循环1到100
for i in range(1, 101):print(i)# 倒序循环
for i in range(10, 0, -1):print(i)  # 10到1

3. 遍历序列【必背】

# 遍历字符串
for c in "hello":print(c)  # h e l l o# 遍历列表
for i in [1, 2, 3, 4]:print(i)# 遍历时需要索引
s = "Python"
for i in range(len(s)):print(i, s[i])
# 0 P
# 1 y
# 2 t
# ...

4. 循环控制【重要】

# break:跳出整个循环
for i in range(10):if i == 5:breakprint(i)  # 0 1 2 3 4# continue:跳过本次循环
for i in range(10):if i % 2 == 0:continueprint(i)  # 1 3 5 7 9

【模拟题7对应】

numbers = [1, 2, 3, 4]# 错误写法
list(map(lambda x:x**2, *numbers))  # ❌ 不需要*# 正确写法
list(map(lambda x:x**2, numbers))   # ✅ [1,4,9,16]# 答案:B

【必做练习】

# 练习1:求1-100的和
s = 0
for i in range(1, 101):s += i
print(s)  # 5050# 练习2:求1-100的奇数和
s = 0
for i in range(1, 101, 2):s += i
print(s)# 练习3:九九乘法表(下三角)
for i in range(1, 10):for j in range(1, i+1):print(f"{i}*{j}={i*j}", end="\t")print()# 练习4:字符串中数字字符判断
s = input("输入字符串: ")
is_num = True
for c in s:if not c.isdigit():is_num = Falsebreak
if is_num:print("全是数字")
else:print("含非数字")

第三部分:while循环【必背】

1. 基本格式

# 格式
while 条件:语句块# 示例:求1-100的和
s = 0
i = 1
while i <= 100:s += ii += 1
print(s)

2. 死循环【注意】

# 死循环示例(永远不会结束)
while True:print("死循环")# 正确用法:配合break
while True:x = int(input("输入(-1结束): "))if x == -1:breakprint(x)

3. for vs while

# for循环:次数已知
for i in range(10):print(i)# while循环:次数未知
x = int(input("输入: "))
while x >= 0:print(x)x = int(input("输入: "))

【必做练习】

# 练习1:辗转相除法求最大公约数
m, n = 12, 18
if m < n:m, n = n, m
while m % n != 0:m, n = n, m % n
print("最大公约数:", n)# 练习2:统计输入数据
count = 0
total = 0
while True:x = int(input("输入(-1结束): "))if x == -1:breakcount += 1total += x
print(f"共{count}个数,和为{total}")

第四部分:列表推导式【高频考点!】

1. 基本格式【必背】

# 格式1:单分支
[表达式 for 变量 in 序列 if 条件]# 格式2:双分支
[表达式1 if 条件 else 表达式2 for 变量 in 序列]

2. 单分支列表推导式

# 示例1:生成平方数
[x**2 for x in range(10)]
# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]# 示例2:筛选偶数
[x for x in range(10) if x%2 == 0]
# [0, 2, 4, 6, 8]# 示例3:能被5整除的数的立方
[x**3 for x in range(1, 16) if x%5 == 0]
# [125, 1000](5³和10³)

【模拟题9对应】

# 题目:1到15之间所有能被5整除的数的立方# 正确答案
[x**3 for x in range(1, 16) if x%5 == 0]# 错误选项分析
[x**3 for x in range(5, 16) if x%5 != 0]  # 起点错,条件反
[x**2 for x in range(1, 16) if x%5 == 0]  # 平方不是立方
[x**3 for x in range(1, 16) if x%5 != 0]  # 条件反了# 答案:A

3. 双分支列表推导式

# 偶数求平方,奇数乘10
[x**2 if x%2==0 else x*10 for x in range(10)]
# [0, 10, 4, 30, 16, 50, 36, 70, 64, 90]# 大于5的保留,否则变0
[x if x>5 else 0 for x in range(10)]
# [0, 0, 0, 0, 0, 0, 6, 7, 8, 9]

【必做练习】

# 练习1:1-100的偶数
[x for x in range(1, 101) if x%2 == 0]# 练习2:1-100能被3和7整除的数
[x for x in range(100) if x%3==0 and x%7==0]# 练习3:字符串转大写
s = "hello"
[c.upper() for c in s]  # ['H','E','L','L','O']# 练习4:提取列表中的偶数
nums = [1, 2, 3, 4, 5, 6]
[x for x in nums if x%2 == 0]  # [2, 4, 6]

第五部分:lambda函数【必考!】

1. 基本格式【必背】

# 格式
lambda 参数: 表达式# 示例
f = lambda x: x**2
print(f(5))  # 25# 两个参数
add = lambda x, y: x + y
print(add(3, 4))  # 7

2. lambda配合map()【高频】

# map(函数, 序列)# 示例1:求平方
numbers = [1, 2, 3, 4]
result = list(map(lambda x: x**2, numbers))
print(result)  # [1, 4, 9, 16]# 示例2:字符串转整数
s = ['1', '2', '3']
result = list(map(int, s))
print(result)  # [1, 2, 3]

【模拟题10对应】

# 题目:判断一个整数是否为偶数# 正确答案
lambda x: x % 2 == 0# 错误选项分析
lambda x: if x%2==0: True else: False  # ❌ 不能有if语句
lambda x: return x%2==0                # ❌ 不能有return
lambda x: x%2=0                        # ❌ 是==不是=# 答案:D

3. lambda配合filter()

# filter(函数, 序列) - 筛选# 示例:筛选偶数
numbers = [1, 2, 3, 4, 5, 6]
result = list(filter(lambda x: x%2==0, numbers))
print(result)  # [2, 4, 6]# 示例:筛选正数
numbers = [-2, -1, 0, 1, 2]
result = list(filter(lambda x: x>0, numbers))
print(result)  # [1, 2]

【必做练习】

# 练习1:求立方
cube = lambda x: x**3
print(cube(3))  # 27# 练习2:判断奇数
is_odd = lambda x: x%2 == 1
print(is_odd(5))  # True# 练习3:两数之和
add = lambda x, y: x + y
print(add(10, 20))  # 30# 练习4:列表所有元素+10
nums = [1, 2, 3, 4, 5]
result = list(map(lambda x: x+10, nums))
print(result)  # [11, 12, 13, 14, 15]# 练习5:筛选大于5的数
nums = [1, 3, 5, 7, 9, 11]
result = list(filter(lambda x: x>5, nums))
print(result)  # [7, 9, 11]

第六部分:全局变量与局部变量【必考!】

1. 作用域【必背】

# 全局变量:函数外定义
x = 10def func():# 局部变量:函数内定义y = 20print(x)  # 可以访问全局变量print(y)func()
print(x)  # 10
print(y)  # ❌ 错误!y是局部变量

2. global关键字【重要】

# 不使用global
a = 5
def test():a = 10  # 这是局部变量a,不是全局aprint(a)
test()  # 10
print(a)  # 5(全局a没变)# 使用global
a = 5
def test():global a  # 声明使用全局变量a = 10    # 修改全局变量print(a)
test()  # 10
print(a)  # 10(全局a被修改)

【模拟题8对应】

a = 5
b = 6
def test():global aa = 10b = 20  # 局部变量b
test()
print(a, b)# 答案:10 6
# 解析:
# - a声明了global,所以a=10修改的是全局a
# - b没声明global,所以b=20是局部变量,不影响全局b

【必做练习】

# 练习1:不使用global
x = 100
def func():x = 200print(x)
func()      # 输出?200
print(x)    # 输出?100# 练习2:使用global
x = 100
def func():global xx = 200print(x)
func()      # 输出?200
print(x)    # 输出?200# 练习3:只读取全局变量
sum1 = 1
def func():print(sum1)  # 只读取,不需要global
func()
print(sum1)

📝 Day 2 课后作业

作业1:选择结构(必做)

# 1. 判断年份是否为闰年
# 闰年条件:能被4整除但不能被100整除,或能被400整除
year = int(input("输入年份: "))
# 请完成代码# 2. 根据月份输出季节
# 3-5春季,6-8夏季,9-11秋季,12-2冬季
month = int(input("输入月份: "))
# 请完成代码# 3. 判断三角形类型(等边、等腰、其他)
a, b, c = eval(input("输入三边: "))
# 请完成代码

作业2:循环结构(必做)

# 1. 求100以内所有偶数的和# 2. 求1-100中能被3整除但不能被5整除的数的个数# 3. 判断一个数是否为素数
n = int(input("输入一个数: "))
# 请完成代码# 4. 输出水仙花数(100-999)
# 水仙花数:各位数字立方和等于该数本身
# 如153 = 1³ + 5³ + 3³

作业3:列表推导式(必做)

# 1. 生成1-50中所有奇数的平方# 2. 提取字符串中的所有数字字符
s = "abc123def456"
# 结果:['1','2','3','4','5','6']# 3. 将列表中的偶数变为平方,奇数保持不变
nums = [1, 2, 3, 4, 5, 6]
# 结果:[1, 4, 3, 16, 5, 36]

作业4:综合题(必做)

# 1. 输入一组成绩(-1结束),计算平均分和及格率
scores = []
while True:score = int(input("输入成绩(-1结束): "))if score == -1:breakscores.append(score)
# 请完成后续代码# 2. 打印菱形图案
#     *
#    ***
#   *****
#  *******
#   *****
#    ***
#     *

⚠️ Day 2 易错点总结

  1. 多分支顺序:必须从高到低或从低到高,不能跳跃
  2. range()range(10)是0-9,不包括10
  3. break vs continue:break跳出循环,continue跳过本次
  4. 列表推导式:单分支if在后面,双分支if在前面
  5. lambda:不能有if语句,不能有return,只能有表达式
  6. global:要修改全局变量必须声明,只读取不需要

🎯 Day 1-2 重点知识清单

必背公式

# 温度转换
F = 9/5 * C + 32# 三角形面积(海伦公式)
p = (a+b+c) / 2
S = sqrt(p*(p-a)*(p-b)*(p-c))# 整除和取余= a // b
余数 = a % b

必背代码

# 1. 三位数逆序
n = 345
a = n % 10
b = n // 10 % 10
c = n // 100
result = a*100 + b*10 + c# 2. 判断字符是否为数字
'0' <= c <= '9'  或  c.isdigit()# 3. 输入多个值
a, b, c = eval(input("输入: "))# 4. 列表推导式筛选
[x for x in range(100) if 条件]# 5. lambda求平方
lambda x: x**2

明天继续Day 3-4的内容!加油!💪

http://www.dtcms.com/a/599136.html

相关文章:

  • 一屏展示网站来宾市住房和城乡建设局网站
  • 库尔勒市建设路街道办网站网站建设详细教程视频教程
  • 论坛网站建设求职网站开发多少钱
  • 计算报告指令
  • MicroService(Redis)
  • 昆明建设局网站代账会计在哪里找
  • 江门骏科网站建设小程序招商加盟
  • thinkadmin后台列表页面展示多图,点击放大镜预览效果
  • 电源完整性10-安装电感与自谐振频率
  • 360搜索网站提交入口wordpress调用文章摘要
  • 基于springboot个人云盘管理系统【带源码和文档】
  • 建商城网站带app多少钱电商数据网站
  • cms网站是什么网站根目录多文件
  • Windows 安装MySQL 9.5
  • leetcode 946 验证栈序列
  • 使用admin api添加kong配置信息
  • 怎么做狼视听网站东莞人才网官方网站
  • 厦门市建设执业资格注册管理中心网站书怎么做pdf下载网站
  • 网站制作定制图苏州工业园区招聘官网
  • 评估工程正成为下一轮Agent演进的重点
  • 哪个网站做相册好苏州网站优化建设
  • 百度账号购买网站引流推广方式
  • 做网站开公司太原建站的模板
  • vs python 网站开发优秀网站管理员
  • 西安哪里有做网站的中铁建设集团官方网站
  • 好看的手机网站推荐广州网站建设商家
  • 电商网站建设小强wordpress上传失败
  • 装饰工程设计东莞网站建设展示型网站设计与制作团队
  • OpenRefine:一款免费开源、功能强大的数据清洗工具
  • 工控人如何做自己的网站运动网站建设主题