# Python中缩进规则
print(1)
# print(2) # 无原因的缩进 unexpected idented
#for i in range(5):
#print(123) #for循环下面的一行如果没有缩进,则会有expected an indented block
# List中相关方法
# 通过start、stop、step的模式输出列表中的数据
numlist = [0,1,2,3,4,5,6,7,8,9]
print(numlist[:3]) #注意只会输出 索引为0、1、2的值,不包括索引为3的值
# 通过 sum(list)函数求数组中元素的和
from datetime import datetime
dateOne = datetime.today()
print("第一次求和前:" + str(dateOne))
print(sum(list(range(0,100000))))
dateTwo = datetime.today()
print("第一次求和后:" + str(dateTwo) + " 差 " + str(dateTwo - dateOne))
print(sum([value**2 for value in range(0,100000)]))
dateThree = datetime.today()
print("第二次求和后:" + str(dateThree) + " 差 " + str(dateThree - dateTwo))
# 求数组中最小值、最大值、求和等
digits= [1,2,3,4,5,6,7,8,9,0]
print(min(digits)) # 0
print(max(digits)) # 9
print(sum(digits)) # 45
# range()函数测试
print("str(list(range(5))) :" + str(list(range(5)))) # 结果不包括5 # str(list(range(5))) :[0, 1, 2, 3, 4]
print("str(list(range(5,3))) :" + str(list(range(5,3)))) # str(list(range(5,3))) :[]
print("str(list(range(1,5))) :" + str(list(range(1,5)))) # str(list(range(1,5))) :[1, 2, 3, 4]
print("str(list(range(5,3,-1))) :" + str(list(range(5,3,-1)))) #结果不包括3 # str(list(range(5,3,-1))) :[5, 4],注意同样不包括3
print("str(list(range(5,0,-1))) :" + str(list(range(5,0,-1)))) # str(list(range(5,0,-1))) :[5, 4, 3, 2, 1],注意同样不包括0
print("str(list(range(5,-10,2))) :" + str(list(range(5,-10,2)))) # str(list(range(5,-10,2))) :[]
print("str(list(range(6,-10,-2))) :" + str(list(range(6,-10,-2)))) # str(list(range(6,-10,-2))) :[6, 4, 2, 0, -2, -4, -6, -8] # 注意看不包括-10
#print("str(list(range(0,5,0))) :" + str(list(range(0,5,0))))#ValueError: range() arg 3 must not be zero
print("str(list(range(0,5,-1))) :" + str(list(range(0,5,-1)))) # str(list(range(0,5,-1))) :[]
print("str(list(range(0,0,1))) :" + str(list(range(0,0,1)))) # str(list(range(0,0,1))) :[]
# 通过sorted()方法对数组排序,sorted(list,reverse=True)方法对数组逆序
numList = list('sa0wsdca9sdcv7ads0v7a07dsvfy237g4213841823')
print(sorted(numList)) #临时性排序,不会影响原有的列表
print(sorted(numList,reverse=True)) #临时性排序,逆序排序
# list自带的reverse()方法、sort()方法、sort(reverse = True)逆序。
numList.reverse() #翻转列表,会改变原有列表,只是翻转不是排序
print(numList)
numList.sort()
print(numList)
numList.sort(reverse=True) #逆序排序,原数组会发生改变
print(numList)
# 元组测试:元组看起来像列表但是不能修改,使用圆括号来标识
point = (233,344,455,566)
print(point[0])
# point[0] = 100 # TypeError: 'tuple' object does not support item assignment
#虽然不能修改元祖的元素,但是可以给存储元组的变量重新赋值
point =(233,344)
print(point)
# 判断一个元素是否属于数组以及判断一个数据是否不属于数组
nums = [1,2,3,4,5,6]
if 1 in nums:
print("1 in nums")
if 7 not in nums:
print("7 not in nums")