zoukankan      html  css  js  c++  java
  • python入门练习题1

    常见python入门练习题

    1 1.执行python脚本的两种方法
    2 
    3 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文件   然后运行./homework
    4 
    5 第二种:使用python命令执行,如:python homework.py
    2.简述,位,字节的关系
    
    位:bit是由八个二进制数组成
          1 bit = 0101 0101
    字节:一个字节等于八个bit位
            1Byet = 8bit
    3.简述ascii,unicode,utf-8,gbk的关系
     
    #unicode:包含所有国家的字符编码,
    #utf-8可变长的字符编码,英文表示一个字节,中文(繁文)表示3个字节
    #ascii美国标志信息交换代码,是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,一个字符占一个字节
    #gbk全称《汉字内码扩展规范》,一个字符占用两个字节
    4.请写出'李杰'分别用utf-8和gbk编码所在的为数
    
    #在utf-8中,一个中文字符占用3个字节
    #在gbk中一个汉字占用2个字节
    #李杰 = utf-8(6字节)
    #李杰 = gbk(4字节)
    5.python单行注释和多行注释分别用什么
    
    #单行注释:将要注释的行选重。ctrl+/即可
    
    #多行注释:用三对当引号或者三对双引号,将要注释的内容从头到尾括起来
    6.声明变量名的注意事项
    #1.变量名不能以数字,特殊字符开头,在变量名中也不能包含特殊字符
    #2.不能以python中的关键字命名,我们可以调用keyword模块查看这个变量名是否为关键字
    8,如何查看变量在内存中的地址
    #通过id这个命令可以查看
        如:a = 'alex'  内存地址为print(id(a))  #5733152
    12,分别书写数字5,10,32,7的二进制表示 
    #5 = 0000 0101
    #10=0000 1010
    #32=0010 0000
    13,简述对象和类的关系
    #在python中一切事物皆对象,对象是基于类创建的
    14,现有如下两个变量,请简述n1和n2是什么关系
    #n1 = 123,n1是变量名,123是变量值,其实在python内部执行的时候,就是在内存中开辟出了一块123的空间,通过n1
        就可以调用这块开辟的空间123
     #n2 = 123,在python内部执行的时候,其实是通过python的一个内部机制,去内存里查看有没有这个123这块空间,
        如果有就直接调用,没有就从新开辟一块空间,我们可以通过查看变量名的id号来判断这个两个变量是否指向同
        一块内存地址
     # n1 = 123    print(id(n1))   #1746669840
     # n2 = 123    print(id(n2))   #1746669840
        两个变量名是指向同一个内存地址
    16,现有如下两个变量,请简述n1和n2是什么关系
        n1 = 123456     n2 = n1
    #n1 = 123456 是在内存中开辟了一块内存空间,而n2 = n1则是n2的值直接指向n1所开辟的那块内存空间,它们
        之间是一个对应关系
    18,布尔值分别有什么
    #True和False
    19,阅读代码,写出执行结果
    #a = 'alex'      #alex
    #b = a.capitalize() 
    #Alex,capitalize将首字母大写
    19,阅读代码,写出执行结果
    a = 'alex'      #alex
    b = a.capitalize()  #Alex,capitalize将首字母大写
    
    20,写代码,有如下变量,请按照要求实现每个功能
    name = 'aleX'
    a,移除name变量对应的值的两边的空格,并输入移除有的内容
    print(a.strip())   #aleX
    
    b.判断name变量对应的值是否以'al'开头,并输出结果
    print(a.startswith('al'))   #True
    c.判断name是否以'X'结尾,并输出结果
    print(a.endswith('X'))    #False
    
    d.将name变量对应的值中的'l'替换为'p',并输出结果
    print(a.replace('l','p'))   #apeX
    
    e.将name变量对应的值根据'l'分割,并输出结果
    print(a.split('l'))   #['a', 'eX']
    f,上一题e分割之后得到的值是什么数据leix
    print(type(a.split('l')))   #<class 'list'>
    
    g.将name变量对应的值变为大写,并输出结果
    print(a.upper())    #ALEX
    
    h.将name变量对应的值变为小写,并输出结果
    print(a.lower())    #alex
    
    i.输出name变量对应的值的第2个字符
    print(a[1:2])   #l
    
    j.输出name变量对应的值的前3个字符
    print(a[:3])    #ale
    
    k.输出name变量对应值的后2个字符
    print(a[-2:])   #eX
    
    l.输出name变量中对应的值中'e‘所在索引位置
    print(a.index('e')) #2
    21,字符串是否可迭代?如可以请使用for循环每一个元素
    #字符串是可迭代的,举例如下:
    a = ’alex'
    for i in a:
        print(i)
    #结果循环字符串中的字符,并以迭代的方式输出
    #a
    #l
    #e
    #x
    22,请用代码实现,利用下划线将列表的每一个元素拼接成字符串,li = ['alex','rein','rain']
    
    li = ['alex','jack','rain']
    s = '_'.join(li)   #alex_jack_rain
    23.写代码,有如下列表,按照要求实现每一个功能   li = ['alex','eric','rain']
    a.计算列表长度并输出
    print(len(li))  #3
    
    
    b.列表中追加元素'seven',并输出添加后的列表
    result = li.append('seven')
    print(li)   #['alex', 'eric', 'rain', 'seven']
    
    c.请在列表的第1个位置插入元素'Tony',并输出添加后的列表
    result = li.insert(1,'Tony')
    print(li)   #['alex', 'Tony', 'eric', 'rain']
    
    d,请修改列表的第2个位置为'Kelly',并输出修改后的列表
    li[2] = 'Kelly'
    print(li)   #['alex', 'eric', 'Kelly']
    
    e,请删除列表中的元素'eric',并输出修改后的列表
    result = li.remove('eric')
    print(li)   #['alex', 'rain']
    
    f,请删除列表中的第2个元素,并输出删除的元素和删除元素后的列表
    result = li.pop(2)
    print(result)   #移除的元素  rain
    print(li)   #['alex', 'eric']
    
    g.请删除列表中的第3个元素,并输出删除元素后的列表
    li = ['alex','eric','rain','Tony']
    result = li.pop(3)
    print(li)   #['alex', 'eric', 'rain']
    
    h.请删除列表中的第2个至4个元素,并输出删除元素后的列表
    li = ['alex','eric','rain','Tony']
    del li[1:]
    print(li)       #['alex']
    i,请将列表所有的元素反转,并输出反转后的列表
    li = ['alex','eric','rain','Tony']
    result = li.reverse()
    print(li)   #['Tony', 'rain', 'eric', 'alex']
    
    j,请使用for,len,range输出列表的索引
    li = ['alex','eric','rain','Tony']
    for i in li:
        i = li.index(i)
        print(i)
    0
    1
    2
    3
    
    k,请使用enumrate输出列表元素和序号(序号从100开始)
    li = ['alex','eric','rain','Tony']
    for i,y in enumerate(li,100):
        print(i,y)
    100 alex
    101 eric
    102 rain
    103 Tony
    
    l.请使用for循环输出列表中的所有元素
    for i in li:
        print(i)
    alex
    eric
    rain
    Tony
    
    
    24.24.写代码,有如下元祖,按照要求实现每一个功能
    tu = ('alex','eric','rain')
    
    a,计算元组长度并输出
    print(len(tu))  #3
    
    
    b,计算元组的第2个元素,并输出
    result = tu[1]
    print(result)   #eric
    
    c,获取元组的第1-2个元素,并输出
    result = tu[:2]
    print(result)   #('alex', 'eric')
    25,有如下变量,请按照要求实现每个功能
    a,简述元组的特性
    
    b,请问tu变量中的第一个元素'alex'是否可被修改
    #以元组的形式是不能修改的,我们可以通过将tu的数据类型转换为列表来进行修改
    
    c,tu变量中的'k2'对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素'Seven'
    result = tu[1][2].get('k2')
    print(result)   #['age', 'name']
    print(type(result)) #<class 'list'>
    result = tu[1][2].get('k2').append('seven')
    print(tu)   
    #('alex', [11, 22, {'k3': (11, 22, 33), 'k1': 'v1', 'k2': ['age', 'name', 'seven']}, 44])
    
    c,tu变量中的'k3'对应的值是什么类型,是否可以被修改,如果可以,请在其中添加一个元素'Seven'
    result = tu[1][2].get('k3')   #k3不能修改,因为k3对应的value是元组类型
    print(result)   #(11, 22, 33)
    print(type(result)) #<class 'tuple'>
    26.字典
    
    dic = {'k1':'v1','k2':'v2','k3':[11,22,33]}
    a.循环输出所有的k
    
    for i in dic:
        print(i)
    k2
    k3
    k1
        
    b,循环输出所有的value
    for k,v in dic.items():
        print(v)
    v2
    [11, 22, 33]
    v1
    
    c,循环输出所有的k和value
    for k,v in dic.items():
        print(k,v)
    
     k2 v2
    k3 [11, 22, 33]
    k1 v1
    
    
    d,在字典中添加键值对,'k4':'v4',输出添加后的字典
    result = dic.update({'k4':'v4'})
    print(dic)
    #{'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4', 'k1': 'v1'}
    
    e,修改字典中'k1',对应的值为'alex',输出修改后的字典
    result = dic.update({'k1':'alex'})
    print(dic)
    #{'k2': 'v2', 'k1': 'alex', 'k3': [11, 22, 33]}
    
    f,在k3对应的值中追加一个元素44,输出修改后的字典
    dic['k3'].append('alex')
    print(dic)  #{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33, 'alex']}
    
    g,在k3对应的值的第一个位置插入一个元素18,请输出修改后的字典
    dic['k3'].insert(1,18)
    print(dic)  #{'k1': 'v1', 'k3': [11, 18, 22, 33], 'k2': 'v2'}
    27,转换
    a.将字符串s = 'alex'转换为列表
    s = 'alex'
    a = list(s)
    print(a,type(a))#['a', 'l', 'e', 'x'] <class 'list'>
        
    b.将字符串s = 'alex'转换为元组
    a = tuple(s)
    print(a,type(a))    #('a', 'l', 'e', 'x') <class 'tuple'>
    
    c.将元组tu = ('Alex','seven')
    lione = list(tu)转换为列表
    tu = lione
    print(tu,type(tu))
    
    d。将列表li = ['alex','seven']转换为元组
    tu = tuple(li)
    li = tu
    print(li,type(li))
    
    e,将列表li = ['alex','seven']转换为字典且字典的key按照10开始向后递增
    # li = ['alex','seven']
    # dic = {}
    # for key,value in enumerate(li,start=10):
    #     dic[key]=value
    # print(dic)
    27,字符编码转换,n = '老男孩'
    a,将字符串转换为utf-8编码的字节,并输出,然后在将该字节转换成utf-8编码字符
    print(n.encode('utf-8'))    #b'xe8x80x81xe7x94xb7xe5xadxa9'
    print(n.encode('utf-8').decode('utf-8'))    #老男孩
    
    b,将字符串转换为gbk编码的字节,并输出,然后在将该字节转换成gbk编码字符
    print(n.encode('gbk'))  #b'xc0xcfxc4xd0xbaxa2'
    print(n.encode('gbk').decode('gbk'))    #老男孩
    28,求1-100的所有数的和
    count = 0
    b = 0
    while count <100:
        count +=1
        b +=count
        print(b)
    或者    print(sum(range(1,101)))
     29.元素分类
     有如下集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存到字典的第一个key中,
     将小于66的保存到第二个key中
     li = [11,22,33,44,55,66,77,88,99,90]
    dic = {'k1':[],'k2':[]}
    for i in li:
        if i >66:
            dic['k1'].append(i)
        else:
            dic['k2'].append(i)
    print(dic)
  • 相关阅读:
    IT职业发展核心能力养成
    想学java的朋友们 可以来听公开课
    自学h5 来看看项目常见问题汇总及解决方案
    精准定位适合自己的工作——职业素养免费公益课
    自学前端的小伙伴们开过来 本周公益干货分享课
    java学习项目案例分享视频资源地址
    自学前端的小伙伴看过来 jQuery五角星评分小效果
    美观大气的纯JS做出黑客帝国特效 初学前端进来看
    java项目开发-大神案例分享:京东京豆项目06
    【签到有礼】课工场5月,签到的日子,春暖花开
  • 原文地址:https://www.cnblogs.com/YingLai/p/6062042.html
Copyright © 2011-2022 走看看