一,执行python的两种方式

  1,写在脚本里面调用python执行,例如python test.py

  2,  输入python在命令行交互执行,例如 python  >>> print 'Hello World'

二,简述位,字节的关系

  位(bit)来自英文bit,音译为“比特”,表示二进制位。位是计算机内部数据储存的最小单位

  字节(byte)字节来自英文Byte。字节是计算机中数据处理的基本单位。计算机中以字节为单位存储和解释信息,规定一个字节由八个二进制位构成,即1个字节等于8个比特(1Byte=8bit)。八位二进制数最小为00000000,最大为11111111;通常1个字节可以存入一个ASCII码,2个字节可以存放一个汉字国标码。

三,简述ascii,Unicode,utf-8,gbk的关系

  1.ASCII码

这是美国在19世纪60年代的时候为了建立英文字符和二进制的关系时制定的编码规范,它能表示128个字符,其中包括英文字符、阿拉伯数字、西文字符以及32个控制字符。它用一个字节来表示具体的字符,但它只用后7位来表示字符(2^7=128),最前面的一位统一规定为0

  2.Unicode符号集

正如上一节所说,世界上存在着多种编码方式,同一个二进制数字可以被解释成不同的符号。因此,要想打开一个文本文件,就必须知道它的编码方式,否则用错误的编码方式解读,就会出现乱码。为什么电子邮件常常出现乱码?就是因为发信人和收信人使用的编码方式不一样。而Unicode就是这样一种编码:它包含了世界上所有的符号,并且每一个符号都是独一无二的。比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,U+4E25表示汉字“严”。具体的符号对应表,可以查询unicode.org,或者专门的汉字对应表。很多人都说Unicode编码,但其实Unicode是一个符号集(世界上所有符号的符号集),而不是一种新的编码方式。

但是正因为Unicode包含了所有的字符,而有些国家的字符用一个字节便可以表示,而有些国家的字符要用多个字节才能表示出来。即产生了两个问题:第一,如果有两个字节的数据,那计算机怎么知道这两个字节是表示一个汉字呢?还是表示两个英文字母呢?第二,因为不同字符需要的存储长度不一样,那么如果Unicode规定用2个字节存储字符,那么英文字符存储时前面1个字节都是0,这就大大浪费了存储空间。

上面两个问题造成的结果是:1)出现了unicode的多种存储方式,也就是说有许多种不同的二进制格式,可以用来表示unicode。2)unicode在很长一段时间内无法推广,直到互联网的出现。

  3.UTF-8

互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种unicode的实现方式。其他实现方式还包括UTF-16和UTF-32,不过在互联网上基本不用。重复一遍,这里的关系是,UTF-8是Unicode的实现方式之一。

UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。

UTF-8的编码规则很简单,只有两条:

1)对于单字节的符号,字节的第一位设为0,后面7位为这个符号的unicode码。因此对于英语字母,UTF-8编码和ASCII码是相同的。

2)对于n字节的符号(n>1),第一个字节的前n位都设为1,第n+1位设为0,后面字节的前两位一律设为10。剩下的没有提及的二进制位,全部为这个符号的unicode码。

  4.GBK/GB2312/GB18030

GBK和GB2312都是针对简体字的编码,只是GB2312只支持六千多个汉字的编码,而GBK支持1万多个汉字编码。而GB18030是用于繁体字的编码。汉字存储时都使用两个字节来储存。

  总结

ASCII编码:用来表示英文,它使用1个字节表示,其中第一位规定为0,其他7位存储数据,一共可以表示128个字符。

拓展ASCII编码:用于表示更多的欧洲文字,用8个位存储数据,一共可以表示256个字符

GBK/GB2312/GB18030:表示汉字。GBK/GB2312表示简体中文,GB18030表示繁体中文。

Unicode编码:包含世界上所有的字符,是一个字符集。

UTF-8:是Unicode字符的实现方式之一,它使用1-4个字符表示一个符号,根据不同的符号而变化字节长度。

四,请写出‘张三’分别用utf-8和gbk编码所占的位数

  utf-8一般使用三个字节代表一个汉字,占位为24位

  gbk使用两个字节代表一个汉字,占位为16位

五,Python单行注释和多行注释分别用什么

  单行注释使用# 多行注释使用''' '''或者""" """包含

六,声明变量的注意事项有哪些

  1,变量由大小写字母,数字及下划线组成并且开始不能为数字

  2,不能和python关键字重复

  3,不能使用系统函数作为变量名

七,如果有变量n1 = 5,请使用int提供的方法得到该变量最少可以用多少个二进制位表示。

  >>> int(5).bit_length()

  3

  3位

八,布尔值分别有什么

  True和False

九,阅读代码请写出执行结果

  capitalize方法是首字母大写

  1. a= 'zhangsan'
  2. b = a.capitalize()
  3. print (a)
  4. print (b)
  5.  
  6. zhangsan
  7. Zhangsan

 

十,写代码有以下变量,请按要求实现以下功能

  name = ‘zhangsaN’

  a.移除变量name对应两边的空格并且输出移除后内容

  1. v = name.strip()
  2. print(v)
  3.  
  4. zhangsaN

  b.判定变量name是否以‘zh‘’开头,并且输出结果

  1. name = 'zhangsaN'
  2. v = name.startswith('zh')
  3. print(v)
  4.  
  5. True

  c.判定变量name是否以‘N’结尾,并且输出结果

  1. name = 'zhangsaN'
  2. v = name.endswith('N')
  3. print(v)
  4.  
  5. True

  d.将h替换为p并输出结果

  1. name = 'zhangsaN'
  2. v = name.replace('h','p')
  3. print(v)
  4.  
  5. zpangsaN

  e.将变量以h分割并输出结果

  1. name = 'zhangsaN'
  2. v = name.split('h')
  3. print(v)
  4.  
  5. ['z', 'angsaN']

  f.上一题以h分割后得到的是什么类型

  list 列表

  g.name变量变大写,输出结果

  1. name = 'zhangsaN'
  2. v = name.upper()
  3. print(v)
  4.  
  5. ZHANGSAN

  h.name变量变小写,输出结果

  1. name = 'zhangsaN'
  2. v = name.lower()
  3. print(v)
  4.  
  5. zhangsan

  i.输出变量name的第二个字符

  1. name = 'zhangsaN'
  2.  
  3. print(name[1])
  4.  
  5. h

  j.输出变量name前三个字符

  1. name = 'zhangsaN'
  2.  
  3. print(name[0:3])
  4.  
  5. zha

  k.输出变量name后两个字符

  1. name = 'zhangsaN'
  2.  
  3. print(name[-2:])
  4.  
  5. aN

  l.输出变量name中h所在是索引位置

  1. name = 'zhangsaN'
  2.  
  3. v = name.find('h')
  4.  
  5. print(v)
  6.  
  7. 1

  m.输出子序列不包括最后一个字符

  1. name = 'zhangsaN'
  2.  
  3. v = name[0:-1]
  4.  
  5. print(v)
  6.  
  7. zhangsa

十一,字符串是否可迭代对象,请使用循环输出每一个元素

  字符串可以迭代,能被for循环进行循环的就是可迭代对象

  1. name = 'zhangsaN'
  2. for item in name:
  3. print(item)

十二,请用代码实现

  a,利用下划线将每一个元素拼接为字符串li = ‘zhangsan’

  b,利用下划线将每一个元素拼接为字符串li = ['zhangsan','lisi','wangwu']

  1. li = "zhangsan"
  2. v = '_'.join(li)
  3. print(v)
  4.  
  5. z_h_a_n_g_s_a_n

  

  1. li = ['zhansan','lisi','wangwu']
  2. v = '_'.join(li)
  3. print(v)
  4.  
  5. zhansan_lisi_wangwu

  

十三,python2和python3中函数range的区别

  python2中的range返回的是一个列表,xrange和python3里面的range效果是一样的

  python3中的range返回的是一个迭代值

  

十四,实现一个整数加法运算

  如:content=(‘请输入内容例如5+9:’)

  1. content=input('Please input')
  2. v = content.split('+')
  3. n1 = v[0]
  4. n2 = v[1]
  5. print(int(n1)+int(n2))

 

十五,计算用户输入的有多少个数字,多少个字母

  1. content=input('Please input')
  2. letter_count = 0
  3. number_count = 0
  4. for item in content:
  5. if item.isalpha():
  6. letter_count = letter_count + 1
  7. elif item.isdigit():
  8. number_count = number_count + 1
  9.  
  10. print('字母数为:',letter_count)
  11. print('数字数为:',number_count)

  通过迭代循环判断是否为数字或字母如果为数字或者字母则+1迭代玩输出结果

十六,制作趣味模板程序根据用户输入姓名,地点,爱好输出 亲爱的xxx喜欢在xxx做xxx

  1. name = input('请输入姓名:')
  2. add = input('请输入地点:')
  3. thing = input('请输入你喜欢做的事情:')
  4. print(name,'喜欢在',add,thing)

  

十七,制作随机验证码,不区分大小写

  1.  
  1. def check_code():
    import random
    checkcode = ''
    for i in range(4):
    current = random.randrange(0,4)
    if current != i:
    temp = chr(random.randint(65,90))
    else:
    temp = random.randint(0,9)
    checkcode += str(temp)
    return checkcode
  2.  
  3. while True:
    code = check_code()
    print(code)
    v = input('>>>')
    if v.upper() == code:
    print('You input is right')
    else:
    continue
  1.  

十八,开发敏感词过滤如果内容包含敏感字符则替换为***

  1. v = input('>>>')
  2. v = v.replace('','a')
  3. v = v.replace('','b')
  4. print(v)

  

  

  

    

Python全栈day10(基础知识练习题)的更多相关文章

  1. Python全栈day10(基本数据类型及其常用方法)

    一,数字 1,int 将字符串转化成数字 a = '123' b=int(a) b=123 2,以进制方式进行转换 num="a" >>> num = " ...

  2. Python全栈day10(Pycharm的安装和使用)

    Python开发IDE 一,下载Pycharm专业版 二,安装Pycharm 三,新建项目 四,设置字体大小

  3. Python全栈day10(运算符)

    一,运算符 + - * . ** % // 二,in 和not in 一个字符串包含多个字符可以通过in判断字符是否属于改字符串 >>> name = "zhangsan& ...

  4. 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】

    点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...

  5. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  6. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  7. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  8. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  9. python全栈 字典数据类型相关知识及操作

    python 全栈开发 一.字典 1. 字典的概念: 字典 : dict 用 {} 来表示,   键位值数据. { key , value }    具有唯一性. 键:都必须是可哈希的     不可变 ...

随机推荐

  1. atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结

    atitit.研发管理--标准化流程总结---java开发环境与项目部署环境的搭建工具包总结 1. ide系列(只开发环境需要,但部署环境也做好放上,很有用) 1 2. web服务器+sdk+网站程序 ...

  2. Phonegap创建项目语法

    1:在本地磁盘新建一个文件夹存放要开发的项目,比如在D盘建一个yun文件夹2 2:然后在dos系统下,d:命令进入d盘,cd yun进入yun文件夹, 3:然后phonegap create yun2 ...

  3. Java类的实例化的初始化过程

    A a = new A(); new 创建对象过程: 1.类加载     代码验证 2.给对象在内存(堆)中分配空间(给属性赋值): 3.属性赋默认值: byte,short.int,long -&g ...

  4. 17. Subsets【medium】

    Given a set of distinct integers, return all possible subsets. Notice Elements in a subset must be i ...

  5. iPhone应用程序的启动过程

    Phone的入口函数main,这之后它有是怎样启动应用程序,初始化的呢,这些都是通过 UIApplicationMain 来实现的. 其启动的流程图大致如下图所示: 1 int retVal = UI ...

  6. The difference between Severity and Priority

    The difference between Severity and Priority[1] 2015-06-24 There are two key things in defects of th ...

  7. Hadoop单机Hadoop测试环境搭建

    Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0. ...

  8. ubuntu 16.04 安装 ITDB

    其实标题本不应该是这个 之前也部署过itdb,这款软件本身不必多言,来自希腊的精品.最近因为单位需要,又要重新部署.前几年部署itdb的时候用的是ub14,但目前最新的是ub16,于是就部署呗.但在后 ...

  9. 回文串dp

    一个字符串如果从左往右读和从右往左读都一样,那么这个字符串是一个回文串.例如:"abcba","abccba". 蒜头君想通过添加字符把一个非回文字符串变成回文 ...

  10. cf339d Xenia and Bit Operations

    Xenia and Bit Operations Time Limit:2000MS     Memory Limit:262144KB     64bit IO Format:%I64d & ...