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('指令输入有误!')
    

      

    ~不再更新,都不让我写公式,博客园太拉胯了
  • 相关阅读:
    apache域名跳转
    apache配置防盗链
    apache配置静态缓存
    apache通过rewrite限制某个目录
    apache不记录指定类型的访问日志
    apache访问日志
    apache用户认证
    apache访问控制
    apache禁止默认虚拟主机
    mysql主从复制架构配置
  • 原文地址:https://www.cnblogs.com/alimy/p/10502968.html
Copyright © 2011-2022 走看看