zoukankan      html  css  js  c++  java
  • [Python]小甲鱼Python视频第026课(字典:当索引不好用时2)课后题及参考解答

    # -*- coding: utf-8 -*-
    """
    Created on Fri Mar  8 10:32:20 2019
    
    @author: Administrator
    """
                                                      
    
    
    """
    
    测试题:
    
    0. Python的字典是否支持一键(Key)多值(Value)?
         不支持
    
    
    1. 在字典中,如果试图为一个不存在的键(Key)赋值会怎样?
        字典对象中会出现一个新的键值对
        
    2. 成员资格操作符(in和not in)可以检查一个元素是否存在序列中,当然也可以用来检查一个键(Key)是否存在字典中,那么请问哪种的检查效率更高些?为什么?
        
       检查一个键(Key)是否存在字典中的效率更高,通过查找hash值一步到位,不需要迭代或遍历
        
    3. Python对键(Key)和值(Value)有没有类型限制?
        对Value并没有啥限制
        Key必须是能hash的对象(序列类型就不行)
    
    
    4. 请目测下边代码执行后,字典dict1的内容是什么?
    >>> dict1.fromkeys((1, 2, 3), ('one', 'two', 'three')) 
    >>> dict1.fromkeys((1, 3), '数字')
        
    {
     1:'数字',
     3:'数字'
    }
    
    
    5. 如果你需要将字典dict1 = {1: 'one', 2: 'two', 3: 'three'}拷贝到dict2,你应该怎么做?
    
          
    
    
    """
    
    
    
    #测试题5
    
    dict1 = {1: 'one', 2: 'two', 3: 'three'};
    dict2 = dict1;
    dict3 = dict1.copy();
    
    
    
    #动动手0,程序有点问题,没有检查input的输入能否为空
    dict_user_password = dict({'0':'0'}); 
    string1 = """|--- 新建用户:N/n ---|
    |--- 登录账号:E/e ---|
    |--- 退出程序:Q/q ---|
    |--- 请输入指令代码:
    """;
    def ShowAndGetCmd():
        global string1;
        print(string1);
        return input();
    
    
    
    def add_user():
        global dict_user_password
        
        while True:
            name = input('请输入用户名:');
            if name in dict_user_password.keys():
                print('此用户已经被占用,请重新输入:')
                continue
            else:
                break;
                
        password = input('请输入密码:')
        dict_user_password[name] = password
        print('注册成功')
        
        
        
    def login_user():
        global dict_user_password
        
        while True:
            name = input('请输入用户名:')
            if name in dict_user_password.keys():
                break;
            else:
                print('用户名不存在,请重新输入:')
                continue
        password = input('请输入密码');
        if password == dict_user_password.get(name):
            print('密码正确');
        else:
            print('密码错误');
            
            
    while True:
        input_cmd = ShowAndGetCmd()
        if input_cmd == 'N' or input_cmd == 'n':
            add_user();
        elif input_cmd == 'E' or input_cmd == 'e':
            login_user();
        elif input_cmd == 'Q' or input_cmd == 'q':
            break ;
        else:
             print('指令输入有误!')
    

      

    ~不再更新,都不让我写公式,博客园太拉胯了
  • 相关阅读:
    permission 文档 翻译 运行时权限
    TabLayout ViewPager Fragment 简介 案例 MD
    Log 日志工具类 保存到文件 MD
    OkHttp 官方wiki 翻译 MD
    Okhttp 简介 示例 MD
    OkHttp 官方Wiki之【使用案例】
    DialogPlus
    倒计时 总结 Timer Handler CountDownTimer RxJava MD
    RecyclerView 判断滑到底部 顶部 预加载 更多 分页 MD
    CSS3的媒体查询(Media Queries)与移动设备显示尺寸大全
  • 原文地址:https://www.cnblogs.com/alimy/p/10502968.html
Copyright © 2011-2022 走看看