一、执行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("\n")
  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("\n")
    for i in range(len(li)): #使用for、len、range输出列表的索引
     print(i,end=" ")
    print("\n")
    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("\n")
    for i in range(len(tu)):
     print(i,end=" ")
    print("\n")
    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("\n")
    for j in dic.values():
    print(j,end=" ")
    print("\n")
    for k in dic.items():
    print(k,end=" ")
    print("\n")
    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("\n")
    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("\n")
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("\n")
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("你的余额不足,请充值")
 
 

 
 
 
 
 
 

python基础题型一的更多相关文章

  1. 【蓝桥杯】非VIP基础题型训练17题 (Python 题解)

    NO.I 基础题型 基础练习汇总 时间 题目 解析 21.12.24 早上 1. A+B问题 练习系统的适应 21.12.24 早上 2. 数组排序 输入输出排序 21.12.24 早上 3. 十六进 ...

  2. python之最强王者(2)——python基础语法

    背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...

  3. Python开发【第二篇】:Python基础知识

    Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  4. Python小白的发展之路之Python基础(一)

    Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...

  5. Python之路3【第一篇】Python基础

    本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...

  6. 进击的Python【第三章】:Python基础(三)

    Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...

  7. 进击的Python【第二章】:Python基础(二)

    Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...

  8. Python之路【第一篇】python基础

    一.python开发 1.开发: 1)高级语言:python .Java .PHP. C#  Go ruby  c++  ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...

  9. python基础之day1

    Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...

随机推荐

  1. Remove Duplicates From Sorted Array leetcode java

    算法描述: Given a sorted array, remove the duplicates in place such that each element appear only once a ...

  2. IntelliJ IDEA的调试方法

    快捷键F9          resume programe       恢复程序 Alt+F10       show execution point    显示执行断点 F8          S ...

  3. 第一阶段——站立会议总结DAY05

    1.昨天做了什么:昨天在个人中心页面上又进行了加工,排版更加规则. 2.今天准备做什么:准备继续学习从网上下载的资料. 3.遇到的困难:界面只能是简陋的,不知道如何办到像微信那样的好看.

  4. 【Java】【1】List的几种排序写法

    前言: 1,实现Comparator接口的类的对象作为sort的入参 2,在方法的局部使用局部类 3,基于第二种方法,局部类改为匿名类 4,使用lamdba表达式->这种形式 5,借助Compa ...

  5. GitHub 翻译之 'Hello-world' 翻译

    https://guides.github.com/activities/hello-world/ 页面翻译 The Hello World project is a time-honored tra ...

  6. Oracle 11.2.0.4.0 Dataguard部署和日常维护(2)-Datauard部署篇

    1. primary库设置dataguard相关参数   1.1. 强制primay库在任何状态下必须记录日志 SYS@userdata>select FORCE_LOGGING from v$ ...

  7. python中list、tuple、dict、set的使用

    1.list列表 list是一种可变的,有序的列表,可以随时添加和删除其中的元素. 其格式如下:list-name=[element1,element2,....] >>> nums ...

  8. 【LeetCode】大数相乘

    1. 模拟手工计算 原理: 将 string 反转存储在 int 数组中,如 A = 17 = (7, 1),B = 25 = (5, 2),亦即幂表示法,幂次是从低位到高位. 作逐位相乘,即 ai ...

  9. Lexicography

    An anagram of a string is any string that can be formed using the same letters as the original. (We ...

  10. ActiveMQ broker和客户端之间的确认

    生产者发送消息:producer ---------> broker broker返回确认:broker ---------> producer 生产者发送同步消息,broker会返回Re ...