zoukankan      html  css  js  c++  java
  • 第六天作业

    day06作业

    1.有如下

    v1 = {'郭宝元','李杰','太白','梦鸽'}
    v2 = {'李杰','景女神}
    
    1. 请得到 v1 和 v2 的交集并输出

      v1 = {'郭宝元', '李杰', '太白', '梦鸽'}
      v2 = {'李杰', '景女神'}
      print(v1 & v2)
      
      
    2. 请得到 v1 和 v2 的并集并输出

      v1 = {'郭宝元', '李杰', '太白', '梦鸽'}
      v2 = {'李杰', '景女神'}
      
      print(v1 | v2)
      
      
    3. 请得到 v1 和 v2 的 差集并输出

      v1 = {'郭宝元', '李杰', '太白', '梦鸽'}
      v2 = {'李杰', '景女神'}print(v1 & v2)
      
      print(v1 - v2)
      
      
    4. 请得到 v2 和 v1 的 差集并输出

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

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

    • lst = []
      while True:
          mig = input("请输入:").upper()
          lst.append(mig)
          if mig == "N":
              break
          print(lst)
      

    3.写代码实现

    v1 = {'alex','武sir','黑哥'}
    v2 = []
    

    循环提示用户输入,如果输入值在v1中存在,则追加到v2中,如果v1中不存在,则添加到v1中。(如果输入N或n则停止循环)

    v1 = {'alex','武sir','黑哥'}
    v2 = []
    while True:
        msg = input("请输入:")
        if "N" == msg.upper():
            break
         for i in vi:
            if msg == i:
                v2.append(meg)
          vi.append(meg)
    print(v1, v2)
            
            
    

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

    1
    -1
    ""
    None
    [1,2]
    (1,)
    {11,22,33,4}
    {'name':'wupeiq','age':18}
    
    能做字典的key: 1  -1   ""
    能做集合的元素:1  -1  ""   None     (1,)   {11,22,33,4}
    

    5.is 和 == 的区别?

    is 是判断两边的内存地址是否相同
    ==  是判断两边是否相等
    

    6.type使用方式及作用?

    type 的使用方式 :type(变量名)
    type 的作用:  查看变量的数据类型
    

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

    id的使用方式 : 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
    原因:在Python中预算福级别:比较运算符(==) > 赋值运算符(=)  >  身份运算符(is),并且列表是可变的
    因此result1 = v1 == v2  ->  result1 = True  
        result2 = v1 is v2 ->   v1 is v2    ->   False
    

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

    v1 = {'k1':'v1','k2':[1,2,3]}
    v2 = v1
    ​
    result1 = v1 == v2 
    result2 = v1 is v2 
    print(result1)
    print(result2)
    
    上述代码结果为:  True  
                     False
    原因:在Python中预算福级别:比计运算符(==) > 赋值运算符(=)  >  身份运算符(is),
    因此result1 = v1 == v2  ->  result1 = True  
        result2 = v1 is v2 ->   v1 is v2    ->   True
    

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

    v1 = {'k1':'v1','k2':[1,2,3]}
    v2 = v1
    ​
    v1['k1'] = 'wupeiqi'
    print(v2)
    
    上述代码运行结果: {'k1': 'wupeiqi', 'k2': [1, 2, 3]}
    解释原因:将v1赋值给v2,v1、v2指向同一内存地址,字典是可变的,对v1字典中键的值重新赋值,v2也还在指向v1的地址
    

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

    v1 = '人生苦短,我用Python'
    v2 = [1,2,3,4,v1]
    v1 = "人生苦短,用毛线Python"
    print(v2)
    
    上述代码运行结果:[1, 2, 3, 4, '人生苦短,我用Python']
    解释原因:直接输出v2
    

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

    info = [1,2,3]
    userinfo = {'account':info, 'num':info, 'money':info}
    ​
    info.append(9)
    print(userinfo)
    ​
    info = "题怎么这么多"
    print(userinfo)
    
    上述代码运行结果:{'account': info, 'num': info, 'money': [1, 2, 3,9]}
                    {'account': info, 'num': info, 'money': [1, 2, 3,9]}
    解释原因: 只有修改第一层的时候源数据不受影响,给可变数据类型进行添加的时候源数据会受影响
    
    

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

    info = [1,2,3]
    userinfo = [info,info,info,info,info]
    ​
    info[0] = '不仅多,还特么难呢'
    print(info,userinfo)
    
    上述代码运行结果:['不仅多,还特么难呢', 2, 3][[1, 2, 3], [1, 2, 3], [1, 2, 3], [1, 2, 3]]
    解释原因: 只有修改第一层的时候源数据不受影响,给可变数据类型进行添加的时候源数据会受影响
    
    

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

    info = [1,2,3]
    userinfo = [info,info,info,info,info]
    ​
    userinfo[2][0] = '闭嘴'
    print(info,userinfo)
    
    上述代码运行结果:[[1, 2, 3][1, '闭嘴', 3][1, '闭嘴', 3][1, '闭嘴', 3][1, '闭嘴', 3][1, '闭嘴', 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],[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],]
    原因:for循环结束后 得到  user_list = [[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3],[1,2,3]]
          执行 info[1] = "是谁说Python好学的?"  得到 info = [1,"是谁说Python好学的?",3] 
          info 是 可变的数据类型, 给可变数据类型进行添加的时候源数据会受影响
    
    

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

    data = {}
    for i in range(10):
        data['user'] = i
    print(data)
    
    上述代码运行结果:{‘user’:9}
    原因:for 循环完成后 data['user'] = 9   得到 字典 data = {‘user’:9}
    
    

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

    data_list = []
    data = {}
    for i in range(10):
        data['user'] = i
        data_list.append(data)
    print(data_list)
    
    上述代码运行结果:[{‘user’:9}]
    原因:for 循环完成后 data['user'] = 9   得到 字典 data = {‘user’:9}
          data_list.append(data)  得到 data_list = [{‘user’:9}]
    
    

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

    data_list = []
    for i in range(10):
        data = {}
        data['user'] = i
        data_list.append(data)
    print(data_list)
    
    上述代码运行结果:{0,1,2,3,4,5,6,7,8,9,9}
    原因:for循环完后 data = {}  ,i=9
         因此 data['user'] = 9     得到  data = {'user':9}
         data_list.append(data)     得到 data_list = {'user':9}
    
    

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

    * 
    ** 
    *** 
    **** 
    ***** 
    
    for i in range(6):
    	print("*" * i)
    print(" ")
    
    **** 
    ***
    ** 
    *
    
    for i in range(4, 0, -1):
        print("*" * i)
    
    * 
    *** 
    ***** 
    ******* 
    *********
    
    for i in range(1, 10, 2):
        print("*" * i)
        
    

    20.敲七游戏. 从1开始数数. 遇到7或者7的倍数(不包含17,27,这种数)要在桌上敲⼀下. 编程来完成敲七. 给出⼀个任意的数字n. 从1开始数. 数到n结束. 把每个数字都放在列表中, 在数的过程中出现7或 者7的倍数(不包含17,27,这种数).则向列表中添加⼀个'咣'

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

    n = int(input("请输入一个数:"))
    i = 0
    lst = []
    while i <= n:
        lst.append(i)
        if lst[i] % 7 == 0:
            lst[i] = "咣"
        i += 1
    lst.pop(0)
    print(lst)
    
  • 相关阅读:
    Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()
    @@ROWCOUNT (Transact-SQL)
    C#调用存储过程简单完整例子
    C# Ajax 手机发送短信验证码 校验验证码 菜鸟级别实现方法
    C#反射技术的简单操作(读取和设置类的属性)
    .NET调用Java写的WebService
    蓝牙错误提示
    sql开启xp_cmdshell
    网页手机宽度
    对称加密算法比较
  • 原文地址:https://www.cnblogs.com/yuancw/p/11462235.html
Copyright © 2011-2022 走看看