#定义一个学生列表,可存储多个学生
'''student = ['赵钱','孙李','周吴','郑王']
print(student[1]) #孙李

student_info =['杨波', 72, 'male', ['泡8', '喝9']]
# 杨波同学所有的爱好
print(student_info[3])
# 杨波同学的第二个爱好
print(student_info[3][1])

# 4、成员运算in和not in
print('杨波' in student_info)#True
print('杨波' not in student_info)#False

#5、追加
student_info =['杨波', 72, 'male', ['泡8', '喝9']]
student_info.append('安徽最牛的学院,合肥学院')
print(student_info)

print(student_info[-2])
#['泡8', '喝9']
print(student_info[0:4:2])
#['杨波', 'male']
print('杨波' in student_info)#True
print('杨波' not in student_info)#False

#6、删除
del student_info[2]
print(student_info)'''

'''#需要掌握
student_info = ['123', 18, 'male', ['感悟', '喊麦'], 18]
# 1、index获取列表中某个值的索引
print(student_info.index(18))#1
# 2、count获取列表中某个值的数量
print(student_info.count(18))#2

#3、取值,默认列表中最后一个值,类似删除
#若pop()括号中写了索引,则取索引对应的值
student_info.pop()
print(student_info)

sex = student_info.pop(2)
print(sex)
print(student_info)

#4、移除
student_info.remove(18)
print(student_info) #['123', ['感悟', '喊麦']]

name = student_info.remove('123')
print(name) #None
print(student_info)'''

#5、插入值
'''student_info = ['123',95,'male',['尬舞','喊麦'],95]
#在student_info中,索引为3的位置插入“合肥学院”
student_info.insert(3,'合肥学院')
print(student_info)'''

#6、extend 合并列表
'''student_info1 = ['123', 18, 'male', ['感悟1', '喊麦2'], 18]
student_info2 = ['456',95,'male',['尬舞','喊麦'],95]

student_info1.extend(student_info2)
print(student_info1)'''

元组:在()内,可以存放多个任意类型的值,并以逗号隔开。

注意:元组与列表不一样的是,只能在定义时初始化值,不能对其进行修改。

优点:在内存中占用的资源比列表要小。

'''tuple1 = (1, 2, 3, '五', '六')
print(tuple1)#(1, 2, 3, '五', '六')

print(tuple1[2])#3

print(tuple1[0:5:3])# (1, '五')

print(len(tuple1))#5

print(1 in tuple1)#True
print(1 not in tuple1)#False

for line in tuple1:
    print(line)'''

不可变类型:

#不可变类型
#int
'''number = 100
print(id(number)) #1978694208
number = 111
print(id(number)) #1978694560

#float
sal = 1.0
print(id(sal)) #2210740179472
sal = 2.0
print(id(sal)) #2210740179304


str1 = 'hello python!'
print(id(str1)) #2210741626416
str2 = str1.replace('hello', 'like')
print(id(str2)) #2210741626288'''

可变类型:

'''list1 = [1,2,3]
list2 = list1

list1.append(4)

print(id(list1))
print(id(list2))
print(list1)
print(list2)'''

字典类型:

在{ }内,以逗号隔开可存放多个值,以key-value存取,取值速度快。

定义:key必须是不可变类型,value可以是任意类型

'''dict1 = dict({'age':18,'name': 'nj'})
print(dict1) #{'age': 18, 'name': 'nj'}
print(type(dict1)) #<class 'dict'>

print(dict1['age']) #18

dict1['level'] = 9
print(dict1) #{'age': 18, 'name': 'nj', 'level': 9}
print(dict1['name']) #nj

print('name' in dict1) #True
print('nj' in dict1) #False
print('nj' not in dict1) #True

del dict1['level']
print(dict1) #{'age': 18, 'name': 'nj'}

print(dict1.keys()) #dict_keys(['age', 'name'])
print(dict1.values()) #dict_values([18, 'nj'])
print(dict1.items()) #dict_items([('age', 18), ('name', 'nj')])

for key in dict1:
    print(key) 
    print(dict1[key])

dict1 = {'age': 18,'name': 'nj'}

print(dict1.get('sex')) #None
print(dict1.get('sex','male')) #male'''

循环:

# while循环
'''str1 = 'tank'
while True:
    name = input('请输入猜测字符: ').strip()
    if name == 'tank':
        print('tank success!')
        break

    print('请重新输入!')'''


#限制循环次数
'''str1 = 'nj'
num = 0

while num < 3:
    name = input('请输入猜测的字符:').strip()
    if name == 'nj':
        print('nj success!')
        break

    print('请重新输入!')
    num += 1'''

文件处理:

'''with open('file.txt','w',encording='utf-8') as f:
    f.write('墨菲定律')

with open('file.txt','r',encording='utf-8') as f:
    res = f.read()
    print(res)

with open('file.txt','a',encording='utf-8') as f:
    f.write('围城')'''

'''with open('cxk.jpg', 'rb') as f:
    res=f.read()
    print(res)

jpg = res

with open('cxk_copy.jpg','wb') as f_w:
    f_w.write(jpg)

with open('cxk.jpg', 'rb') as f_r,open('cxk_copy.jpg','wb') as f_w:
    res = f_r.read()
    f_w.write(res)'''

函数:

#1、无参函数
'''def login():
    user = input('请输入用户名').strip()
    pwd = input('请输入密码').strip()

    if user == 'tank' and pwd == '123':
        print('login successful!')

    else:
        print('login error!')

print(login)

login()'''

#2、有参函数
'''def login(username, password):
    user = input('请输入用户名').strip()
    pwd = input('请输入密码').strip()

    if user == username and pwd == password:
        print('login successful!')
        
    else:
        print('login error!')

login('tank', '123')'''


# 在定义阶段:位置形参
'''def func(x,y):
    print(x,y)
    
func(10,100)

def func(x,y):
    print(x,y)'''

#函数的嵌套定义
'''def func1():
    print('from func1...')

    def func2():
        print('from func2...')

print(func1)

def f1():
    pass
def f2():
    pass

dic1 = {'1':f1,'2':f2}

choice = input('请选择功能编号:')
if choice == '1':
    print(dic1[choice])
    dic1[choice]()
    
elif choice == '2':
    print(dic1[choice])
    dic1[choice]()'''