python100day - 04day数字和列表

python100day - 04day数字和列表

一.数字的相关类型

python中和数字相关的类型:int(整型)、float(浮点型)、bool(布尔)、complex(复数)
1.int(整型) - 所有整数对应的类型

"""
python中整数支持4种写法:十进制数、二进制数、八进制数和十六进制数
十进制数:基数是0~9, 表示的时候直接写:98, 123,1567
二进制数:基数是0和1,表示的时候加前缀0b/0B:0b1100,0B1101
八进制数: 基数是0~7,表示的时候加前缀0o/0O:0o625,0o127
十六进制数:基数是0~9,a~f(A~F),表示的时候加前缀0x/0X:0x12, 0x3f, 0xabc
"""
num1 = 1923
num2 = 0b1011
num3 = 0o625
num4 = 0x23
print(type(num1), type(num2), type(num3), type(num4))
1)python如果要获取一个其他进制数对应的等值的十进制数是多少,直接用print打印就可以
print(num1, num2, num3, num4)   # 1923 11 405 687
2)bin(数字) - 将其他进制的数转换成二进制形式的数
print(bin(100))   # 0b1100100
print(bin(0o56))  # 0b101110
3)oct(数字) - 将其他进制的数转换成八进制形式的数
print(oct(100))   # 0o144
4)hex(数字) - 将其他进制的数转换成十六进制形式的数
print(hex(100))   # 0x64
print(hex(0o5263))  # 0xab3
print(hex(255))   # 0xff
# num3 = 0b1021    # 报错!二进制数中不能出现0、1以外任何数字
2.float(浮点型) - 所有小数对应的类型
"""
1)支持科学技术法:xey - x乘以10的y次方
2)计算机在存储浮点数的时候不能存储绝对相等的值
"""
num5 = 1.23e7
num6 = 3.25e-4
# 1.92 - 1.919999999999999999
print(1.23 == 1.23)
print(23 == 45)
3.bool(布尔)
"""
bool类型的本质就是一种特殊的整型, 其中True就是1,False就是0
"""
print(1+True)   # 2
print(1+False, False*23)  # 1 0
4.complex(复数)
"""
由实部和虚部组成的数就是复数,数学中虚数单位是i,python中虚数单位是j: A+Bj
注意:如果虚部是1,这个1不能省

1)python中的复数直接支持数学的复数运算
"""
num7 = 10+20j
num8 = 3+1j
print(type(num7))    # <class 'complex'>

print(num7 + num8)    # (13+21j)
print(num7 * num8)    # (10+70j)
# print(num7 / num8)

二.列表

1.什么是列表(list)
"""
列表是容器型数据类型(序列), 将[]作为容器的标志,里面多个元素用逗号隔开:[元素1,元素2,元素3,...]
列表是可变(元素的个数和值可变,支持增删改);列表是有序(元素在容器中有顺序,支持下标操作)
任何类型的数据都可以作为列表的元素
"""
# 1)空列表:[]
list1 = []
print(list1, type(list1))  # [] <class 'list'>

# 2)元素是任何类型的数据
list2 = [19, 'abc', True, [1, 2], 'abc']
print(list2)

# 3)列表命名规范:英语单词的复数形式或者在后面加list
scores = [89, 78, 67, 34, 99, 56]
score_list = [78, 23, 98]

2.列表元素的增删改查
1)查 - 获取元素
# a. 获取单个元素
"""
语法:
列表[下标]  -  获取指定下标对应元素

说明:
1.列表  -  想要获取元素对应的列表
2.[]   -  固定写法
3.下标  -  又叫索引; 是元素在列表中位置信息对应的标号,每个元素对应的下标又两种:从0开始依次增加(0表示第一个,1表示第二个,...);从-1开始依次减小(-1表示倒数第一个,-2表示倒数第2个,...)
"""
movies = ['八佰', '花木兰', '信条', '星际穿越', '熊出没', '肖生克的救赎']
print(movies[1])   # 花木兰
print(movies[-5])  # 花木兰
print(movies[-2])  # 熊出没

# 注意:下标不能越界
# print(movies[10])  # IndexError: list index out of range

# b.遍历 - 将列表中的元素一个一个的全部取出来
# 直接遍历获取元素
"""
for 变量 in 列表:
    循环体

这儿的变量获取到的就是列表中的元素
"""
print('=========遍历1==========')
for x in movies:
    print(x)

# c.遍历同时获取列表元素和元素对应的下标
"""
for 变量1,变量2 in enumerate(列表):
    循环体
    
变量1获取到的是每个元素的下标,变量2获取到的是每个元素
"""
print('===============遍历2==============')
for x, y in enumerate(movies):
    print('x:', x, 'y:', y)

# d.通过遍历列表中每个元素的下标来间接的遍历元素
print('===============遍历3==============')
for x in range(0, 6, 2):
    print(movies[x])

print('===============遍历4==============')
for x in range(-1, -7, -1):
    print(movies[x])

# 练习:用一个列表保存一个班6个学生的成绩,计算整个班学生的总成绩
scores = [78, 67, 52, 78, 99, 23]
total_score = 0
for s in scores:
    total_score += s
print(total_score)
2)增 - 添加元素
# a. 列表.append(元素)   -  在指定的列表的最后添加指定元素
hero_list = ['鲁班7号', '亚索', '卢锡安']
print(hero_list)   # ['鲁班7号', '亚索', '卢锡安']

hero_list.append('妲己')
print(hero_list)   # ['鲁班7号', '亚索', '卢锡安', '妲己']

hero_list.append('瑞兹')
print(hero_list)   # ['鲁班7号', '亚索', '卢锡安', '妲己', '瑞兹']

# b.列表.insert(下标, 元素)  -  在列表指定下标`前`插入指定元素
hero_list = ['鲁班7号', '亚索', '卢锡安', '妲己', '瑞兹']
hero_list.insert(1, '盲僧')
print(hero_list)   # ['鲁班7号', '盲僧', '亚索', '卢锡安', '妲己', '瑞兹']

hero_list.insert(0, '石头人')
print(hero_list)   # ['石头人', '鲁班7号', '盲僧', '亚索', '卢锡安', '妲己', '瑞兹']
3)删 - 删除元素
# a.del 列表[下标]  -  删除列表中指定下标对应的元素
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿', '周瑜']
del masters[-2]
print(masters)    # ['貂蝉', '小乔', '甄姬', '王昭君', '周瑜']

# b.列表.remove(元素)  -  删除列表中指定的元素
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿', '周瑜']
masters.remove('小乔')
print(masters)   # ['貂蝉', '甄姬', '王昭君', '上官婉儿', '周瑜']

# 注意:如果元素不存在会报错
# masters.remove('庄周')   # ValueError: list.remove(x): x not in list

# 注意:如果被删除的元素有多个,只删最前面的那一个
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿', '周瑜', '甄姬']
masters.remove('甄姬')
print(masters)   # ['貂蝉', '小乔', '王昭君', '上官婉儿', '周瑜', '甄姬']

# c.
# 列表.pop()  -  取出列表最后一个元素
# 列表.pop(下标)  -  取出列表中指定下标对应的元素
masters = ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿', '周瑜', '甄姬']

x = masters.pop()
print(masters, x)   # ['貂蝉', '小乔', '甄姬', '王昭君', '上官婉儿', '周瑜'] 甄姬

x = masters.pop(1)
print(masters, x)   # ['貂蝉', '甄姬', '王昭君', '上官婉儿', '周瑜'] 小乔
4)改 - 修改元素的值
# 列表[下标] = 新值  -  将列表指定下标对应的元素修改成新值
teleplays = ['人民的名义', '甄嬛传', '纸牌屋', '绝命毒师', '请回答1988']
teleplays[0] = '山城棒棒军'
print(teleplays)   # ['山城棒棒军', '甄嬛传', '纸牌屋', '绝命毒师', '请回答1988']

teleplays[-2] = '生活大爆炸'
print(teleplays)    # ['山城棒棒军', '甄嬛传', '纸牌屋', '生活大爆炸', '请回答1988']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中,异常处理是非常重要的一部分。当程序运行时如果出现错误,如果没有异常处理,程序就会崩溃。为了避免这种情况,Python提供了异常处理机制。 在Python中,异常处理语句使用 `try` 和 `except` 关键字来实现。`try` 语句块中包含可能会发生异常的代码,如果这段代码出现了异常,则会跳转到 `except` 语句块中执行异常处理代码。 下面是一个简单的例子: ```python try: num = int(input("请输入一个整数:")) print(10/num) except ZeroDivisionError: print("除数不能为0") except ValueError: print("输入的不是整数") ``` 在上面的代码中,我们尝试将用户输入的字符串转换为整数,并将其用作除数计算 10/num。如果用户输入的是 0,则会触发 ZeroDivisionError 异常。如果用户输入的不是整数,则会触发 ValueError 异常。如果发生异常,则会跳转到对应的 except 语句块中执行处理代码。 除了可以指定具体的异常类型,也可以使用 `except Exception` 来捕获所有异常。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) ``` 在上面的代码中,如果发生任何异常,都会跳转到 `except` 语句块中执行处理代码,并将异常信息打印出来。 除了 `try` 和 `except`,还有 `finally` 关键字,它指定的代码块无论是否发生异常都会执行。例如: ```python try: num = int(input("请输入一个整数:")) print(10/num) except Exception as e: print("发生异常:", e) finally: print("程序执行完毕") ``` 在上面的代码中,无论是否发生异常,都会执行 `finally` 中的代码,即输出“程序执行完毕”。 总之,在Python中,异常处理是非常重要的一部分,它可以有效避免程序崩溃,提高程序的健壮性和可靠性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值