1、执行 Python 脚本的两种方式

1) 使用命令行执行Python脚本: python C:\tesst.py

2) 使用各种IDE软件.pycharm wing

2、简述位、字节的关系

位 (bit) 数据存储是以“字节”位单位的,数据传输大多是以“位”为单位的,以为就代表一个0或1,每8位组成一个字节,是最小一级的信息单位。

3、简述 ascii、unicode、utf-­‐8、gbk 的关系

  Ascii码有256位为最原始的版本

  Unicode位万国码

  Utf-8为Unicode压缩版 以尽量少字节表达

  Gbk为汉字编码

4、请写出            “李杰”      分别用 utf-­‐8 和 gbk 编码所占的位数

  Utf-8需要用3个字节表示一个汉字 李杰需要使用48位

  Gbk需要使用两个字节表示一个汉字  李杰需要用32位

5、Pyhton 单行注释和多行注释分别用什么?

单行注释:# hello

     多行注释:'''

      hello world

     '''

6、声明变量注意事项有那些?

  1)  变量名由字符、数字、下划线组成

  2)  变量名不能以数字开头

  3)  变量名不能是关键字

  4)  常量定义字符全为大写字符

8、    如何查看变量在内存中的地址?

  使用id函数查看:Id(变量名)

9、    执行 Python 程序时,自动生成的            .pyc      文件的作用是什么?

  运行Python程序,PyCodeObject编译保存文件,.pyc文件是PyCodeObject永久性保存文件

10、             写代码

a.实现用户输入用户名和密码,当用户名为       seven             且         密码为          123       时,显示登陆成功,否则登陆失败!              

name = input('please input name>>:').strip()
password = input('please input password>>:').strip()
if name.__eq__('seven') and password.__eq__(''):
print('login ok')
break
else:
print('login failed')

b.实现用户输入用户名和密码,当用户名为       seven             且         密码为          123       时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

      
 counter = 3
while counter > 0:
counter-=1
name = input('please input name>>:').strip()
password = input('please input password>>:').strip()
if name.__eq__('seven') and password.__eq__(''):
print('login ok')
break
else:
print('login failed')

c.实现用户输入用户名和密码,当用户名为       seven             或         alex      且         密码为          123      时,显示登陆成功,否则登陆失败,失败时允许重复输入三次

counter = 3

while counter > 0:

    counter-=1

    name = input('please input name>>:').strip()

    pwd = input('please input password>>:').strip()

    if (name.__eq__('seven') or name.__eq__('alex'))and pwd.__eq__(''):

        print('login ok')

    else:

        print('login failed')        

11、写代码

  1. 使用 while 循环实现输出 2 -   3    +    4    -  5    +    6  -.......   +    100         的和
  2.         result = 0
    
    while counter > 1:
    
        if counter % 2 == 0:
    
            result += counter
    
        else:
    
            result -= counter
    
        counter -= 1
    
    print(result)
  1. 使用 for 循环和 range 实现输出           1   -­ 2    +    3  -  4    +    5 -  6-  ...  +    99           的和
result = 0

for x in range(1,100):

    if x%2==0:

        result-=x

    else:

        result+=x

print(result)
  1. 使用 while 循环实现输出       1,2,3,4,5,            7,8,9,                     11,12
 
counter = 0

while counter <12:

    counter+=1

    if counter==6 or counter ==10:

        print('          ',end='')

    else:

        print(counter,end=',')
  1. 使用 while 循环实现输出       1-­‐100          内的所有奇数
counter = 1

while counter < 100:

    print(counter)

    counter+=2
  1. 使用 while 循环实现输出       1-­‐100          内的所有偶数
counter = 2

while counter < 100:

    print(counter)

    counter+=2

12、              分别书写数字      5,10,32,7 的二进制表示

             5  : 0b0000 0101
       10 : 0b0000 1010
       32 : 0b0010 0000
        7 : 0b0000 0111

13、              简述对象和          类的关系(可用比喻的手法)

      类是对象的集合,如同蛋类中包含鸡蛋,鸭蛋,鹅蛋,egon

      蛋{鸡蛋,鸭蛋,鹅蛋,egon};

14、              现有如下两个变量,请简述        n1         和         n2         是什么关系?

  n1        =    123

  n2        =    123

      n1和n2两个变量的 在内存中指向的是一个地址,他们的id是一样的

15、              现有如下两个变量,请简述        n1         和         n2         是什么关系?

n1        =    123456

n2        =    123456

     n1和n2数值相等,但是他们的内存id不同

16、              现有如下两个变量,请简述        n1         和         n2         是什么关系?

n1        =    123456

n2        =    n1

    n1 和 n2 数值相等,内存地址相等,此时变更n1不会影响n2,n1变更数值,其内存地址变更,而n2的内存地址不变

17、              如有一下变量 n1       =    5,请使用 int 的提供的方法,得到该变量 少可以用多少个二进制位表示?

   int.bit_length(n1)

18、              布尔值分别有什么?

    True和False

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

a     =       "alex"

b     =       a.capitalize()

print(a)

print(b)

请写出输出结果:alex

              Alex

20、              写代码,有如下变量,请按照要求实现每个功能

name =  "           aleX"

a     移除 name 变量对应的值两边的空格,并输入移除有的内容

  name.strip()

b     判断 name 变量对应的值是否以             "al"       开头,并输出结果

  name.startwith(“al”)

c      判断 name 变量对应的值是否以             "X"        结尾,并输出结果

name.endwith(“X”)

d     将 name 变量对应的值中的            “l”             替换为          “p”,并输出结果

name.replace(‘l’, ’p’)

e     将 name 变量对应的值根据            “l”             分割,并输出结果。

name.strp(‘l’)

f       请问,上一题  e  分割之后得到值是什么类型?

得到的是列表类型的

g     将 name 变量对应的值变大写,并输出结果

print(name.strip().supper())   #ALEX

h     将 name 变量对应的值变小写,并输出结果

  print(name.strip().lower())       #alex

i       请输出 name 变量对应的值的第 2 个字符?

print(name.strip()[1])      #l

j       请输出 name 变量对应的值的前 3 个字符?

print(name.strip()[:3])     #ale

k     请输出 name 变量对应的值的后 2 个字符?

print(name[-2:])   #eX

l       请输出 name 变量对应的值中        “e”            所在索引位置?

  print(name.index(‘e’))           #6

21、字符串是否可迭代?如可以请使用 for 循环每一个元素?

字符串可以迭代

str = ‘hello world’

for item in str:

print(item)

22、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li          =         ['alex',          'eric',     'rain']

    str = li[0]+’_’+ li[1]+’_+ li[2]

22、              写代码,有如下列表,按照要求实现每一个功能

li           =         ['alex',          'eric',     'rain']

  1. 计算列表长度并输出

     print(len(li))

   2.列表中追加元素        “seven”,并输出添加后的列表

print(li.append(‘seven’))

   3.请在列表的第            1           个位置插入元素           “Tony”,并输出添加后的列表

print(li.insert(0,’Tony’))

   4.请修改列表第            2           个位置的元素为           “Kelly”,并输出修改后的列表

li[1]=’Kelly’

print(li)

   5.请删除列表中的元素         “eric”,并输出修改后的列表

li.remoer(‘eric’)

print(li)

   6.请删除列表中的第             2           个元素,并输出删除的元素的值和删除元素后的列表

print(li.pop(2))

print(li)

   7.请删除列表中的第             3           个元素,并输出删除元素后的列表

    print(li.pop(3))

   8.请删除列表中的第             2 至 4 个元素,并输出删除元素后的列表

    del li[1:3]

    print(li)

   9.请将列表所有的元素反转,并输出反转后的列表

    print(li.reverse())

   10.请使用 for、len、range 输出列表的索引

    for index in range(len(li)):

    print(index)

   11.请使用 enumrate 输出列表元素和序号(序号从 100 开始)

for x,y in enumerate(li,100):

print(x,y)

   12.请使用 for 循环输出列表的所有元素

for item in li:

print(item)

23、              写代码,有如下列表,请按照功能要求实现每一个功能

li          =    ["hello",         'seven',           ["mon",          ["h",       "kelly"],         'all'],      123,       446]

  1. 请输出       “Kelly”

    print(li[2][1][1])

请使用索引找到           'all'       元素并将其修改为       “ALL”

  print(li[2][2].upper())

24、              写代码,有如下元组,按照要求实现每一个功能

tu           =         ('alex',          'eric',     'rain')

  1. 计算元组长度并输出

print(len(tu))

  1. 获取元组的第            2           个元素,并输出

    print(tu[1])

  1. 获取元组的第            1-­‐2     个元素,并输出

    print(tu[:2])

  1. 请使用 for 输出元组的元素

    for item in tu:

     print(item)

  1. 请使用 for、len、range 输出元组的索引

for index in range(len(tu)):

print(index)

  1. 请使用 enumrate 输出元祖元素和序号(序号从 10 开始)

    for index value in enumerate(tu):

    print(index,value)

25、              有如下变量,请实现要求的功能

tu         =    ("alex",           [11,        22,         {"k1":    'v1',       "k2":      ["age",            "name"],        "k3":             (11,22,33)},            44])

  1. 讲述元祖的特性

元组是不可变类型,主要体现在元组的每个元素id唯一

  1. 请问 tu 变量中的第一个元素          “alex”       是否可被修改?

不可以被修改

  1. 请问 tu 变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素         “Seven”

K2对应的是列表类型,可以被修改,

tu[1][2].get(‘k2’).append(“Seven”)

  1. 请问 tu 变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素         “Seven”

K3对应的是元组类型  不可被修改

26、              字典

dic       =    {'k1':      "v1",      "k2":      "v2",      "k3":      [11,22,33]}

  1. 请循环输出所有的 key

    for key in dic.keys:

    print(key)

   2.请循环输出所有的 value

    for value in dic.values:

     print(value)

    3.请循环输出所有的 key 和 value

    for key,value in dic.items:

    print(key:‘%s  value:%s’   % (key,value))

   4.请在字典中添加一个键值对,"k4":         "v4",输出添加后的字典

     dic[‘k4’]) = ‘k4’)  print((dic)

   5.请在修改字典中        “k1”          对应的值为           “alex”,输出修改后的字典

    dic[‘k1’] = ‘alec’  print(dic)

   6.请在 k3 对应的值中追加一个元素          44,输出修改后的字典

dic[‘k3’].append(44)  print(dic)

   7.请在 k3 对应的值的第             1           个位置插入个元素       18,输出修改后的字典

dic[‘k3’].insert(0,18)  print(dic)

27、转换

  1. 将字符串            s           =    "alex"     转换成列表

l = []

   for char in s:

l.append(char)

print(l)

    2.将字符串            s           =    "alex"     转换成元祖

l = []

    for char in s:

l.append(char)

print(tuple(l)l)

   3.将列表       li          =    ["alex",           "seven"]          转换成元组

tuple(li)

   4.将元祖       tu         =    ('Alex',            "seven")          转换成列表

list(tu)

   5.将列表       li          =    ["alex",           "seven"]          转换成字典且字典的 key 按照10 开始向后递增

dic = dict(enumerate(li,10))

print(dic)

28、  转码

n          =    "老男孩"

a.  将字符串转换成 utf-­‐8 编码的字节,并输出,然后将该字节再转换成 utf-­‐8 编码字符串,再输出

      sstr=n.encode("UTF-8")
      print(sstr)
      sstr.decode("UTF-8")
      print(sstr)

b.    将字符串转换成 gbk 编码的字节,并输出,然后将该字节再转换成 gbk 编码字符串,再输出

      sstr=n.encode("GBK")
      print(sstr)
      sstr.decode("GBK")
      print(sstr)

28、 求 1-­‐100 内的所有数的和

result = 0

for i in range(100):

result +=i

print(result)

29、元素分类

有如下值集合      [11,22,33,44,55,66,77,88,99,90],将所有大于           
66         的值保存至字典的第一个 key 中,将小于         66         的值保存至第二个 key 的值中。

即:    
{'k1':              大于 66 的所有值,    'k2':        小于 66 的所有值}

l = [11,22,33,44,55,66,77,88,99,90]

dic = {’k1’:[],’’k2:[]}

            for item in l:

                   if  item > 66

                            dic[‘k1’].append(item)

                   else:

                            dic[‘k2’].append(item)

         print(dic)

30、              购物车

功能要求:

要求用户输入总资产,例如:2000

显示商品列表,让用户根据序号选择商品,加入购物车

购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods           =    [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}, ]
assets = 2000 cart_l = [] while True: cmd = input('1.Shopping\n2.Settlement\nPlease input
index>>:') if not cmd.isdigit():continue if int(cmd) <= 0 or int(cmd) >2: print('commend not exist') continue if cmd == '': for index, goods_d in enumerate(goods_l, 1): name, price = goods_d.items() print('%d.goods name:%s goods price:%s' % (index, name[1], price[1])) cmd = input('please select your goods by index>>:') if not cmd.isdigit():continue index_s = int(cmd) if index_s <= 0 or index_s > len(goods_l):continue while True: num = input('please select number of goods>>:') if num.isdigit(): break cart_l.append((goods_l[index_s-1], int(num))) print(cart_l) else: totals = 0 for goods_msg in cart_l: totals += goods_msg[0]['price'] * (goods_msg[1]) if totals <= assets: print(type(totals)) print('you settlement ok!!,and balance is %d $' % (assets - totals)) else: print('balance is not enough!!!1') break

Python全栈考试(一)的更多相关文章

  1. Python全栈考试-部分试题(精选)

    Python全栈考试(一) Python全栈考试(一) 1.执行 Python 脚本的两种方式 答:1.>>python ../pyhton.py 2. >>python.py ...

  2. python全栈考试

    1.执行 Python 脚本的两种方式 shell直接调用python脚本 python run.py 调用解释器来调用脚本  2.2.简述位.字节的关系 每8个位bit,组成一个字节byte. 一个 ...

  3. python 全栈开发,Day30(第一次面向对象考试)

    月考题: python 全栈11期月考题 一 基础知识:(70分) 1.文件操作有哪些模式?请简述各模式的作用(2分) 2.详细说明tuple.list.dict的用法,以及它们的特点(3分) 3.解 ...

  4. 想成为Python全栈开发工程师必须掌握的技能

    什么是Python全栈工程师? 即从前端页面的实现,到后台代码的编写,再到数据库的管理,一人可以搞定一个公司网站的所有事情,真正实现全栈开发. 全栈只是个概念 也分很多种类 真正的全栈工程师涵盖了we ...

  5. Python全栈【Socket网络编程】

    Python全栈[socket网络编程] 本章内容: Socket 基于TCP的套接字 基于UDP的套接字 TCP粘包 SocketServer 模块(ThreadingTCPServer源码剖析) ...

  6. Python全栈【异常处理】

    Python全栈[异常处理] 本节内容: 1.异常处理 2.什么时候用异常处理 异常处理 1.异常处理: 异常就是程序运行时发生错误的信号,异常处理是在编程过程中为了增加友好性,在程序出现bug时一般 ...

  7. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  8. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  9. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

随机推荐

  1. 【Sqlserver系列】初级思维导图

    1   概述 本篇文章主要概述Sqlserver思维导图. 2   具体内容 3   参考文献 [01]https://mp.weixin.qq.com/s/USNMslpvu7pWosMZnVTPd ...

  2. 青否云 - 小程序待办事项 wxapp开源系统

    青否云最新开源系统:小程序待办事项 wxapp-demo 青否云 小程序 demo 下载地址:https://github.com/qingful/wxapp-demo 官网 http://cloud ...

  3. SpringBoot ( 七 ) :springboot + mybatis 多数据源最简解决方案

    说起多数据源,一般都来解决那些问题呢,主从模式或者业务比较复杂需要连接不同的分库来支持业务.我们项目是后者的模式,网上找了很多,大都是根据jpa来做多数据源解决方案,要不就是老的spring多数据源解 ...

  4. Spring Boot [使用 Druid 数据库连接池]

    导读 最近一段时间比较忙,以至于很久没有更新Spring Boot系列文章,恰好最近用到Druid, 就将Spring Boot 使用 Druid作为数据源做一个简单的介绍. Druid介绍: Dru ...

  5. 使用soap实现简单webservice

    在网上看到一些关于用soap实现简单webservice的一些知识,简单整理一下希望对大家有所帮助. 可以给大家看一下我的简单实现的列子,Soap,大家可以到Github上自行下载. 首先说一下web ...

  6. AVL树的单双旋转操作

    把必须重新平衡的节点称为å.对于二叉树,å的两棵子树的高度最多相差2,这种不平衡可能有四种情况: 对å的左儿子的左子树进行插入节点(左-左) 对å的左儿子的右子树进行插入节点(左-右) 对å的右儿子的 ...

  7. golang 如何验证struct字段的数据格式

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/125 假设我们有如下结构体: type User struct ...

  8. nginx在 window下 自动退出 php-cgi

    win32+nginx+php自动挂掉php-cgi.exe    RunHiddenConsole E:/wnmp/php5/php-cgi.exe -b 127.0.0.1:9000 -c &qu ...

  9. mysql case when group by实例

    mysql 中类似php switch case 的语句. select xx字段, case 字段 when 条件1 then 值1 when 条件2 then 值2 else 其他值 END 别名 ...

  10. ES6 let和const命令(4)

    const声明的常量只在当前代码块有效.如果想设置跨模块的常量,可以采用下面的写法. //constants.js模块 export const A = 1; export const B = 3; ...