diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..359bb53
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml
new file mode 100644
index 0000000..105ce2d
--- /dev/null
+++ b/.idea/inspectionProfiles/profiles_settings.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/liutianshuo.iml b/.idea/liutianshuo.iml
new file mode 100644
index 0000000..a461c53
--- /dev/null
+++ b/.idea/liutianshuo.iml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
new file mode 100644
index 0000000..a90b30f
--- /dev/null
+++ b/.idea/misc.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..faf8a81
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/2024-10-11-1.py b/2024-10-11-1.py
new file mode 100644
index 0000000..3bc2805
--- /dev/null
+++ b/2024-10-11-1.py
@@ -0,0 +1,10 @@
+a=int(input("半径是:"))
+class circle():
+ def __init__(self,r):
+ self.r=r
+
+ def cir(self):
+ print('周长是:',3.14159265358979323846*self.r*2)
+ print('面积是:',3.14159265358979323846*self.r**2)
+circle1=circle(a)
+circle1.cir()
\ No newline at end of file
diff --git a/2024-10-19-1.py b/2024-10-19-1.py
new file mode 100644
index 0000000..47e0668
--- /dev/null
+++ b/2024-10-19-1.py
@@ -0,0 +1,4 @@
+def say_hello(x):
+ print("hello",x)
+ return
+say_hello(input())
\ No newline at end of file
diff --git a/2024-10-19-2.py b/2024-10-19-2.py
new file mode 100644
index 0000000..4861b08
--- /dev/null
+++ b/2024-10-19-2.py
@@ -0,0 +1,10 @@
+def is_san(c,d,e):
+ if c+d>e and c+d>e and c+d>e:
+ print('yes')
+ else:
+ print('no')
+
+a=int(input())
+b=int(input())
+c=int(input())
+is_san(a,b,c)
\ No newline at end of file
diff --git a/2024-10-25-1.py b/2024-10-25-1.py
new file mode 100644
index 0000000..3a48a83
--- /dev/null
+++ b/2024-10-25-1.py
@@ -0,0 +1,11 @@
+class student():
+ def __init__(self,a):
+ self.a=a
+print(student.__class__)
+a=2
+print(a.__class__)
+str="python"
+print(str.__class__)
+class person:
+ pass
+print(person.__doc__)
\ No newline at end of file
diff --git a/2024-10-26-1.py b/2024-10-26-1.py
new file mode 100644
index 0000000..94fe43d
--- /dev/null
+++ b/2024-10-26-1.py
@@ -0,0 +1,5 @@
+n=int(input())
+sum=0
+for i in range(n):
+ sum+=int(input())
+print('%.2f'%(sum/n))
diff --git a/2024-10-26-2.py b/2024-10-26-2.py
new file mode 100644
index 0000000..6cc148a
--- /dev/null
+++ b/2024-10-26-2.py
@@ -0,0 +1,5 @@
+n=int(input())
+sum=0
+for i in range(1,n+1):
+ sum=sum+i
+print(sum)
diff --git a/2024-10-26-3.py b/2024-10-26-3.py
new file mode 100644
index 0000000..e69de29
diff --git a/2024-11-1-1.py b/2024-11-1-1.py
new file mode 100644
index 0000000..0ee9803
--- /dev/null
+++ b/2024-11-1-1.py
@@ -0,0 +1,12 @@
+class Person(object):
+ def __init__(self,name,age,birthday,sex):
+ self.name = name
+ self.age = age
+ self.birthday = birthday
+ self.sex=sex
+person=Person("xm","18","10月8日","女")
+print(person.__dict__)
+print(Person.__dict__)
+print(dir(Person))
+print(type(Person),type(person))
+print(Person.__class__,person.__class__)
\ No newline at end of file
diff --git a/2024-11-1-2.py b/2024-11-1-2.py
new file mode 100644
index 0000000..f26d3dc
--- /dev/null
+++ b/2024-11-1-2.py
@@ -0,0 +1,18 @@
+class ticket:
+ def __init__(self,weekend=False,child=False,):
+ self.exp=100
+ if weekend:
+ self.inc=1.2
+ else:
+ self.inc=1
+ if child:
+ self.discount=0.5
+ else:
+ self.discount=1
+ def calc(self,num):
+ P=self.exp*self.inc*self.discount*num
+ return P
+
+adult=ticket()
+child=ticket(child=True)
+print("2个成人+1个小孩平日票价为:%.2f"%(adult.calc(2)+child.calc(1)))
\ No newline at end of file
diff --git a/2024-11-22-1-普通.py b/2024-11-22-1-普通.py
new file mode 100644
index 0000000..f052360
--- /dev/null
+++ b/2024-11-22-1-普通.py
@@ -0,0 +1,2 @@
+n=int(input())
+print(round(2+(n-1)*0.8))
\ No newline at end of file
diff --git a/2024-11-22-1.py b/2024-11-22-1.py
new file mode 100644
index 0000000..89e5dae
--- /dev/null
+++ b/2024-11-22-1.py
@@ -0,0 +1,10 @@
+n=int(input("请输入借书天数"))
+s=0
+if n<1:
+ print("您输入的借书天数有错")
+else:
+ if n==1:
+ s=2
+ else:
+ s=2+(n-1)*0.8
+ print(round(s),"元")
\ No newline at end of file
diff --git a/2024-11-22-2.py b/2024-11-22-2.py
new file mode 100644
index 0000000..f14ab56
--- /dev/null
+++ b/2024-11-22-2.py
@@ -0,0 +1,6 @@
+n=1
+while True:
+ if n%9==7 and n%5==2 and n%4==1:
+ print(n)
+ break
+ n+=1
\ No newline at end of file
diff --git a/2024-11-29-1.py b/2024-11-29-1.py
new file mode 100644
index 0000000..8975c10
--- /dev/null
+++ b/2024-11-29-1.py
@@ -0,0 +1,9 @@
+
+def sort(arr):
+ if len(arr)<=1:
+ return arr
+ base=arr[0]
+ left=[i for i in arr[1:]if i<=base]
+ right=[i for i in arr[1:] if i > base]
+ return sort(left)+[base]+sort(right)
+print(sort([23,4332,44,6,43,423,5,4,64,35,34,54,576,56,36,57,587,46,6,5,75,]))
\ No newline at end of file
diff --git a/2024-9-20-1未做完.py b/2024-9-20-1未做完.py
new file mode 100644
index 0000000..cde03f7
--- /dev/null
+++ b/2024-9-20-1未做完.py
@@ -0,0 +1,123 @@
+students={"张三":{"name":"张三",
+ "ID":202001,
+ "语文":89,
+ "数学":97,
+ "英语":91
+ },
+ "李四":{"name":"李四",
+ "ID":202002,
+ "语文":97,
+ "数学":81,
+ "英语":90
+ },
+ "王五": {"name": "王五",
+ "ID": 202003,
+ "语文": 97,
+ "数学": 100,
+ "英语": 94
+ },
+ "赵六": {"name": "赵六",
+ "ID": 202004,
+ "语文": 81,
+ "数学": 92,
+ "英语": 73
+ }
+}
+
+def showinfo():
+ print("-"*110)
+ print(''' 学生成绩系统
+ 1.添加学生信息
+ 2.删除学生信息
+ 3.修改学生信息
+ 4.查询学生信息
+ 5.学生成绩排序
+ 6.列出所有学生信息
+ 7.退出程序''')
+ print("-"*110)
+def paixu(a,b):
+ return [name for name in students.keys()if students[name][a]>=b]
+c=0
+while True:
+ showinfo()
+ choice=input("请输入你的选择:")
+ if choice=="1":
+ id=int(input("要添加的学生的ID:"))
+ c=0
+ for i in students:
+ if id==students[i]["ID"]:
+ c=1
+ break
+ if c==1:
+ print("学生已在列表中")
+ else:
+ d1=input("学生姓名:")
+
+
+ students[d1]={
+ "name": d1,
+ "ID": id,
+ "语文": int(input("语文成绩:")),
+ "数学": int(input("数学成绩:")),
+ "英语": int(input("英语成绩:"))
+ }
+ elif choice=="2":
+ id = int(input("要删除的学生的ID:"))
+ c = 0
+ for i in students:
+ if id == students[i]["ID"]:
+ c = 1
+ break
+ if c == 1:
+ print("学生没在列表中")
+ else:
+ d1 = input("学生姓名:")
+ del students[d1]
+ elif choice=="3":
+ id = int(input("要修改的学生的ID:"))
+ c = 0
+ d=0
+ for i in students:
+ d=i
+ if id == students[i]["ID"]:
+ c = 1
+ break
+ if c:
+ del students[d]
+ d1 = input("学生姓名:")
+ students[d1] = {
+ "name": d1,
+ "ID": id,
+ "语文": int(input("语文成绩:")),
+ "数学": int(input("数学成绩:")),
+ "英语": int(input("英语成绩:"))
+ }
+ else:
+ print("不在列表")
+
+ elif choice=="4":
+ id = int(input("要查询的学生的ID:"))
+
+ for i in students:
+
+ if id == students[i]["ID"]:
+
+ c = 1
+ break
+ if c == 1:
+ print("学生没在列表中")
+ else:
+ d1 = input("学生姓名:")
+ print(d1,students[d1])
+ elif choice=="5":
+ a=input("学科:")
+ b=int(input("筛选成绩:"))
+ print(paixu(a,b))
+ elif choice=="6":
+ for i in students:
+ print(i,students[i])
+ elif choice=="7":
+ print("退出程序")
+ break
+ else:
+ print("无效输入,请重新输入")
\ No newline at end of file
diff --git a/2024-9-27-1.py b/2024-9-27-1.py
new file mode 100644
index 0000000..0a1e6c4
--- /dev/null
+++ b/2024-9-27-1.py
@@ -0,0 +1,56 @@
+value=input().split()
+n,m,k=int(value[0]),int(value[1]),int(value[2])
+b=[]
+for i in range(n):
+ temp = []
+ for j in range(n):
+ temp.append(0)
+ b.append(temp)
+def zuobiao(x1,y1):
+ if 0<=x1<=n-1 and 0<=y1<=n-1:
+ return 1
+ else:
+ return 0
+def huo(x,y):
+ heng=x-2
+ for i in range(heng,heng+5):
+ temp= zuobiao(i,y)
+ if temp:
+ b[i][y] = 1
+
+ lie=y-2
+ for i in range(lie,lie+5):
+ temp= zuobiao(x,i)
+ if temp:
+ b[x][i] = 1
+
+ listx=[x-1,x+1]
+ listy=[y-1,y+1]
+ for i in listx:
+ for j in listy:
+ temp= zuobiao(i,j)
+ if temp:
+ b[i][j] = 1
+
+def yingshi(x,y):
+ heng=x-2
+ lie=y-2
+ for i in range(heng,heng+5):
+ for j in range(lie,lie+5):
+ temp= zuobiao(i,j)
+ if temp:
+ b[i][j] = 1
+for i in range(m):
+ x1,y1=map(int,input().split())
+ huo(x1-1,y1-1)
+for i in range(k):
+ x2,y2=map(int,input().split())
+ yingshi(x2-1,y2-1)
+count=0
+for i in range(n):
+ for j in range(n):
+ print(b[i][j],end=' ')
+ if b[i][j]==0:
+ count+=1
+ print()
+print(count)
\ No newline at end of file
diff --git a/2024-9-29 LV2.py b/2024-9-29 LV2.py
new file mode 100644
index 0000000..83a3c5e
--- /dev/null
+++ b/2024-9-29 LV2.py
@@ -0,0 +1,23 @@
+def g(n,start,a,b):
+ if sum(a)==n:
+ b.append(a[:])
+ return
+
+ for i in range(start,n+1):
+ if sum(a)+i>n:
+ break
+ a.append(i)
+ g(n,i,a,b)
+ a.pop()
+
+def p(n):
+ b=[]
+ g(n,1,[],b)
+ b.sort()
+ for r in b:
+ print(" ".join(map(str,r)))
+
+n=int(input())
+p(n)
+
+
diff --git a/2024-9-29.py b/2024-9-29.py
new file mode 100644
index 0000000..b61dff5
--- /dev/null
+++ b/2024-9-29.py
@@ -0,0 +1,28 @@
+a=int(input())
+for i in range(1,a+1):
+ u=[] #失败
+ u.append(i)
+ if sum(u) == a:
+ print(u)
+ for j in range(1, a + 1):
+ u.append(j)
+ if sum(u) == a:
+ print(u)
+ for k in range(1, a + 1):
+ u.append(k)
+ if sum(u) == a:
+ print(u)
+ for b in range(1, a + 1):
+ u.append(b)
+ if sum(u) == a:
+ print(u)
+ for y in range(1, a + 1):
+ u.append(y)
+ if sum(u) == a:
+ print(u)
+ u.pop()
+ u.pop()
+ u.pop()
+ u.pop()
+ u.pop()
+
diff --git a/2024-9-29加强.py b/2024-9-29加强.py
new file mode 100644
index 0000000..bfd178c
--- /dev/null
+++ b/2024-9-29加强.py
@@ -0,0 +1,23 @@
+def g(n,start,a,b):
+ if sum(a)==n:
+ b.append(a[:])
+ return
+
+ for i in range(1,n+1):
+ if sum(a)+i>n:
+ break
+ a.append(i)
+ g(n,i,a,b)
+ a.pop()
+
+def p(n):
+ b=[]
+ g(n,1,[],b)
+ b.sort()
+ for r in b:
+ print(" ".join(map(str,r)))
+
+n=int(input())
+p(n)
+
+
diff --git a/2024-9-6-1.py b/2024-9-6-1.py
new file mode 100644
index 0000000..5abbc07
--- /dev/null
+++ b/2024-9-6-1.py
@@ -0,0 +1,52 @@
+import turtle
+import random
+t=turtle.Turtle()
+
+t.speed(0)
+
+def lian(x, y):
+ t.penup()
+ t.goto(x, y)
+ t.pendown()
+ t.fillcolor("yellow")
+ t.begin_fill()
+ t.circle(35)
+ t.end_fill()
+
+def eyes(x27,y5):
+ t.penup()
+ t.goto(x27,y5)
+ t.pendown()
+ t.fillcolor("black")
+ t.begin_fill()
+ t.circle(6)
+ t.end_fill()
+
+ t.penup()
+ t.goto(x27, y5+4)
+ t.pendown()
+ t.fillcolor("white")
+ t.begin_fill()
+ t.circle(2)
+ t.end_fill()
+
+def zui(x,y):
+ t.penup()
+ t.goto(x,y)
+ t.pendown()
+ t.setheading(-45)
+ t.circle(radius=40, extent=90, steps=4) #circle(radius=50,extent=80,steps=5)
+
+def smile(x,y):
+ lian(x,y)
+ eyes(x+17,y+40)
+ eyes(x -17, y + 40)
+ zui(x-25,y+26)
+ t.setheading(0)
+
+for i in range(1000):
+ y = random.randint(-7, 7) * 70
+ x = random.randint(-6, 6) * 70
+ smile(x,y)
+t.hideturtle()
+turtle.done()
diff --git a/2025-1-3-1.py b/2025-1-3-1.py
new file mode 100644
index 0000000..4ae6250
--- /dev/null
+++ b/2025-1-3-1.py
@@ -0,0 +1,31 @@
+import tkinter
+from PIL import Image,ImageTk
+from tkinter import filedialog
+import os
+from amzqr import amzqr
+tk=tkinter.Tk()
+tk.geometry("400x400")
+tk.resizable(0,0)
+bg_image=Image.open("qrcode_bg.jpg")
+bg_image=ImageTk.PhotoImage(bg_image)
+bg_label=tkinter.Label(tk,image=bg_image)
+bg_label.pack()
+text1=tkinter.Text(tk,font=("华文行楷",12),width=30,height=5)
+text1.place(x=80,y=100)
+text2=tkinter.Text(tk,font=("华文行楷",12),width=23,height=1)
+text2.place(x=80,y=250)
+def get_pic():
+ pic_path=filedialog.askopenfilename()
+ text2.delete("1.0","end")
+ text2.insert("1.0",pic_path)
+btn2=tkinter.Button(tk,text="浏览",font=("华文行楷",12),command=get_pic)
+btn2.place(x=312,y=250,height=25)
+def qr():
+ word=text1.get("1.0","end")
+ word="".join(word.split("\n"))
+ picture=text2.get("1.0","end")[:-1]
+ version,level,qr_name=amzqr.run(words=word,picture=picture,colorized=True)
+ os.system(qr_name)
+btn1=tkinter.Button(tk,text="生成二维码",font=("华文行楷",15),command=qr)
+btn1.place(x=80,y=300,width=250)
+tk.mainloop()
\ No newline at end of file
diff --git a/2025-1-7-1.py b/2025-1-7-1.py
new file mode 100644
index 0000000..ce1c9e9
--- /dev/null
+++ b/2025-1-7-1.py
@@ -0,0 +1,25 @@
+import tkinter as tk
+import random
+import threading
+import time
+from PIL import Image,ImageTk
+from pygame.examples.cursors import image
+
+from 二维码生成器 import text_input
+
+
+class MovingLabel(threading.Thread):
+ def __init__(self,window,text):
+ threading.Thread.__init__(self)
+ self.text=text
+ self.label=tk.label(window,image=kuang,text=self.text,compound="center",font=("黑体",20),fg="white",width=190,height=45)
+ self.label.place(x=800,y=random.randint(10,550))
+ def run(self):
+ x=800
+ while x>-200:
+ x-=2
+ self.label.place(x=x)
+ time.sleep(0.02)
+ self.label.destroy()
+def send():
+ text=e1.get()
\ No newline at end of file
diff --git a/24点.py b/24点.py
new file mode 100644
index 0000000..2d56362
--- /dev/null
+++ b/24点.py
@@ -0,0 +1,3 @@
+list=[]
+for i in range(4):
+ list.append(int(input()))
\ No newline at end of file
diff --git a/qrcode_bg.jpg b/qrcode_bg.jpg
new file mode 100644
index 0000000..b9132dd
Binary files /dev/null and b/qrcode_bg.jpg differ
diff --git a/qrcode_bg_qrcode.png b/qrcode_bg_qrcode.png
new file mode 100644
index 0000000..1f71399
Binary files /dev/null and b/qrcode_bg_qrcode.png differ
diff --git a/二维码生成器.py b/二维码生成器.py
new file mode 100644
index 0000000..4b287a0
--- /dev/null
+++ b/二维码生成器.py
@@ -0,0 +1,116 @@
+import tkinter as tk
+from tkinter import filedialog, messagebox
+import qrcode
+from PIL import Image
+
+
+# 生成二维码的函数
+def generate_qr():
+ text = text_input.get("1.0", tk.END).strip() # 获取用户输入的文字
+ if not text:
+ messagebox.showerror("错误", "请输入内容!")
+ return
+
+ # 选择保存路径
+ save_path = filedialog.asksaveasfilename(
+ defaultextension=".png",
+ filetypes=[("PNG 图片", "*.png"), ("所有文件", "*.*")]
+ )
+ if not save_path:
+ return # 用户取消保存时退出
+
+ try:
+ # 调用 qrcode 库生成二维码
+ qr = qrcode.QRCode(
+ version=1, # 控制二维码大小,1~40
+ error_correction=qrcode.constants.ERROR_CORRECT_H, # 容错率,可选 L, M, Q, H
+ box_size=10, # 每个模块的像素大小
+ border=4, # 边框宽度(模块单位)
+ )
+ qr.add_data(text) # 添加内容
+ qr.make(fit=True) # 适配大小
+
+ # 生成二维码图片
+ qr_img = qr.make_image(fill_color="black", back_color="white").convert("RGBA")
+
+ # 将二维码中的白色背景透明化
+ qr_img = make_background_transparent(qr_img)
+
+ # 如果选择了背景图片,将其融合到二维码中
+ if bg_image_path.get():
+ bg_img = Image.open(bg_image_path.get()).convert("RGBA")
+ qr_img = blend_qr_with_bg(qr_img, bg_img)
+
+ qr_img.save(save_path) # 保存图片
+ messagebox.showinfo("成功", f"二维码已生成并保存至:\n{save_path}")
+ except Exception as e:
+ messagebox.showerror("错误", f"生成二维码失败:\n{e}")
+
+
+# 选择背景图片的函数
+def select_bg_image():
+ file_path = filedialog.askopenfilename(
+ filetypes=[("图片文件", "*.png;*.jpg;*.jpeg"), ("所有文件", "*.*")]
+ )
+ if file_path:
+ bg_image_path.set(file_path)
+ bg_label.config(text=f"已选择背景图片:{file_path}")
+
+
+# 将二维码和背景图片融合的函数
+def blend_qr_with_bg(qr_img, bg_img):
+ # 调整背景图片大小与二维码一致
+ bg_img = bg_img.resize(qr_img.size, Image.Resampling.LANCZOS)
+
+ # 将二维码与背景图片融合
+ # 将二维码图像直接粘贴到背景图上
+ bg_img.paste(qr_img, (0, 0), qr_img)
+
+ return bg_img
+
+
+# 将二维码图像中的白色背景转为透明
+def make_background_transparent(img):
+ # 获取图片的像素数据
+ img_data = img.getdata()
+
+ # 创建新的像素列表,透明化白色背景
+ new_data = []
+ for item in img_data:
+ # 如果是白色背景(RGB: 255, 255, 255),则设置透明度为 0
+ if item[0] == 255 and item[1] == 255 and item[2] == 255:
+ new_data.append((255, 255, 255, 0)) # 透明
+ else:
+ new_data.append(item) # 保留原始颜色
+
+ # 更新图像数据
+ img.putdata(new_data)
+ return img
+
+
+# 创建主窗口
+window = tk.Tk()
+window.title("二维码生成器")
+window.geometry("500x400")
+
+# 创建输入框和标签
+label = tk.Label(window, text="请输入内容:", font=("Arial", 12))
+label.pack(pady=10)
+
+text_input = tk.Text(window, height=6, width=50)
+text_input.pack(pady=10)
+
+# 背景图片选择
+bg_image_path = tk.StringVar() # 用于存储背景图片路径
+bg_button = tk.Button(window, text="选择背景图片", font=("Arial", 12), command=select_bg_image)
+bg_button.pack(pady=5)
+
+bg_label = tk.Label(window, text="未选择背景图片", font=("Arial", 10))
+bg_label.pack(pady=5)
+
+# 创建生成按钮
+generate_button = tk.Button(window, text="生成二维码", font=("Arial", 12), command=generate_qr)
+generate_button.pack(pady=10)
+
+# 启动主循环
+window.mainloop()
diff --git a/报错.py b/报错.py
new file mode 100644
index 0000000..1575177
--- /dev/null
+++ b/报错.py
@@ -0,0 +1,64 @@
+#语法错误SyntaxError:
+#2_a=2
+
+#SyntaxError: invalid decimal literal
+
+
+#list=[2,3,4,5,6,7,8]
+#for i in list:
+ #list.append(12)
+
+#SyntaxError: invalid character ':' (U+FF1A)
+
+
+#for i in range
+ #a=1
+
+#SyntaxError: expected ':'
+
+
+
+#类型错误TypeError:
+#a=1
+#b='1'
+#print(a+b)
+
+#TypeError: unsupported operand type(s) for +: 'int' and 'str'
+
+
+
+#名称错误NameError:
+#r
+
+#NameError: name 'r' is not defined
+
+
+
+#分数为零ZeroDivisionError:
+#n=1
+#print(n/0)
+
+#ZeroDivisionError: division by zero
+
+
+
+#值异常ValueError:
+#a=int("1.4")
+
+#ValueError: invalid literal for int() with base 10: '1.4'
+
+
+
+#属性异常AttributeError:
+#import math
+#math.goto
+
+#AttributeError: module 'math' has no attribute 'goto'
+
+
+
+#下标越界异常IndexError:
+#list=[1,2,3,4,5,6]
+#list[6]
+
+#IndexError: list index out of range
\ No newline at end of file
diff --git a/环境.py b/环境.py
new file mode 100644
index 0000000..28e1cd4
--- /dev/null
+++ b/环境.py
@@ -0,0 +1,5 @@
+# 点击运行【安装第三方库.py】,即可安装本课用到的第三方库
+# 使用清华镜像源安装amzqr
+import pip
+pip.main(['install', 'qrcode', '--index-url', 'https://pypi.tuna.tsinghua.edu.cn/simple'])
+
diff --git a/超级玛丽.py b/超级玛丽.py
new file mode 100644
index 0000000..51e853a
--- /dev/null
+++ b/超级玛丽.py
@@ -0,0 +1,24 @@
+print('''
+ ********
+ ************
+ ####....#.
+ #..###.....##....
+ ###.......###### ### ###
+ ........... #...# #...#
+ ##*####### #.#.# #.#.#
+ ####*******###### #.#.# #.#.#
+ ...#***.****.*###.... #...# #...#
+ ....**********##..... ### ###
+ ....**** *****....
+ #### ####
+ ###### ######
+##############################################################
+#...#......#.##...#......#.##...#......#.##------------------#
+###########################################------------------#
+#..#....#....##..#....#....##..#....#....#####################
+########################################## #----------#
+#.....#......##.....#......##.....#......# #----------#
+########################################## #----------#
+#.#..#....#..##.#..#....#..##.#..#....#..# #----------#
+########################################## ############
+''')