zoukankan      html  css  js  c++  java
  • python基础题型一

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

    1. #python name.py   Python解析器
    2. #chmod +x name.py

    二、简述位、字节的关系

      1Byte=8bit

    三、简述ascii、unicode、utf-8、gbk的关系

      ascii是美国最初的英文编码方式

      gbk是对ascii的中文扩展,只要第一个字符是大于127就固定表示这个汉字的开始,不管后面跟的是不是扩展字符集里的内容,扩展之后的编码方案被称为gbk标准

      Unicode是ISO为了统一地球上所有文化、所有字母和符号的编码,一个中文字符占2个字节

      Utf-8就是在互联网上使用最广的一种Unicode的实现方式,为传输而设计的编码,并使编码无国界,这样就可以显示全世界上所有的字符了,utf-8是一个中文字符占3个字节

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

      utf-8:2个中文=6个字节=48bit

      gbk:2个中文=4个字节=32bit

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

      单行注释:#

      多行注释:“”

    六、声明变量注意事项有哪些?

    1. 变量只能是字母、数字或者下划线的任意组合
    2. 变量名的第一个字符不能是数字
    3. 最好不要重复Python内置的东西
    4. 以下关键字不能声明为变量名:and、as、assert、break、class、continue、def、del、elif、else、except、exec、finally、for、from、global、if、import、in、is、lambda、not、or、pass、print、raise、return、try、while、with、yield

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

      name = ‘Alex’

      id(name)

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

      pyc文件是PyCodeObject的一种持久化保存方式,是Python、执行前生成的变异字节码文件

    九、写代码

    1. 实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败!
      1. username = input("请输入用户名 : ")
        password = input("请输入密码: ")

        if username == 'username' and password == 'password':
        print('登陆成功 !')
        else:
        print("用户名或密码错误!")
    2. 实现用户输入用户名和密码,当用户名为seven且密码为123时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
    3. 实现用户输入用户名密码,当用户名为seven或alex且密码为123时,显示登录成功,否则失败,失败时允许重复输入三次

              

        error_num=0

        while True:     

          username = input("请输入用户名 : ")

             password = input("请输入密码: ")

      if username == 'wangxue' or username == 'wang':
      if password == 'password':
       print('登陆成功 !')
      break
       else:
       print("用户名或密码错误!")
      error_num += 1
       if error_num == 3:
      exit()
       else:
      continue
    十、写代码
      1、使用while循环实现输出2-3+4-5+6...+100的和
       
    sum = 0
        for i in range(2,101):
            if i % 2 == 0:
        sum += i
        else:
        sum -= i
        print(i,sum)
        print("sum:",sum)
      2、使用for循环和range实现输出1-2+3-4+5-6...+99的和
          sum = 0
          for i in range(1,100):
          if(i%2==0):
         sum -= i
          else:
         sum += i
          print(i,sum)
          print("sum:",sum)
      3、使用while循环实现输出1,2,3,4,5, 7,8,9, 11,12
          n=0
          while(n < 12):
          n+=1
          if(n == 6 or n == 10):
        print(end=" ,")
          continue
           else:
          print(n,end=",")
      4、使用while循环实现输出1-100内的所有奇数
           n = 0
           s = 0
           while(s < 99):
           s = 2*n+1
           n+=1
           print(s,end=" ")
           for i in range(1,100,2):
          print(i,end=" ")
           print(" ")
      5、使用while循环实现输出1-100内的所有偶数
          m = 1
          h = 0
          while(h < 100):
          h = 2*m
          m+=1
          print(h,end=" ")
    十一、分别书写数字5,10,32,7的二进制表示
          a = [5,10,32,7]
          for i in a:
          print(i,"(十进制):",bin(i))
          print(i,"(八进制):",oct(i))
          print(i,"(十六进制):",hex(i))
    十二、简述对象和类的关系(可用比喻的手法)
      对象是例的实例化
    十三、现有如下两个变量,请简述n1和n2的关系,n1=123,n2=123?
      内存地址相同,引用同一个内存地址
    十四、现有如下两个变量,请简述n1和n2的关系,n1=123,n2=123?
      内存地址相同,引用同一个内存地址

    十五、如有以下变量n1=5,请使用int提供的方法,得到该变量最少可以用多少个二进制位表示?
      n1=5
      v=int(n1.bit_length())
      print(v)
      print(bin(n))

    十六、布尔值分别有什么
      真、假
      True、False
      0、1
    十七、阅读代码,请写出执行结果
      a="alex"
      b=a.capitalize()
      print(a)
      print(b)
      请写出输出结果:alex 
              Alex
    十八、写代码,有如下变量,请按照要求实现每个功能
      name="alex"
      1、移除name变量对应的值两边的空格,并输入移除有的内容
      2、判断name变量对应的值是否以“al”开头,并输出结果
      3、判断name变量对应的值是否以“X”结尾,并输出结果
      4、讲那么变量对应的值中的“l”替换为“p”,并输出结果
      5、讲name变量对应的值根据“l”分割,并输出结果
      6、请问,上一题e分割之后得到值是什么类型
      7、将name变量对应的值变大写,并输出结果
      8、将name变量对应的值变小写,并输出结果
      9、请输出name变量对应的值的第2个字符
      10、请输出name变量对应的值得前3个字符
      11、请输出name变量对应的值的后2个字符
      12、请输出name变量对应的值中“e”所在索引位置
      解答:
        
        name = " aleX"
        print("name=",name)
        print("name=",name.strip()) #移除空格
        print("name=",name.startswith("al")) #是否以al开头
        print("name=",name.endswith("X")) #是否以X结尾
        print("name=",name.replace("l","p")) #p替换l
        print(name.split('l')) #以l为界分割
        print(type(name.split('l'))) #以l分割之后的值类型
        print("name=",name.upper()) #转化大写字母
        print("name=",name.lower()) #转换小写字母
        print(name[1]) #输出变量值对应的第二个字符
        print(name[:2]) #输出前三个字符
        print(name[-2:]) #输出后两个字符
        print(name.index("e"))
    十九、字符串是否可迭代?如可以请使用for循环每一个元素
        
    for i in name: #字符串迭代,使用for循环每一个元素
           print(i,end=" ")
    二十、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']
       
    li = ['alex','eric','rain'] #利用下划线讲列表的每一个元素拼接成字符串
         print("_".join(li))
    二十一、写代码,有如下列表,按照要求实现每一个功能
      li=['alex','eric','rain']
      1、计算列表长度输出
      2、列表中追加元素“seven”,并输出添加后的列表
      3、请在列表的第1个位置插入元素“Tony”,并输出添加后的列表
      4、请修改列表第2个位置的元素为“Kelly”,并输出修改后的列表
      5、请删除列表中的元素“eric”,并输出修改后的列表
      6、请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
      7、请删除列表中的第2个元素,并输出删除元素后的列表
      8、请删除列表中的第2至第4个元素,并输出删除元素后的列表
      9、请将列表所有的元素反转,并输出反转后的列表
      10、请使用for、len、range 输出列表的索引
      11、请使用enumrate输出列表元素和序号(序号从100开始)  
      12、请使用for循环输出列表的所有元素
      解答:
        li = ['alex','eric','rain']
        print("1:",len(li))  #计算li的数组长度
        li.append("seven") #追加元素
        print("2:",li)
        li.insert(0,"Tony") #数组的第一个位置添加Tony元素
        print("3:",li)
        li[1] = "Kelly" #数组的第二个位置的元素改为Kelly
        print("4:",li)
        li.remove("eric") #删除eric这个元素
        print("5:",li)
        print("6:",li[1]) #删除列表中的第二个元素
        del li[1]
        print("7:",li)
        del li[2] #删除第三个元素
        print("8:",li)
        li.append("seven")
        li.append("alex")
        li.append("Kelly")
        li.append("hello")
        print(li)
        del li[1:4] #删除第2到第四个元素
        print("9:",li)
        li.reverse() #反转列表中的所有元素
        print("11:",li)
        print(" ")
        for i in range(len(li)): #使用for、len、range输出列表的索引
         print(i,end=" ")
        print(" ")
        for k,v in enumerate(li,100): #使用enumerate输出列表元素和序号
        print(k,".",v)
        for i in li: #for循环输出元素列表
        print(i,end=" ")
    二十二、按照功能要求实现每一个功能
      li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]
      1、请输出“Kelly”
      2、请使用索引找到'all'元素并将其修改为"ALL"
      解答:
       
    li = ["hello",'seven',["mon",["h","kelly"],'all'],123,446]
        print(li)
        s = li[2][1][1] #输出“Kelly”
        print(s.capitalize())
        index = li[2].index("all") #使用索引找到all,并把all修改为ALL
        li[2][index] = "ALL"
        print(li)

    二十三、写代码,有如下元组,按照要求实现每一个功能
      tu = {'alex','eric','rain'}
      1、计算元组长度并输出
      2、获取元组的第2个元素,并输出
      3、获取元组的第1-2个元素,并输出
      4、请使用for输出元组的元素
      5、请使用for、len、range输出元组的索引
      6、请使用enumrate输出元组元素和序号(序号从10开始)
      解答:
        
    tu = ['alex','eric','rain']
         print(len(tu)) #计算并输出数组长度
         print(tu[1]) #获取元组的第二个元素
        print(tu[0:2]) #获取元组的第1-2个元素
       for i in tu: #for输出元组的元素
        print(i,end=" ")
         print(" ")
        for i in range(len(tu)):
         print(i,end=" ")
        print(" ")
        for k,v in enumerate(tu,10):
        print(k,":",v)
    二十四、实现要求的功能
      tu = ("alex",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
      1、讲述元组的特性
      2、请问tu变量中的第一个元素“alex”是否可被修改?
      3、请问tu变量中的“k2”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“Seven”
      4
    、请问tu变量中的“k3”对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素“seven”
      解答:
        1、具有列表的全部特性,不同的是,元素不能修改
        2、列表list,不
        3、
    tu = ('alex', [11, 22, {'k2': ['age', 'name'], 'k1': 'v1', 'k3': (11, 22, 33)}, 44])
           tu[1][2]["k2"].append("Seven")
           print(tu)
       
      4、元组tuple,不能修改
    二十五、字典
      dic = {'k1':"v1","k2":"v2","k3":[11,22,33]}
      1、请循环输出所有的key
      2、请循环输出所有的value
      3、请循环输出所有的key和value
      4、请在字典中添加一个键值对,"k4":"v4",输出添加后的字典
      5、请在修改字典中"k1"对应的值为“alex”,输出修改后的字典
      6、请在k3对应的值中追加一个元素44,输出修改后的字典
      7、请在k3对应的值的第一个位置插入元素18,输出修改后的字典
      解答:
       
    dic={'k1':"v1","k2":"v2","k3":[11,22,33]}
        for i in dic.keys():
         print(i,end=" ")
        print(" ")
        for j in dic.values():
        print(j,end=" ")
        print(" ")
        for k in dic.items():
        print(k,end=" ")
        print(" ")
        dic["k4"] = "v4"
        print(dic)
        dic["k1"] = "alex"
        print(dic)
        dic["k3"].append(44)
        print(dic)
        dic["k3"].insert(0,18)
        print(dic)
    二十六、转换
      1、将字符串s=“alex”转化成列表
      2、将字符串s=“alex”转换成元组
      3、将列表li=["alex","seven"]转化成元组
      4、将元组tu=('Alex',"seven")转换成列表
      5、将列表li=["alex","seven"]转换成字典且字典的key按照10开始向后递增
      解答:  
       
    s = "alex"
        print(list(s))
        print(tuple(s))
        li = ["alex","seven"]
        print(tuple(li))
        tu = ("alex","seven")
        print(list(li))
        print(" ")
        li_dic = {}
        for k,v in enumerate(li,10):
      li_dic[k] = v
     print(li_dic)
    s = "老男孩"
        print(s.encode("utf-8"))
        print(s.encode().decode("utf-8"))
        print(s.encode("gbk"))
        print(s.encode("gbk").decode("gbk"))
    二十八、求1-100内的所有数的和
        sum = 0
        for i in range(1,101):
      sum += i
    print(i,sum)
    print("sum=",sum)
    二十九、元素分类
      有如下集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66的值保存至第二个key的值中
      即:{'k1':大于66的所有值,'k2':小于66的所有要求}
        
    a = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
         b = []
        c = []
        for i in a:
        if i <= 66:
        b.append(i)
        else:
       c.append(i)
        d = {"k1":b, "k2":c }
        print(d)
    三十、功能要求:
        要求用户输入总资产,例如2000
        显示商品列表,让用户根据序号选择商品,加入购物车
        购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
      goods = [
          {"name":"电脑","price":"1999"},
          {"name":"鼠标","price":"10"},
          {"name":"游艇","price":"20"},
          {"name":"美女","price":"998"}
      ]
      解答:
        
    zong_zi_chan = 0
    zong_zi_chan1 = input("请输入总资产:")
    if zong_zi_chan1.isdigit():
    pass
    else:
    exit("你输入的不是数字类型的资产")
    zong_zi_chan = int(zong_zi_chan1)
    print("你的总资产为:", zong_zi_chan, "元")
    print(" ")
    print("可购买商品有:")
    shang_pin = [
        {"name":"电脑","price":"1999"},
        {"name":"鼠标","price":"10"},
        {"name":"游艇","price":"20"},
        {"name":"美女","price":"998"},
    ]
    shang_pin2 = []
    for i in shang_pin:
    print(i["name"], i["price"], "元")
    print(" ")
    ming = ""
    while True:
    ming_cheng = input("输入y结算/请输入要购买的商品名称挑选商品:")
    if ming_cheng == "y":
    break
    else:
    for i in shang_pin:
    if i["name"] == ming_cheng:
    ming = i["name"]
    else:
    pass
    if ming == ming_cheng:
    pass
    else:
    exit("你输入的商品名称不存在")
    for i in shang_pin:
    if i["name"] == ming_cheng:
    shang_pin2.append(i)
    print("你可以挑选了:", shang_pin2)
    zongjia = 0
    for i in shang_pin2:
    danjia = i["price"]
    zongjia += danjia
    print("现在开始结算共计:", zongjia, "元")
    if zong_zi_chan >= zongjia:
    print("恭喜你购买成功")
    else:
    print("你的余额不足,请充值")
     
     

     
     
     
     
     
     
  • 相关阅读:
    PLSQL13
    01.Spring引入
    验证码重构
    短信验证码登录思路
    记住我 token保存到数据库
    图形验证码及其重构
    个性化用户认证流程
    01.Spring Security初识,表单认证
    堆和栈的区别
    系统分析与设计第二次作业
  • 原文地址:https://www.cnblogs.com/qfdxxdr/p/6406085.html
Copyright © 2011-2022 走看看