常见python入门练习题

 1.执行python脚本的两种方法

 第一种:给python脚本一个可执行的权限,进入到当前存放python程序的目录,给一个x可执行权限,如:有一个homework.py文件   然后运行./homework

 第二种:使用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)) #
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')) #
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)) # 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'\xe8\x80\x81\xe7\x94\xb7\xe5\xad\xa9'
print(n.encode('utf-8').decode('utf-8')) #老男孩 b,将字符串转换为gbk编码的字节,并输出,然后在将该字节转换成gbk编码字符
print(n.encode('gbk')) #b'\xc0\xcf\xc4\xd0\xba\xa2'
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)

python入门练习题1的更多相关文章

  1. python入门练习题2

    1,制作表格 循环提示用户输入:用户名,密码,邮箱(要求用户输入的长度超过20个字符,如果超过则只有前20个字符有效) 如果用户输入q或Q就退出程序,将用户输入的内容以表格形式显示 user_inpu ...

  2. python入门练习题3(函数)

    1.写函数: 如有以下两个列表 l1 = [...] l2 = [] 第一个列表中的数字无序不重复排列,第二个列表为空列表 需求: 取出第一个列表的最小值 放到第二个列表的首个位置, 取出第一个列表的 ...

  3. python入门练习题

    1.使用while循环输入 1 2 3 4 5 6     8 9 10 num = 1 while num<=10: if num ==7: num += 1 continue print(n ...

  4. 老鸟的Python入门教程

    转自老鸟的Python入门教程 重要说明 这不是给编程新手准备的教程,如果您入行编程不久,或者还没有使用过1到2门编程语言,请移步!这是有一定编程经验的人准备的.最好是熟知Java或C,懂得命令行,S ...

  5. Python入门到精通学习书籍推荐!

    1.Python基础教程(第2版 修订版)<Python基础教程(第2版修订版)>包括Python程序设计的方方面面,内容涉及的范围较广,既能为初学者夯实基础,又能帮助程序员提升技能,适合 ...

  6. Python学习 之 Python入门

    第二章 Python入门 2.1 环境安装 2.1.1 下载解释器: py2.7.16 (2020年官方不再维护) py3.6.8 (推荐安装) 1.下载解释器一定去官网下载,https://www. ...

  7. python入门简介

    Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC ...

  8. python入门学习课程推荐

    最近在学习自动化,学习过程中,越来越发现coding能力的重要性,不会coding,基本不能开展自动化测试(自动化工具只是辅助). 故:痛定思痛,先花2个星期将python基础知识学习后,再进入自动化 ...

  9. Python运算符,python入门到精通[五]

    运算符用于执行程序代码运算,会针对一个以上操作数项目来进行运算.例如:2+3,其操作数是2和3,而运算符则是“+”.在计算器语言中运算符大致可以分为5种类型:算术运算符.连接运算符.关系运算符.赋值运 ...

随机推荐

  1. Spark MLlib - LFW

    val path = "/usr/data/lfw-a/*" val rdd = sc.wholeTextFiles(path) val first = rdd.first pri ...

  2. MFC 打开其他程序

    WinExec("程序路径",SW_SHOW);

  3. JS高级程序设计2nd部分知识要点2

    ECMAScript中所有函数的参数都是按值传递的. 5种基本数据类型: Undfined,Null,Boolean,Number,String. 当代码在一个环境中执行时,会创建变量对象的一个作用域 ...

  4. Enum(枚举)示例

    package main; public class EnumTest { /**     * 普通枚举     */    public enum ColorEnum {        red, g ...

  5. springboot中的406(Not Acceptable)错误

    今天遇到一个很奇怪的问题,我用springboot开发时,用ajax请求服务想返回json数据,页面总是报406错误,这个错误使我郁闷了很久,原来我的后台服务是这么写的 看到没value的后面有个.h ...

  6. Dotfuscator自定义规则中的元素选择

    Dotfuscator是专业的.NET程序代码保护软件.是支持规则自定义的,你可以对重命名.程序控制流.字符串加密等等功能自定义规则.在进行规则自定义过程中,可以通过元素的不同选择,满足自己的程序需要 ...

  7. Callback 与 Promise 间的桥梁 —— promisify

    作者:晃晃 本文原创,转载请注明作者及出处 Promise 自问世以来,得到了大量的应用,简直是 javascript 中的神器.它很好地解决了异步方法的回调地狱.提供了我们在异步方法中使用 retu ...

  8. 从Proxy.newInstance出发

    写在前面 本篇博客是基于对动态代理,java的重写,多态特性了解的基础上对于源码的阅读,先提出几个问题 1.从静态代理变成动态代理需要解决两个问题,如何动态实现被代理类的接口并摘取接口中的方法,如果动 ...

  9. jquery中的事件与应用

    mouseover和mouseenter的区别 mouseenter的定义是当鼠标穿过该元素才会被执行,而mouseover是当鼠标穿过该元素或者其子元素皆会触发该事件 mouseleave一般是与m ...

  10. 【xsy2115】Delight for a Cat

    Time Limit: 1000 ms Memory Limit: 512 MB Description ​ 从前,有一只懒猫叫CJB.每个小时,这只猫要么在睡觉,要么在吃东西,但不能一边睡觉一边吃东 ...