day4 數字型別和列表基礎

2021-10-08 14:29:52 字數 4991 閱讀 6058

num = 23

num2 = 0b10101 # 在數字前加0b/0b表示二進位制數(二進位制數中只能有0和1兩個基數)

print(num2)

num8 = 0o76 # 在數字前加0o/0o表示八進位制數(八進位制的基數:0-7)

num16 = 0x3f # (十六進製制數的基數:0-9,a-f/a-f)

print(num16, type(num16))

進製轉換

print(num8) # print(其他進製數) - 檢視對應的十進位制數

print(bin(89)) # 0b1011001

print(oct(89)) # 0o131

print(hex(89)) # 0x59

int的型別轉換: int(資料)

print(int(2.34)) # 2

print(int(1.999)) # 1

print(int(-2.4)) # -2 (浮點數轉換成整數的時候只是單純的儲存整數部分)

print(int(10+3j)) # can』t convert complex to int (複數不能轉換成int型別)

print(int(true)) # 1

print(int(false)) # 0

print(int(『abc』)) # valueerror: invalid literal for int() with base 10: 『abc』 print(int(『12.5』)) # valueerror: invalid literal for int() with base 10: 『12.5』

print(int(『34』)) # 34

print(int(』-120』)) # -120

print(int(『0b110』)) # valueerror: invalid literal for int() with base 10: 『0b110』

print(int(『0b110』, base=2)) # 6 (base控制的是進製,預設是10)

f1 = 12.4

f2 = 3e4

型別轉換

print(float(19)) # 19.0

print(float(3+4j)) # typeerror: can』t convert complex to float

print(float(true)) # 1.0

print(float(『12b23』)) # valueerror: could not convert string to float: 『12b23』

print(float(『12.8』)) # 12.8

print(float(『67』)) # 67.0

print(float(『2e8』)) # 200000000.0

c1 = 10-2j

print(type(c1))

c2 = -3j # (如果實部是0可以省)

c3 = 3+j # nameerror: name 『j』 is not defined (虛部值如果是1,1不能省略)

c3 = 3+1j

print(1j * 1j) # (-1+0j)

python中的複數直接支援複數的數**算

print(c1 + c3) # 13-1j

print(c1 * c3) # (32+4j)

print(c1 / c3)

型別轉換

print(complex(10)) # (10+0j)

true本質就是1, false就是0

型別轉換 (所有型別的資料都可以轉換成布林)

所有的0值和空值都會轉換成 false, 其他都是true

「」"列表是容器型資料型別, 以 作為容器的標誌,裡面多個元素用逗號隔開:[元素1,元素2,元素3,…]

列表是可變的(指的是元素的個數、值和順序可變)、列表是有序

列表的元素可以是任何型別資料;同乙個列表可以有多個型別不同的元素

「」"list1 = [34, 『abc』, true, 34]

print(list1)

girl_friends = [『楊冪』, 『林志玲』, 『劉亦菲』]

empty = # 空列表

「」"a.語法

列表[下標] - 獲取列表中指定下標對應的元素

b.說明

1.列表 - 任何結果是列表的表示式

(比如:具體的列表值、儲存列表的變數、運算結果是列表的運算表示式、返回值是列表的函式呼叫表示式)

2. - 固定寫法

3.下標 - 下標又叫索引;表示的是元素在有序序列中的位置資訊。

python中下標值有兩種:1)0 ~ 長度-1, 其中0表示第乙個元素的位置、1就是第二個元素的位置,以此類推…

2)-1 ~ -長度, 其中-1表示最後乙個元素的位置、-2就是倒數第二個元素的位置,以此類推…

[10, 20, 30, 40]

「」"scores = [90, 78, 59, 76, 84]

print(scores[1]) # 78

print(scores[-4]) # 78

print(scores[-1]) # 84

print(scores[4]) # 84

注意: 獲取單個元素的時候下標不能越界

print(scores[5]) # indexerror: list index out of range

「」"方式一:

for 變數 in 列表:

迴圈體(變數取到的是列表中的元素)

方式二:

for 下標,元素 in enumerate(列表):

迴圈體「」"

print(』********************===』)

直接獲取列表中的元素

scores = [90, 78, 59, 76, 84]

for item in scores:

print(item)

同時獲取每個元素的下標和值

for x, y in enumerate(scores):

print(x, y)

練習1:求乙個班所有學生的總成績

scores = [90, 78, 59, 76, 84, 30, 99, 45]

total = 0

for score in scores:

total += score

print(『len:』, len(scores))

print(『總成績:』, total, 『平均分:』, total / len(scores))

練習2:統計班上不及格學生的人數

count = 0

for score in scores:

if score < 60:

count += 1

print(『不及格學生的人數:』, count)

如果步長為正: 表示開始下標到結束下標是從前往後取,開始下標對應位置要在結束下標的位置的前面才能取到值

如果步長為負: 表示開始下標到結束下標是從後往前取,開始下標對應位置要在結束下標的位置的後面才能取到值

「」"names = [『趙雲』, 『諸葛亮』, 『劉備』, 『貂蟬』, 『甄姬』]

print(names[1:4:1]) # [『諸葛亮』, 『劉備』, 『貂蟬』]

print(names[1:4:-1]) #

print(names[1:4:2]) # [『諸葛亮』, 『貂蟬』]

print(names[-1:1:-1]) # [『甄姬』, 『貂蟬』, 『劉備』]

print(names[0?1]) # [『趙雲』, 『諸葛亮』, 『劉備』, 『貂蟬』]

print(names[0?3]) # [『趙雲』, 『貂蟬』]

1)省略步長

列表[開始下標:結束下標] - 省略步長就相當於步長是1: 列表[開始下標:結束下標:1]

movies = [『殭屍世界大戰』, 『電鋸驚魂』, 『致命彎道』, 『死神來了』, 『生化危機』, 『林中小屋』]

print(movies[1:-1]) # [『電鋸驚魂』, 『致命彎道』, 『死神來了』, 『生化危機』]

print(movies[5:2]) #

2)省略開始下標

列表[:結束下標:步長] / 列表[:結束下標] - 如果步長為正,表示從第乙個元素開始往後取;如果步長是負,表示從最後乙個元素開始往前取

print(movies[:5:2]) # [『殭屍世界大戰』, 『致命彎道』, 『生化危機』]

print(movies[:-2]) # [『殭屍世界大戰』, 『電鋸驚魂』, 『致命彎道』, 『死神來了』]

print(movies[:-3:-1]) # [『林中小屋』, 『生化危機』]

print(movies[?-1]) #

3)省略結束下標

列表[開始下標::步長] / 列表[開始下標:] - 如果步長為正,從前往後取到最後乙個元素為止;如果步長是負,從後往前取到第乙個元素為止

tv_list = [『甄嬛傳』, 『名偵探柯南』, 『名偵探狄仁傑』, 『西遊記』, 『三國演義』, 『生活大**』, 『尼基塔』]

print(tv_list[2:]) # [『名偵探狄仁傑』, 『西遊記』, 『三國演義』, 『生活大**』, 『尼基塔』]

print(tv_list[-3::-1]) # [『三國演義』, 『西遊記』, 『名偵探狄仁傑』, 『名偵探柯南』, 『甄嬛傳』]

4)開始下標和結束下標都省

列表[::步長] / 列表[:] - 如果步長為正,從前往後從第乙個元素取到最後乙個元素;如果步長是負,從後往前取從最後乙個元素取到第乙個元素

#print(tv_list[:]) # [『甄嬛傳』, 『名偵探柯南』, 『名偵探狄仁傑』, 『西遊記』, 『三國演義』, 『生活大**』, 『尼基塔』]

#print(tv_list[::-1]) # [『尼基塔』, 『生活大**』, 『三國演義』, 『西遊記』, 『名偵探狄仁傑』, 『名偵探柯南』, 『甄嬛傳』]

#print(tv_list[::-2]) # [『尼基塔』, 『三國演義』, 『名偵探狄仁傑』, 『甄嬛傳』]

day4 列表習題

1.已知乙個數字列表,求列表中心元素。num 78,67,52,78,99,23 n len num if n 2 0 x n 2 y n 2 1 print num x num y else print num n 2 2.已知乙個數字列表,求所有元素和。num 78,67,52,78,99,23...

Day 4 列表習題

1.已知乙個數字列表,求列表中心元素。list1 1 2,3 4,5 6,7 8 方法一 for num,j in enumerate list1 pass print num if num 1 0 num 2 num int num print list1 num else num1 num 1 ...

C 基礎筆記 Day4

定義列舉要先寫乙個 enum 關鍵字,然後在 內新增一組符號標識,包括了該列舉型別可以擁有的合法值。enum season 放在公共區域 列舉內部的每個元素都關聯 對應著乙個整數值。預設第乙個元素對應整數 0,以後每個元素對應的整數都遞增 1。獲取列舉變數的整數值之前,必須先將它轉換為基本型別。en...