# 一、什么是语法:编写程序时需要按照一定的规则进行;
# 二、为什么要学习语法:帮助我们实现想要的功能;
# 三、 数据存储
# 列表(数组):大量数据的存储模型,增删改查
list1 = [1, 1.2, True, "西瓜", [1, 2, 3]]
print(list1)
print(type(list1))
# 空列表
list2 = []
# 获取数据
print(list1[3])
print(list1[-1])
# 取多个值:开始编号:结束编号(不包括)
print(list1[2:4])
# 修改值:先取出再赋值
print(list1)
list1[3] = "a"
print(list1)
# 增加
list1 = [1, 2, 3]
list1.append("it")
# 插入
list1 = [1, 2, 3]
list1.insert(0, "it")
# 删除
list1 = [1, 2, 3, "it"]
data = list1.pop(2)
# 清空
list1 = [1, 2, 3, "it"]
list1.clear()
# 查询位置
list1 = [1, 2, 3, "it"]
idx = list1.index("it")
# 统计数量
list1 = [1, 2, 3, "it"]
num = list1.count("it")
list1 = [1, 2, 3]
num = len(list1)
# 元组
tuple1 = (1,2,3,1.2,True,[1,2],(1,2,4),"a")
print(tuple1)
print(type(tuple1))
# 查询
print(tuple1[4:7])
print(tuple1.count(True))
tuple1.pop(2)
print(tuple1)
list1 = [100,20]
print(type(list1))
list2 = tuple(list1)
print(type(list2))
# 集合:支持不可以改变的数据类型
# 集合自动排序
set1 = {2,1,1.2,(1,2,3),"a","ab",1,2}
set2 = {2,3,1,6,7}
print(set2)
print(type(set1))
# 添加
set2.add("a")
set2.add("b")
print(set2)
# 删除
set2.pop()
print(set2)
set2.remove("b")
print(set2)
# 字典
dict1 = {1:[1,2],"age":18,"gender":["男","女"]}
print(dict1)
print(type(dict1))
# 集合
set1 = {1,2,3}
# 空字典
a = {}
# 空集合
b = set()
print(type(a))
# 获取
print(dict1[1])
print(dict1["age"])
# 修改
dict1[1] = "西瓜"
print(dict1)
# 添加
dict1["age1"] = 19
print(dict1)
# 删除
dict1.pop("age")
print(dict1)
# 查询
print(dict1["gender"])
print(dict1.get("gender"))
#获取多个值
print(dict1.values())
# 获取多个键
print(dict1.keys())
# 获取多值多键
print(dict1)
print(dict1.items())
# 字符串是特殊的列表
print(list(dict1))
print(str(dict1))
# 四、for循坏
list1 = ["a","b",1,2,(1,2,3),{"name":"value"}]
for i in list1:
print(i)
#range() 函数:
print(list(range(10)))
print(tuple(range(10)))
print(set(range(10)))
print(dict(range(10)))
for i in range(10):
print("西瓜")
# 循环次数
for i in list(range(10)):
print(i)
for i in range(0,101):
print(i)
print(list(range(0,101)))
print(list(range(0,101,5)))
# 公共方法
list1 = [1,2,3,4,5,6]
tuple1 = (1,2,3,4,5,6)
# 获取数量len()
print(len(list1))
print(len(tuple1))
# max() 最大值,min()最小值
print(max(list1))
print(min(list1))
str1 = "asdfs"
print(str1[3:5])
#else: 循环正常结束后打印
for i in str1:
print(i)
break
else:
print("循环结束")
list1 = [0,1,2,3,4,5]
list2 = list(range(6))
list3 = [(i+1)*2 for i in range(6)]
list4 = [{"a{}".format(i):i} for i in range(6)]
print(list1)
print(list2)
print(list3)
print(list4)
# random;生成随机数
print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10))
print(random.randint(0,10))
# 算法系统
import random
true_num = 0
false_num = 0
for i in range(12):
x = random.randint(0,100)
y = random.randint(0,100)
order = int(input("请输入{}+{}的值:".format(x,y)))
if order == x+y:
print("答案正确")
true_num +=1
else:
print("回答错误")
false_num +=1
print("算法系统中,正确题的数量是:%s,错误的题的数量:%s,错误率:%.2f%%,正确率:%.2f%%" %(true_num,false_num,(false_num/12)*100,(true_num/12)*100))