小练习

1有如下
v1 = {'郭宝元', '李杰', '太白', '梦鸽'}
v2 = {'李杰', '景女神}

 

请得到 v1 和 v2 的交集并输出

 

''' v1 = {'郭宝元','李杰','太白','梦鸽'} v2 = {'李杰','景女神'} print(v1 & v2)

'''

请得到 v1 和 v2 的并集并输出

''' v1 = {'郭宝元','李杰','太白','梦鸽'} v2 = {'李杰','景女神'} print(v1 | v2) '''

请得到 v1 和 v2 的 差集并输出

''' v1 = {'郭宝元','李杰','太白','梦鸽'} v2 = {'李杰','景女神'} print(v1 - v2) '''

请得到 v2 和 v1 的 差集并输出

 

''' v1 = {'郭宝元','李杰','太白','梦鸽'} v2 = {'李杰','景女神'} print(v2 - v1) '''

2.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环)

 

'''

lst = [] while True:     sum = input("请输入内容(N/n结束输入)")     if sum.upper() == "N":         break     else :         lst.append(sum) print(lst)

'''

 

3.写代码实现
v1 = {'alex', '武sir', '黑哥'}
v2 = []
循环提示用户输入,如果输入值在v1中存在,则追加到v2中,如果v1中不存在,则添加到v1中。(如果输入N或n则停止循环)

 

'''

v1 = {'alex','武sir','黑哥'} v2 = [] while True: sum  = input("请输入内容(N/n结束输入)") if sum.upper() == "N":      break elif sum in v1:      v2.append(sum) else :      v1.add(sum) print(v1) print(v2)

'''

 

4.判断以下值那个能做字典的key ?那个能做集合的元素?

1

- 1

""

None
[1, 2]
(1, )
{11, 22, 33, 4}
{'name': 'wupeiq', 'age': 18}

'''

集合 与key一样 : 1 -1 "" None (1,)

'''

5. is 和 == 的区别?

''' is 判断两边的地址是否相同 == 判断等号两边的值是否相等 '''

 

6.type 使用方式及作用?

'''

type(要求的变量名或者数据) 求括号里面的数据类型

'''

7.id的使用方式及作用?

'''

id(变量名或者数据) 求括号里的内存地址

'''

8.看代码写结果并解释原因

v1 = {'k1': 'v1', 'k2': [1, 2, 3]}

v2 = {'k1': 'v1', 'k2': [1, 2, 3]}

result1 = v1 == v2

result2 = v1 is v2

print(result1)

print(result2)

'''

True 两边的值相等

False 只有 int str bool 满足代码块机制

'''

#

9.看代码写结果并解释原因

v1 = {'k1': 'v1', 'k2': [1, 2, 3]}

v2 = v1

result1 = v1 == v2

result2 = v1 is v2

print(result1)

print(result2)

''' True 赋值 值是相等的

True 指向的是同一个地址 '''

10.看代码写结果并解释原因

v1 = {'k1': 'v1', 'k2': [1, 2, 3]}

v2 = v1

v1['k1'] = 'wupeiqi'

print(v2) '''

{'k1':'wupeixqi','k2':[1,2,3]} 赋值 用的同一块地址 v1 v2相当于指向同一内存的两个标签

'''

11.看代码写结果并解释原因

v1 = '人生苦短,我用Python'

v2 = [1, 2, 3, 4, v1]

v1 = "人生苦短,用毛线Python"

print(v2)

'''

[1,2,3,4,'人生苦短,我用Python'] 潜拷贝 '''

12.看代码写结果并解释原因

info = [1, 2, 3]

userinfo = {'account': info, 'num': info, 'money': info}

info.append(9)

print(userinfo)

info = "题怎么这么多"

print(userinfo) '' {'account': [1, 2, 3, 9], 'num': [1, 2, 3, 9], 'money': [1, 2, 3, 9]} {'account': [1, 2, 3, 9], 'num': [1, 2, 3, 9], 'money': [1, 2, 3, 9]} 浅拷贝 '''

13.看代码写结果并解释原因

info = [1,2,3]

userinfo = [info,info,info,info,info]

info[0] = '不仅多,还特么难呢'

print(info,userinfo)

'''

['不仅多,还特么难呢',2,3] [['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3], ['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3],['不仅多,还特么难呢',2,3]] 浅拷贝 ''' # #

14.

看代码写结果并解释原因

info = [1,2,3]

userinfo = [info,info,info,info,info]

userinfo2 = '闭嘴'

print(info,userinfo)

'''

["闭嘴",2,3] [["闭嘴",2,3],["闭嘴",2,3],["闭嘴",2,3],["闭嘴",2,3],["闭嘴",2,3]] 浅拷贝 ''' 15.看代码写结果并解释原因

info = [1, 2, 3]

user_list = []

for item in range(10):

user_list.append(info)

info[1] = "是谁说Python好学的?"

print(user_list)

'''

[[1,'是谁说Python好学的?',3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],

['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],

['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3],['是谁说Python好学的?',2,3], ['是谁说Python好学的?',2,3]

浅拷贝

'''

16.看代码写结果并解释原因

data = {}

for i in range(10):

data['user'] = i

print(data)

 

'''

{'user':9} 相同的值都覆盖了

 

'''

17.看代码写结果并解释原因

data_list = []

data = {}

for i in range(10):

data['user'] = i

data_list.append(data)

print(data_list)

'

[{'user': 9}, {'user': 9}, {'user': 9},   {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}]

 

data = {'user':9}

data_list = [{'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9},

{'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}, {'user': 9}]

'''

 

  1. 看代码写结果并解释原因

data_list = []

for i in range(10):

data = {}

data['user'] = i

data_list.append(data)

print(data_list)

''' [{'user': 0}, {'user': 1}, {'user': 2}, {'user': 3}, {'user': 4},

{'user': 5}, {'user': 6}, {'user': 7}, {'user': 8}, {'user': 9}]

'''

19.使用循环打印出一下效果:

*  **  ***  ****  ***** 

''' for a in range(1,6):     print(a'')     '''

****  *** **  *

''' for a in range(1,5):     print((5-a)'') '''

 

*  ***  *****  *******  *********

''' for a in range(1,10,2):     print(a'')

'''

20.敲七游戏. 从1开始数数. 遇到7或者7的倍数(不包含17,27,这种数)要在桌上敲⼀下. 编程来完

成敲七. 给出⼀个任意的数字n. 从1开始数. 数到n结束. 把每个数字都放在列表中, 在数的过程中

出现7或者7的倍数(不包含17,27,这种数).则向列表中添加⼀个'咣'

例如, 输⼊10. lst = [1, 2, 3, 4, 5, 6, '咣', 8, 9, 10]

'''

num = int(input('请输入一个整数:')) li = [] for i in range(1, num + 1):     if i % 7 == 0:         li.append('咣')     else: li.append(i) print(li) '''

posted @ 2019-08-08 22:01  xiongsheng  阅读(226)  评论(0编辑  收藏  举报