整理了31道python3基础练习题

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

当执行xx.py的python会 把编译的结果会保存在位于内存中的Pycodeobject中,python程序运行结束,python解释器则将PyCodeObject写回到pyc文件中。

当python再次执行xx.py时,首先程序会在硬盘中寻找pyc文件,直接载入,否则就重复上面的过程.pyc文件在_pycache_

注:自已理解,我也不是很了解

9、写代码

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

代码如下:

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

user = “seven”

passwd = 123

username = input(“please the enter user:”)

password = int(input(“please the enter passwd:”))

if username == user and password == passwd:

print(“logon successfull”)

else:

print(“logon failed”)

注意:input()输入的任何内容都是字符串

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

代码如下

user = “seven”

passwd = 123

for i in range(3):

username = input(“please the enter user:”)

password = input(“please the enter passwd:”)

if password.isdigit():

password = int(password)

if username == user and passwd == password:

print(“logon successfull”)

break

else:

print(“logon failed”)

else:

print(“logon failed”)

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

代码如下:

user = [“seven”,“alex”]

passwd = 123

for i in range(3):

username = input(“please the enter user:”)

password = input(“please the enter passwd:”)

if password.isdigit():

password = int(password)

if (username in user) and passwd == password:

print(“logon successfull”)

break

else:

print(“logon failed”)

else:

print(“logon failed”)

10、写代码

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

代码如下:

even = 0

count = 1

while count<100:

count+=1

#方法1:得出偶数-奇数+偶数-奇数…

#方法2:求出所有的偶数减去所有的奇数和 (跟小学的换位运算类似)

if count % 2 == 0:

print(“2-100的偶数”,count)

even += count

else:

print(“2-100的奇数”,count)

even -= count

print(even) #得出的结果

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

代码如下:

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

uneven = 0

for i in range(1,100):

#方法1:得出的奇数-偶数+奇数-偶数…

#方法2:求出奇数和,求出偶数和,用奇数和减偶数和

if i % 2 == 1:

print(“1-99的奇数”,i)

uneven += i

else:

print(“1-99的偶数”,i)

uneven -= i

print(uneven) #得出结果

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

代码如下:

count = 0

while count <12:

count += 1

if count == 6:

continue

elif count ==10:

continue

print(count)

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

代码如下:

count = 0

while count < 100:

count += 1

if count % 2 == 1:

print(“1-100的奇数”,count)

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

代码如下:

count = 0

while count < 100:

count += 1

if count % 2 == 0:

print(“1-100的偶数”,count)

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

在python解释器中执行bin(number),把某个数字转换成二进制

二进制的表示:0b (binary)

bin(5) #0b101

bin(10) #0b1010

bin(32) #0b100000

bin(7) #0b111

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

类:用来描述具有相同属性和方法的对象集合,它定义每个对象的属性所共有的属性和方法,对象是类的实例

对象:通过类定义的数据结构实例

假如:人是一个种类,我们自已本身就是类的对象

类是一张图纸(该图纸上画了建筑的模型,以及怎样实现),实际高楼大夏就是图纸

实现的对象,类是抽象的,对象是实际存在的。

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

n1=123

n2=123

n1和n2关系是一样 ,我们可以用id(n1),id(n2)在内存中的地址的表示

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

n1 = 123456

n2 = 123456

n1和n2虽然在值是一样的,在内存地址表示中是不一样的

注:

(在python内部中,内存还有一个(小数字池,字符串池)缓存池,对于经常用的,在python内部编译有一个优化,在这个缓存池,如果重复使用,都是使用同一内存缓存池的内存(地址)空间

如果大于这个缓存池,则会在内存独立开辟新的一个内存(地址)空间

例如

数字的缓存池 -5 至 256 可以用不相同的变量名,相同的值,用id(变量名),看它们的内存地址)

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

n1 = 123456

n2 = n1

n2 是 n1 值的引用 它们在内存的地址是一样和内容也是一样的,只是不同命名变量的赋值:

赋值不会开辟新的内存空间,它只是复制了新对象的引用,如果n1的值发生改变,n2还是原来的改变之前值

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

n1= 5

print(n1.bit_length())

#结果

3

17、布尔值分别有什么?

True False

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

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

a = “alex”

b = a.capitalize()

print(a)

print(b)

请写出输出结果:

alex #a

Alex #b

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

name = " aleX"

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

print(name.strip())

#结果

aleX

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

print(name.startswith(“al”))

#结果

False

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

print(name.endswith(“X”))

#结果

True

d.将 name 变量对应的值中的 “ l” 替换为 “ p”,并输出结果

print(name.replace(“l”,“p”))

#结果

apeX

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

print(name.split(“l”))

#结果

[‘\ta’, ‘eX’] #\t 表示使用了tab

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

print(type(name.split(“l”)))

#结果

<class ‘list’> #列表

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

print(name.upper())

ALEX

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

print(name.lower())

#结果

alex

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

print(name[2])

#结果

l

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

print(name[:3])

#结果

al

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

print(name[-2:])

#结果

eX

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

print(name.index(‘e’))

#结果

3

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

字符串可以迭代

代码如下:

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

hobby = “一条龙”

for i in hobby:

print(i)

显示结果如下:

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

print(“_”.join(li))

#结果

alex_eric_rain

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

li = [‘alex’,‘eric’,‘rain’]

a.计算列表长度并输出

print(len(li))

#结果

3

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

li.append(“seven”)

print(li)

#结果

[‘alex’, ‘eric’, ‘rain’, ‘seven’]

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

li.insert(0,“Tony”)

print(li)

#结果

[‘Tony’, ‘alex’, ‘eric’, ‘rain’]

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

li[1] = “Kelly”

print(li)

#结果

[‘alex’, ‘Kelly’, ‘rain’]

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

第一种:得出“eric”索引,通过索引来删除该值

第二种:直接删除"eric"

del li[1];print(li) #结果[‘alex’, ‘rain’]

li.pop(1);print(li) #结果[‘alex’, ‘rain’]

li.remove(“eric”)

print(li)

#结果

[‘alex’, ‘rain’]

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

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

print(li.pop(1));print(li)

#结果

eric

[‘alex’, ‘rain’]

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

print(li.pop(2));print(li)

#结果

rain

[‘alex’, ‘eric’]

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

del li[1:3]

print(li)

#结果

[‘alex’]

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

li.reverse()

print(li)

#结果

[‘rain’, ‘eric’, ‘alex’]

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

#3种方法,建议用第三种

1)for

for i in li:

#list.index()列表有相同元素的,只是的获取(相同元素中的第一个元素)的索引

print(li.index(i),i) #如果列表内有相同的元素,不建议使用此方法

#结果

0 alex

1 eric

2 rain

2)len

zero = []

for i in li:

print(len(zero),i)

zero.append(i)

#结果

0 alex

1 eric

2 rain

3)range

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

for i in range(len(li)):

print(i,li[i])

#结果

0 alex

1 eric

2 rain

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

for index,i in enumerate(li,start=100):

print(index,i)

#结果

100 alex

101 eric

102 rain

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

for i in li:

print(i)

#结果

alex

eric

rain

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

li=[“hello”,‘seven’,[“mon”,[“h”,“kelly”],‘all’],123,446]

a. 请输出 “Kelly”

print(li[2][1][1])

#结果

kelly

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

li[2][2] = “ALL”

print(li)

#结果

[‘hello’, ‘seven’, [‘mon’, [‘h’, ‘kelly’], ‘ALL’], 123, 446]

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

tu=(‘alex’,‘eric’,‘rain’)

a.计算元组长度并输出

print(len(tu))

#结果

3

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

print(tu[1])

#结果

eric

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

print(tu[0:2])

#结果

(‘alex’, ‘eric’)

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

for i in tu:

print(i)

#结果

alex

eric

rain

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

#跟22题j列表用法类似

for i in range(len(tu)):

print(i,tu[i])

#结果

0 alex

1 eric

2 rain

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

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

for index,i in enumerate(tu,start=10):

print(index,i)

#结果

10 alex

11 eric

12 rain

25、有如下变量,请实现要求的功能

tu=(“alex”,[11,22,{“k1”:‘v1’,“k2”:[“age”,“name”],“k3”:(11,22,33)},44])

a.讲述元祖的特性

元祖和列表类似都是有序的从0开始
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

for i in tu:

print(i)

#结果

alex

eric

rain

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

#跟22题j列表用法类似

for i in range(len(tu)):

print(i,tu[i])

#结果

0 alex

1 eric

2 rain

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

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

for index,i in enumerate(tu,start=10):

print(index,i)

#结果

10 alex

11 eric

12 rain

25、有如下变量,请实现要求的功能

tu=(“alex”,[11,22,{“k1”:‘v1’,“k2”:[“age”,“name”],“k3”:(11,22,33)},44])

a.讲述元祖的特性

元祖和列表类似都是有序的从0开始
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-eBpWGdPa-1713792514433)]

[外链图片转存中…(img-iBI1jlzW-1713792514435)]

[外链图片转存中…(img-eu1GD3IJ-1713792514436)]

[外链图片转存中…(img-G3yygcdK-1713792514436)]

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值