python小眾習題詳解之三

2021-08-16 08:43:49 字數 4158 閱讀 7964

例1:搖兩個色子各點數出現的概率

from random import  randint

defroll_dice

(n=2):

total = 0

for _ in range(n):

total += randint(1,6)

return total

defmain

(): f = [0] * 11

for _ in range(60000):

face = roll_dice()

f[face - 2] += 1

for index, val in enumerate(f):

print('%d點搖出的概率為%.2f%%.'%(index + 2,val / 600))

point = 2

# 直接通過for - in 迴圈對列表(容器)進行遍歷

for counter in f:

point += 1

print('%d點搖出了%d次.'%(point - 1,counter))

if __name__ == '__main__':

main()

列表的各項應用
def

main

(): g = [100,200,300]

for index, val in enumerate(g): #enumerate 既有下標也有值

print(index, ':', val)

# crud操作:create read update delete

g.insert(1,400) #插入,可以指定插入位置,在指定下標的前一位置插入

g.insert(-1,500)

g.remove(200) #如果不知道位置,只知道元素,就用remove刪除

if600

in g:

g.remove(600)

del g[3] #如果知道位置,就用del刪除

print(g.index(300)) #查詢元素index

print(g)

print(g.pop()) #預設刪除最後乙個引數(可刪除指定下標的元素)

print(g)

g.clear() #清空

print(g)

if __name__ == '__main__':

main()

例2:「**比例」
def

main

(): list = [1, 1]

for index in range(2,20):

val = list[index - 1] + list[index - 2]

print(list)

print(list[18]/list[19])

list1 = list[18:]

list2 = list[::-1]

print(list2)

list.reverse()

print(list)

if __name__ == '__main__':

main()

def

main

(): # python內建的排序方法預設都是公升序(從小到大)

# 如果希望排列成降序(從大到小)可以通過reverse引數來指定

# python中的函式幾乎都是沒有***的函式

# 呼叫函式之後,不會影響傳入的函式

l2 = sorted(l) # sorted 會新增從小到大乙個排好序的結果

l3 = sorted(l,reverse=true)

print(l)

print(l2)

print(l3)

l.sort() #方法,在原列表進行排序

print(l)

l.sort(reverse=true)

print(l)

l4 = list(reversed(l))

print(l4)

if __name__ == '__main__':

main()

def

main

(): f = [x + y for x in

'abcde'

for y in

'1234567']

print(f)

f = list(range(1,10))

print(f)

f = [x for x in range(1,10)]

print(f)

f = [x ** 2

for x in range(1,10)]

print(f)

f = [x ** x for x in range(1,100)]

# 用列表的生成表示式語法建立列表容器

# 用這種語法建立列表之後元素已經準備就緒所以需要耗費較多的記憶體空間

print(sys.getsizeof(f)) # 占用多少記憶體空間

print(f)

f = (x ** x for x in range(1, 100))# 生成器

# 列表生成器 這裡得到的不是乙個列表 而是乙個生成器物件

# 通過生成器可以獲得資料 它不占用額外的 空間儲存資料

# 每次需要資料的時候就通過生成器取資料 當然這需要花時間

print(sys.getsizeof(f))

print(f)

for val in f:

print(val)

if __name__ == '__main__':

main()

例4:著名雙色球~隨機生成~
def

display

(balls):

for index,ball in enumerate(balls):

if index == len(balls) - 1:

print('|',end=' ')

print('%02d'%ball,end = ' ')

print()

defrandom_select

(): red_balls = list(range(1,34))

selected_balls =

for _ in range(6):

index = randrange(len(red_balls))

del red_balls[index]

selected_balls.sort()

return selected_balls

defmain

(): n = int(input('機選幾注:'))

for _ in range(n):

display(random_select())

if __name__ == '__main__':

main()

def

main

(): a = 1

b = 1

print(id(a)) # 驗位址

print(id(b))

c = -1

d = -1

print(a is b) # 身份運算子 is

print(c is d)

list = [x for x in range(1,10)]

list2 = list

print(id(list))

print(id(list2))

print(list is list2)

list2 = list[:] # 此時切片 - 產生乙個新的列表

print(id(list))

print(id(list2))

print(list is list2)

list[1] = 2000

list2[0] =1000

print(list)

print(list2)

if __name__ == '__main__':

main()

python基礎之三

import module name 直接匯入 module name.func 呼叫函式時,需要模組名作為字首 from module name import function name 不用使用模組名作為字首 from module name import 匯入模組下的所有函式和類注 pytho...

python 等考之三

eval 函式用來執行乙個字串表示式,並返回表示式的值。以下是 eval 方法的語法 eval expression globals locals 返回表示式計算結果。以下展示了使用 eval 方法的例項 x 7 eval 3 x eval pow 2,2 eval 2 2 n 81 eval n ...

Python複習筆記之三

訪問字典 遍歷字典 新增字典元素 修改刪除 字典推導式 集合增刪元素 集合的交並差集 字串字串常用操作 字母的大小寫轉換 去除字串中的空格和特殊字元 格式化字串 以鍵值對存放內容的序列 其中鍵是不可變的,用元組的方式儲存 值用列表儲存,可變 直接建立 dictionary 空字典dictionary...