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

交互方式:命令行

Windows操作系统下,快捷键cmd,输入“python”启动交互式python解释器。

文件方式:python文件

  

2、  简述位、字节的关系

一个二进制位是计算机里最小表示单元。

一个字节是计算机里最小存储单元。

二进制位=8bits=1Byte=1字节

  

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

美国制定了一套字符编码,对英语字符与二进制位之间的关系,做了统一规定。这被称为ASCII码。

Unicode是国际组织制定的可以容纳世界上所有文字和符号的字符编码方案。将世界上所有的符号都纳入其中。每一个符号都给予一个独一无二的编码,
那么乱码问题就会消失。这就是Unicode,就像它的名字都表示的,这是一种所有符号的编码。 互联网的普及,强烈要求出现一种统一的编码方式。UTF-8就是在互联网上使用最广的一种Unicode的实现方式。
UTF-8最大的一个特点,就是它是一种变长的编码方式。它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。UTF-8中,英文占一个字节,中文占3个字节。 GBK: 汉字国标扩展码,基本上采用了原来GB2312-80所有的汉字及码位,并涵盖了原Unicode中所有的汉字20902,总共收录了883个符号,
21003个汉字及提供了1894个造字码位。由于GBK同时也涵盖了Unicode所有CJK汉字,所以也可以和Unicode做一一对应。windows默认编码GBK,中文占2个字节。

  

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

utf-8中,一个英文占一个字节,一个中文占3个字节,此处“李杰”占6个字节。

GBK中一个中文占2个自己,此处“李杰”占4个字符。

  

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

python单行注释用#,多行注释用三引号“‘    ’”。

  

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

声明变量需先赋值。变量名可以包含字母、数字和下划线_。变量不能以数字开头。

  

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

id(变量名)  #查看内存地址。

  

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

Python这样保存字节码是作为一种启动速度的优化。下一次运行程序时,如果你在上次保存字节码之后没有修改过源代码的话,Python将会加载.pyc文件并跳过编译这个步骤。
当Python必须重编译时,它会自动检查源文件和字节码文件的时间戳:如果你又保存了源代码,下次程序运行时,字节码将自动重新创建。

  

 
9、写代码

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

username=input("username:")
passwd=input("passwd:")
if username=="seven" and passwd=="123":
print("登录成功!")
else:
print("登录失败!")

  


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

count=0
while True:
username = input("username:")
passwd = input("passwd:")
if username=="seven" and passwd=="123":
print("登录成功!")
break
count += 1
if count==3:
print("登录失败!")
break

  


10、写代码

a.  使用 while 循环实现输出 2  ­‐  3  +  4  ‐  5  +  6  ...  +  100  的和

i=2
total_1=0
total_2=0
while i<=100:
if i%2==0:
total_1+=i
else:
total_2+=-i
i+=1
total=total_1+total_2
print(total)

  

b.  使用 for 循环和 range 实现输出  1 - 2  +  3  -­ 4  +  5  -­ 6  ...  +  99  的和

total_1=0
total_2=0
for i in range(100):
if i%2==1:
total_1+=i
else:
total_2+=-i
total=total_1+total_2
print(total)

  

c.  使用 while 循环实现输出  1,2,3,4,5,   7,8,9,    11,12

i=1
while True:
if i>=1 and i<=5:
print(i)
if i>=7 and i<=9:
print(i)
if i==11 or i==12:
print(i)
i+=1

  

d.  使用 while 循环实现输出  1‐100  内的所有奇数

i=1
while i<=100:
if i%2==1:
print(i)
i+=1

  


e.  使用 while 循环实现输出  1‐100  内的所有偶数

i=1
while i<=100:
if i%2==0:
print(i)
i+=1

  


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

数字5:   00000101

数字10:  00001010

数字32: 00100000

数字7:  00000111

  

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

类是具有相同数据结构(属性)和相同操作功能(行为)对象的集合。对象就是符合某种类所产生的一个实例。

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

n1  =  123

n2  =  123

n1和n2使用同一内存地址

python内部的优化: -5到157之间的赋值变量都是相同的地址

  

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

n1  =  123456

n2  =  123456

n1和n2使用不同的内存地址

python内部的优化: -5到157之间的赋值变量都是相同的地址

  

 

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

n1  =  123456

n2  =  n1

使用同一内存地址,只是变量名不同

  

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

 3个二进制位表示,00000101

  

17、布尔值分别有什么?

True和False

在二进制中的0、1。很多情况下,0被认为是False,所有的非0均被认为是True。

  

 

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

a  =  "xyp"

b  =  a.capitalize()

print(a)

print(b)

请写出输出结果:xyp   Xyp  #capitalize() 首字母大写其他字母小写

  

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

name  =  "  aleX"

  

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

name="  aleX"
print(name.strip())

  

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

name="  aleX"
if name[0:2]=="al":
print("True")
else:
print("False") 输出False
方法二:print(name.startswith("al")) False

  

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

name="  aleX"
if name[-1]=="X":
print("True")
else:
print("False")
输出True 方法二:print(name.endswith("X")) True

  


d.将 name 变量对应的值中的  “l”  替换为  “p”,并输出结果
name="  aleX"
print(name.replace("l","p"))
输出:apeX

  


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

name="  aleX"
print(name.split("l"))
输出:[' a', 'eX']

  


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

name.split("l")  #把字符用“l”分割成列表list

  

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

name="  aleX"
print(name.upper())
输出: ALEX

  

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

name="  aleX"
print(name.lower())
输出: alex

  

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

name=" aleX"
print(name[1])
输出:a

  

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

name=" aleX"
print(name[0:3])
输出: al

  


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

name=" aleX"
print(name[-2:])
输出:eX

  

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

name=" aleX"
print(name.index("e"))
输出:3

  


 

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

name="aleX"
for i in range(len(name)):
print(name[i])

  

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

li=['alex','eric','rain']
print('_'.join(li))
输出:alex_eric_rain

  

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

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

  

a. 计算列表长度并输出

li=['alex','eric','rain']
print(len(li))
输出:3

  

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

li=['alex','eric','rain']
li.append('seven')
print(li)
输出:['alex', 'eric', 'rain', 'seven']

  

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

li=['alex','eric','rain']
li.insert(0,'tony')
print(li)
输出:['tony', 'alex', 'eric', 'rain']

  

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

li=['alex','eric','rain']
li[1]="kelly"
print(li)
输出:['alex', 'kelly', 'rain']

  

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

li=['alex','eric','rain']
li.pop(1)
print(li)
输出:['alex', 'rain'] li=['alex','eric','rain']
li.remove("eric")
print(li)
输出:['alex', 'rain']

  

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

li=['alex','eric','rain']
print(li[1])
li.pop(1)
print(li)
输出:eric
['alex', 'rain']

  

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

li=['alex','eric','rain']
li.pop(2)
print(li)
输出:['alex', 'eric']

  

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

li=['tony','alex','eric','rain','seven']
del li[1:4]
print(li)
输出:['tony', 'seven']

  

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

li=['tony','alex','eric','rain','seven']
li.reverse()
print(li)
输出:['seven', 'rain', 'eric', 'alex', 'tony']

  

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

li=['tony','alex','eric','rain','seven']
for i in range(len(li)):
print(li.index(li[i]),li[i])
输出:0 tony
1 alex
2 eric
3 rain
4 seven

  

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

li=['alex','eric','rain']
for i,j in enumerate(li):
print(i+100,j)
输出:100 alex
101 eric
102 rain

  

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

li=['tony','alex','eric','rain','seven']
for i in range(len(li)):
print(li[i])
输出:tony
alex
eric
rain
seven

  

23、写代码,有如下列表,请按照功能要求实现每一个功能
li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]

a. 请输出 “Kelly”

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
print(li[2][1][1])

  

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

li = ["hello", 'seven', ["mon", ["h", "kelly"], 'all'], 123, 446]
print(li[2][2].upper())

  

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

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

a. 计算元组长度并输出

tu = ('alex', 'eric', 'rain')
print(len(tu))
输出:3

  

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

tu = ('alex', 'eric', 'rain')
print(tu[1])
输出:eric

  

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

tu = ('alex', 'eric', 'rain')
print(tu[0:2])
输出:('alex', 'eric')

  

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

tu = ('alex', 'eric', 'rain')
for i in range(len(tu)):
print(tu[i])
输出:alex
eric
rain

  

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

tu = ('alex', 'eric', 'rain')
for i in range(len(tu)):
print(i,tu[i])
输出:0 alex
1 eric
2 rain

  

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

tu = ('alex', 'eric', 'rain')
for i,j in enumerate(tu):
print(i+10,j)
输出:10 alex
11 eric
12 rain

  

25、有如下变量,请实现要求的功能
tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
a. 讲述元祖的特性

和列表一样,但元组是只可读的,不可修改。

  

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

不可被修改,元组明确规定存储的数据不应该被修改,强制变更list后可以进行修改。

  

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

k2为列表,可以被修改。

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
tu[1][2]["k2"].append("seven")
print(tu)
输出:('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'seven'], 'k3': (11, 22, 33)}, 44])

  

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

k3为元组,不可以被修改。以下为强制修改:

tu = ("alex", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3": (11,22,33)}, 44])
k3为元组部分里的字典中的key
tu[1][3]["k3"]=list(tu[1][3]["k3"])
tu[1][3]["k3"].append("seven")
tu[1][3]["k3"]=tuple(tu[1][3]["k3"])
print(tu)

  

26、字典
dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
a. 请循环输出所有的key

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for key in dic.keys():
print(key)
输出:k1
k2
k3

  

b. 请循环输出所有的value

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for value in dic.values():
print(value)
输出:v1
v2
[11, 22, 33]

  

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

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
for i ,j in dic.items():
print(i,j)
输出:k1 v1
k2 v2
k3 [11, 22, 33]

  

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

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k4"]="v4"
print(dic)
输出:{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33], 'k4': 'v4'}

  

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

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k1"]="alex"
print(dic)
输出:{'k1': 'alex', 'k2': 'v2', 'k3': [11, 22, 33]}

  

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

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k3"].append(44)
print(dic)
输出:{'k1': 'v1', 'k2': 'v2', 'k3': [11, 22, 33, 44]}

  

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

dic = {'k1': "v1", "k2": "v2", "k3": [11,22,33]}
dic["k3"].insert(0,18)
print(dic)
输出:{'k1': 'v1', 'k2': 'v2', 'k3': [18, 11, 22, 33]}

  

27、转换
a. 将字符串 s = "alex" 转换成列表

s="alex"
s=list(s)
print(type(s))
输出:<class 'list'>

  

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

s="alex"
s=tuple(s)
print(type(s))
输出:<class 'tuple'>

  

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

li=["alex","seven"]
li=tuple(li)
print(type(li)) 输出:<class 'tuple'>

  

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

tu = ('Alex', "seven")
tu=list(tu)
print(type(tu))
输出:<class 'tuple'>

  


d. 将列表 li = ["alex", "seven"] 转换成字典且字典的key按照 10 开始向后递增
li = ["alex", "seven"]
dir={}
a=10
for i in li:
dir[a]=i
a+=1
print (dir)
输出:{10: 'alex', 11: 'seven'}

  

28、转码
n = "老男孩"
a. 将字符串转换成utf-8编码的字节,并输出,然后将该字节再转换成utf-8编码字符串,再输出

n="老男孩"
n1=n.encode("utf-8")
print(n1)
n2=n1.decode("utf-8")
print(n2)
输出:b'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'
老男孩

  

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

n="老男孩"
n1=n.encode("gbk")
print(n1)
n2=n1.decode("gbk")
print(n2)
输出:b'\xc0\xcf\xc4\xd0\xba\xa2'
老男孩
更多编码问题链接:http://www.cnblogs.com/yuanchenqi/articles/5956943.html

  

29、求1-100内的所有数的和

sum=0
for i in range(101):
sum+=i
print(sum)
输出:5050

  

30、元素分类
有如下值集合 [11,22,33,44,55,66,77,88,99,90],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}

tu=[11,22,33,44,55,66,77,88,99,90]
n1=[]
n2=[]
dir={}
for i in tu:
if i >66:
n1.append(i)
else:
n2.append(i)
dir["k1"]=n1
dir["k2"]=n2
print(dir)
输出:{'k1': [77, 88, 99, 90], 'k2': [11, 22, 33, 44, 55, 66]}

  

 



python(9)- python基础知识刷题的更多相关文章

  1. Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现

    Python进阶----计算机基础知识(操作系统多道技术),进程概念, 并发概念,并行概念,多进程实现 一丶进程基础知识 什么是程序: ​   程序就是一堆文件 什么是进程: ​   进程就是一个正在 ...

  2. Python开发(一):Python介绍与基础知识

    Python开发(一):Python介绍与基础知识 本次内容 一:Python介绍: 二:Python是一门什么语言 三:Python:安装 四:第一个程序 “Hello world” 五:Pytho ...

  3. 基于Python的Flask基础知识

    Flask简介 Flask 是一个使用 Python 编写的轻量级 Web 应用程序框架.Armin Ronacher带领一个名为Pocco的国际Python爱好者团队开发了Flask. 下面我们简单 ...

  4. Python第一章-基础知识

    第一章:基础知识 1.1 安装python.     直接官网下载最新的python然后默认安装就可以了,然后开始菜单里找到pyhton *.*.* Shell.exe运行python的交互shell ...

  5. Python音频处理基础知识,这不是轻轻松松~~~

    大家好鸭,我是小熊猫 咱今天来讲一讲音频处理的基础知识上才艺~~~ 1.声音的基础 2.python读取.wav音频 欢迎加入白嫖Q群:660193417### import wave import ...

  6. python这不是有手就行?——python音频处理基础知识

    大家应该都知道声音的基础吧? 啊不知道当我没说吧~~~ 1.声音的基础 2.python读取.wav音频 Python学习交流Q群:660193417#### import wave import s ...

  7. python第一课--基础知识

    python简介 Python是一种计算机程序设计语言.是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的.大型项目的 ...

  8. Python之进程 基础知识 上

    阅读目录 理论知识 操作系统背景知识 什么是进程 进程调度 进程的并发与并行 同步\异步\阻塞\非阻塞 进程的创建与结束 在python程序中的进程操作 multiprocess模块 进程的创建和mu ...

  9. Python开发——1.基础知识

    一.开发 开发语言分为高级语言和低级语言 高级语言:Python.Java.PHP.C++.C#.GO.Ruby等:低级语言:C.汇编语言. 高级语言对应的是字节码,是将代码编译成字节码,然后交给机器 ...

随机推荐

  1. Django Rest Framework 教程及API向导

    Django Rest Framework 教程及API向导. 一.请求(Request)REST_FRAMEWORK 中的 Request 扩展了标准的HttpRequest,为 REST_FRAM ...

  2. 【转】Unity协程(Coroutine)原理深入剖析

    Unity协程(Coroutine)原理深入剖析 By D.S.Qiu 尊重他人的劳动,支持原创,转载请注明出处:http.dsqiu.iteye.com 记得去年6月份刚开始实习的时候,当时要我写网 ...

  3. JDBC 学习笔记(一)—— JDBC 基础

    1. 什么是 JDBC JDBC,Java Database Connectivity(Java 数据库连接),是一组执行 SQL 语句的 Java API. JDBC,是 Java SE(Java ...

  4. 【Luogu】P2962灯Lights(折半搜索)

    题目链接 本意是想学高斯消元,然后一顿乱搞之后学到了一个神奇的搜索方式叫做折半搜索. qwq 就是我先dfs前二分之n个点,然后再dfs后二分之n个点. 然后我dfs后二分之n个点的时候判断一下第一次 ...

  5. BZOJ1227 [SDOI2009]虔诚的墓主人 【树状数组】

    题目 小W 是一片新造公墓的管理人.公墓可以看成一块N×M 的矩形,矩形的每个格点,要么种着一棵常青树,要么是一块还没有归属的墓地.当地的居民都是非常虔诚的基督徒,他们愿意提前为自己找一块合适墓地.为 ...

  6. 如何在github上寻找漏洞

    https://github.com/search?p=2&q=eval%28%24_POST[&ref=searchresults&type=Code   1.$_GET s ...

  7. python 面向对象与类的基本知识

    一  什么是面向对象,面向对象与类的关系. 面向对象的程序设计是用来解决扩展性. 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象 ...

  8. Mysql基本操作语句【重要】

    一.对数据库的操作 1.  创建一个库 create database 库名 create database 库名 character set 编码

  9. linux .so .a .o 文件

    linux下文件的类型是不依赖于其后缀名的,但一般来讲:.o,是目标文件,相当于windows中的.obj文件.so 为共享库,是shared object,用于动态连接的,和dll差不多.a为静态库 ...

  10. AC日记——联合权值 洛谷 P1351

    题目描述 无向连通图G 有n 个点,n - 1 条边.点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 .图上两点( u , v ) 的距离定义为u 点到v 点的最短距离. ...