zoukankan      html  css  js  c++  java
  • 每日十问(1)

      1. 为什么学习Python?
        1.1 python语言相对贴近人类语言,上手容易
        1.2 相比c语言,它有一个解释器界面,可以实时的,对话式的写一些东西,马上得到反馈,
        1.3 社区健康,可以快速的得到一个解决方案
        1.4 发育良好,越来越多的人用python,
        1.5  后续发展健康不论是游戏,大数据,人工智能都有其一席之地

      2. 通过什么途径学习的Python?
        2.1网上视频学习为主,
        2.2 在论坛交流为辅

      3. Python和Java、PHP、C、C#、C++等其他语言的对比?
        3.1 只学过c和python,感觉就是c好好使用需要更多的知识,

      4. 简述解释型和编译型编程语言?
        1 解释型语言写的程序每执行一次都要翻译一次
        2 编译型语言会将程序翻译好,之后执行都直接读入机器可读的二进制机器码

      5. Python解释器种类以及特点?
        5.1 cpython 就是我们最常用的,
        5.2 ipython 是一个交互更加人性化的解释器
        5.3 jpython 是python程序能在java虚拟机中运行
        5.4 Ironpython 使python程序能在.net环境下运行
        5.4 pypy 使用jit技术,使python程序能更快运行,但是不能保证执行结果和cpython解释器执行结果一样,有一些第三方库也不一定支持

      6. 位和字节的关系?
        6.1 位 bit
        6.2 字节 Byte
        6.3 8*bit=1*Byte

      7. b、B、KB、MB、GB 的关系?
        等比关系  1:8:8*1024:8*(1024**2):8*(1024**3):8*(1024**4)

      8. 请至少列举5个 PEP8 规范(越多越好)。
        8.1  缩进使用4个空格
        8.2  每行最长行宽79,或在一个团队内使用80~100
        8.3  import通常使分开的
        8.4  定义字符串的时候,使用统一的"",或''
        8.5  保持命名风格的一致性和可读性
        更多参考

      9. 通过代码实现如下转换:

        二进制转换成十进制:v = “0b1111011”
      
        十进制转换成二进制:v = 18
 
        八进制转换成十进制:v = “011”
 
        十进制转换成八进制:v = 30
 
        十六进制转换成十进制:v = “0x12”
 
        十进制转换成十六进制:v = 87

        import re 
        def b2ten(num):
            num_use=num[2::]
            num_list=re.findall(r'w',num_use)[::-1]
            num_int=0
            for i in range(len(num_list)):
                num_int+=int(num_list[i])*(2**(i))
            
            return num_int
        
        print(b2ten('0b11111011'))
        同理,16进制转十进制以及8进制转十进制,
        1 先判断这个数的进制类型
        2 去掉进制标识符
        3 反转这个数
        4 按照其进制,取每位数代表的值,及索引,然后值乘以进位数的索引值次方,再累加即可。比如16进制0x78,=8*(16**0)+7*(16*1)=120

        十进制转其他进制只是反其道而行之,只是多一步,转换成字符串

          

      10. 请编写一个函数实现将IP地址转换成一个整数。

        如 10.3.9.12 转换规则为:
                10            00001010
        
         3            00000011

                 9            00001001
        
        12            00001100

        再将以上二进制拼接起来计算十进制结果:00001010 00000011 00001001 00001100 = ?
        这个题目是上一题的应用,
        
        1 由上一题的基础,先把十进制数转成二进制字符串,
        2 将其拼接
        3 由二进制字符串转成十进制数
        

          

  • 相关阅读:
    浙大数据结构课后习题 练习二 7-2 Reversing Linked List (25 分)
    浙大数据结构课后习题 练习二 7-2 一元多项式的乘法与加法运算 (20 分)
    浙大数据结构课后习题 练习一 7-1 Maximum Subsequence Sum (25 分)
    浙大数据结构课后习题 练习一 7-1 最大子列和问题 (20 分)
    PAT Basic 1019 数字黑洞 (20 分)
    PAT Basic 1017 A除以B (20 分)
    PAT Basic 1013 数素数 (20 分)
    PAT Basic 1007 素数对猜想 (20 分)
    PAT Basic 1003 我要通过! (20 分)
    自动化运维——HelloWorld(一)
  • 原文地址:https://www.cnblogs.com/yuanji2018/p/9999106.html
Copyright © 2011-2022 走看看