自学内容网 自学内容网

python 语法学习 day9

一.编程题错题反思
    1.删除列表中的奇数(易错题)
num = input().split()
flag = 0
for i in range(len(num)):
    num[i] = int(num[i])
for i in range(len(num)):
    if flag != 0:
        i -= flag
    if num[i] % 2 != 0:
        num.remove(num[i])
        flag += 1
print(num)

易错点:
删除元素后,会导致遍历错位

相关总结:
a = 4
for i in range(a):
    a = 0
    print(i)
print(a)
#输出:
#0
#1
#2
#3
#0
#range只执行一次
-------------------
test_list = [1, 2, 3, 4, 5]
print(test_list)
for ele in test_list:
    if ele == 3 or ele == 4:
        test_list.remove(ele)
    else:
        print(ele)
print(test_list)
输出:
[1, 2, 3, 4, 5]
1
2
5
[1, 2, 4, 5]

------------
a = 4
for i in range(a):
    if i == 0:
        i =99
    print(i)
#输出:
#99
#1
#2
#3
结论:每次i的值都会刷新
-----------------

一.判断题错题反思
    1.语句b = 1,2,3没有语法错误
        b = 1,2,3
        print(type(b)) #<class 'tuple'>
        print(b) #(1, 2, 3)
    3.tuple(x):可以用于生成元组,输入的参数可以是任何组合数据类型
    4.元组是不可变的,不支持列表对象的inset()、remove()等方法,也不支持del命令删除其中的元素,但可以使用del命令删除整个元组对象。
    5.创建只包含一个元素的元组时,必须在元素后面加一个逗号,例如(3,)。
    8.无效的索引在列表/元组等进行切片操作时会引起异常。
    9.列表是动态数据结构,因此可以添加元素或者删除已有的元素。
    13.要计算列表中数值的平均值,第一步是获取列表中数值的总和
    18.列表和元组可以包含不同的数据类型
    21.在循环中continue语句的作用是退出循环的当前迭代(在循环结构中,continue语句的作用是结束本次循环,而不是结束整个循环的执行)
    22.
i = 3
while i>0:
    print(i)
    i -= 1
else:
    print('!')
#3
#2
#1
#!
while在不触发break的情况下,会执行else,否则不会执行else,for循环同理

二.编程题错题反思
    1.字符串异常处理
异常捕捉:
try:
    可能存在异常的代码
except 错误类型1:
    代码块1
except 错误类型2:
    代码块2
except:  #若发生的异常类型与上面的异常类型都不符合则执行
    代码块x
else:#无异常执行
    代码块y
finally:#无/有 异常都执行
    代码块z
注意:
try:
    a = [1,2,3]
    print(a[8])
    a[1] = a[2]/0

except IndexError:print("索引超出范围")

except ZeroDivisionError:
    print("除数不能为0")
#输出:索引超出范围
#结论:只能捕获到第一个异常
 


原文地址:https://blog.csdn.net/2303_79973545/article/details/140442994

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!