06 练习题:内存地址、集合、深浅copy

# 1.请用代码验证"name"是否在字典的键中?
info = {'name': '王刚蛋', 'hobby': '铁锤', 'age': '18',...100个键值对}
info_keys = list(info.keys())
if 'name' in info_keys:
    print('\'name\' exist in keys.')
else:
    print('\'name\' don\'t exist in keys.')


# 2.请用代码验证"alex"是否在字典的值中?
info = {'name': '王刚蛋', 'hobby': '铁锤', 'age': '18',...100个键值对}
info_values = list(info.values())
if 'alex' in info_values:
    print('\'alex\' exist in values.')
else:
    print('\'alex\' don\'t exist in values.')


# 3.有如下
v1 = {'武沛齐', '李杰', '太白', '景女神'}
v2 = {'李杰', '景女神'}
# 请得到 v1 和 v2 的交集并输出
print(v1 & v2)
# 请得到 v1 和 v2 的并集并输出
print(v1 | v2)
# 请得到 v1 和 v2 的 差集并输出
print(v1 - v2)
# 请得到 v2 和 v1 的 差集并输出
print(v2 - v1)


# 4.循环提示用户输入,并将输入内容追加到列表中(如果输入N或n则停止循环)
list = []
while 1:
    str = input('input pls.\n')
    if str.upper() == 'N':
        break
    list.append(str)
print(list)


# 5.循环提示用户输入,并将输入内容添加到集合中(如果输入N或n则停止循环)
set = set()
while 1:
    str = input('input pls.\n')
    if str.upper() == 'N':
        break
    set.add(str)
print(set)


# 6.写代码实现
# v1 = {'alex', '武sir', '肖大'}
# v2 = []
# 循环提示用户输入,如果输入值在v1中存在,则追加到v2中,如果v1中不存在,则添加到v1中。(如果输入N或n则停止循环)
v1 = {'alex', '武sir', '肖大'}
v2 = []
while 1:
    str = input('input pls.\n')
    if str.upper() == 'N':
        break
    elif str in v1:
        v2.append(str)
    else:
        v1.add(str)
print(v1,v2)


# 7.判断以下值那个能做字典的key ?那个能做集合的元素?
# 1                                 是不可变元素,可做key与set的元素
# - 1                               是不可变元素,可做key与set的元素
# ""                                是不可变元素,可做key与set的元素
# None                              是不可变元素,可做key与set的元素
# [1, 2]                            是可变元素
# (1, )                             是不可变元素,可做key与set的元素
# {11, 22, 33, 4}                   是可变元素
# {'name': 'wupeiq', 'age': 18}     是可变元素


# 8.is 和 == 的区别?
# is是id即地址的比较,==是值的比较


# 9.type使用方式及作用?
# type可以返回目标元素的数据类型


# 10.id的使用方式及作用?
# id可以获取目标元素的内存地址


# 11.看代码写结果并解释原因
# 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)

# result: 
# True
# False


# 12.看代码写结果并解释原因
# v1 = {'k1': 'v1', 'k2': [1, 2, 3]}
# v2 = v1
# result1 = v1 == v2
# result2 = v1 is v2
# print(result1)
# print(result2)

# result: 
# True
# True


# 13.看代码写结果并解释原因
# v1 = {'k1': 'v1', 'k2': [1, 2, 3]}
# v2 = v1
# v1['k1'] = 'wupeiqi'
# print(v2)

# result: 
# {'k1': 'wupeiqi', 'k2': [1, 2, 3]}


# 14.看代码写结果并解释原因
# v1 = '人生苦短,我用Python'
# v2 = [1, 2, 3, 4, v1]
# v1 = "人生苦短,用毛线Python"
# print(v2)

# result: 
# [1, 2, 3, 4, '人生苦短,我用Python']


# 15.看代码写结果并解释原因
# info = [1, 2, 3]
# userinfo = {'account': info, 'num': info, 'money': info}
# info.append(9)
# print(userinfo)
# info = "题怎么这么多"
# print(userinfo)

# result: 
# {'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]}


# 16.看代码写结果并解释原因
# info = [1, 2, 3]
# userinfo = [info, info, info, info, info]
# info[0] = '不仅多,还特么难呢'
# print(info, userinfo)

# result: 
# ['不仅多,还特么难呢', 2, 3]
# [['不仅多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3], ['不仅多,还特么难呢', 2, 3]]


# 17.看代码写结果并解释原因
# info = [1, 2, 3]
# userinfo = [info, info, info, info, info]
# userinfo[2][0] = '闭嘴'
# print(info, userinfo)

# result: 
# ['闭嘴', 2, 3] [['闭嘴', 2, 3], ['闭嘴', 2, 3], ['闭嘴', 2, 3], ['闭嘴', 2, 3], ['闭嘴', 2, 3]]


# 18.看代码写结果并解释原因
# info = [1, 2, 3]
# user_list = []
# for item in range(10):
#     user_list.append(info)
# info[1] = "是谁说Python好学的?"
# print(user_list)

# result: 
# [[1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3], [1, '是谁说Python好学的?', 3]]


# 19.看代码写结果并解释原因
# data = {}
# for i in range(10):
#     data['user'] = i
# print(data)

# result: 
# {'user': 9}


# 20.看代码写结果并解释原因
# data_list = []
# data = {}
# for i in range(10):
#     data['user'] = i
#     data_list.append(data)
# print(data_list)

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


# 21.看代码写结果并解释原因
# data_list = []
# for i in range(10):
#   data = {}
#   data['user'] = i
#   data_list.append(data)
# print(data_list)

# result: 
# [{'user': 0}, {'user': 1}, {'user': 2}, {'user': 3}, {'user': 4}, {'user': 5}, {'user': 6}, {'user': 7}, {'user': 8}, {'user': 9}]


# 22.使用循环打印出一下效果:
# *
# **
# ** *
# ** **
# ** ** *
for i in range(1,6):
    print(i * '*')

# ** **
# ** *
# **
# *
for i in range(4,0,-1):
    print(i * '*')

# *
# ** *
# ** ** *
# ** ** ** *
# ** ** ** ** *
for i in range(1,6):
    print((i * 2 - 1) * '*')


# 23.敲七游戏.从1开始数数.遇到7或者7的倍数(不包含17, 27, 这种数)要在桌上敲⼀下.编程来完成敲七.给出⼀个任意的数字n.从1开始数.数到n结束.把每个数字都放在列表中, 在数的过程中出现7或
# 者7的倍数(不包含17, 27, 这种数).则向列表中添加⼀个
# '咣'
# 例如, 输⼊10.
# lst = [1, 2, 3, 4, 5, 6, '咣', 8, 9, 10]
end = int(input('pls input endnum.\n'))
list = list(range(1, end + 1))
for i in list:
    if not i % 7:
        list[i - 1] = '咣'
    else:
        i = str(i)
        if i[-1] == '7':
            list[int(i) - 1] = '咣'
print(list)
posted @ 2020-07-04 22:32  Raigor  阅读(124)  评论(0编辑  收藏  举报