第二週Day2 Python容器

2021-10-17 14:53:49 字數 3328 閱讀 2407

1.容器型資料型別 —— 乙個變數可以儲存多個資料

通過迴圈可以完成對列表中每個元素的操作。

列表重複運算

a =[0

,0,0

,0,0

,0]b =[0

]*6print

('a:'

, a)

# a: [0, 0, 0, 0, 0, 0]

print

('b:'

, b)

# b: [0, 0, 0, 0, 0, 0]

# 字串也可以重複運算

s ='hello'*6

print

('s:'

, s)

# s: hellohellohellohellohellohello

練習:把乙個骰子搖6000次,統計每一面出現的次數

import random

fs =[0

]*6for _ in

range

(6000):

face = random.randint(1,

6)# 獲取列表元素的索引運算

fs[face -1]

+=1for i in

range

(len

(fs)):

print

(f'點出現了次'

)# 1點出現了995次

# 2點出現了998次

# 3點出現了1025次

# 4點出現了1000次

# 5點出現了996次

# 6點出現了986次

軟硬體中存在問題和缺陷 -------> bug -------> debug(找出缺陷,解決問題)

2.列表生成式(推導式) —— 建立列表的一種字面量語法

# 1 ~ 100

a =[x for x in

range(1

,101)]

print

(a)# 1 ~ 100 的偶數

b =[x for x in

range(2

,101,2

)]print

(b)# 3或5的倍數

c =[x for x in

range(1

,101

)if x %3==

0or x %5==

0]print

(c)# 1 ~ 10 的數的平方

d =[x * x for x in

range(1

,11)]

print

(d)

練習:

雙色球:6個紅色球,1個藍色球

紅色球:1-33選6個(不重複)球

藍色球:1-16選1個球

實現乙個雙色球隨機選號的程式

n =

int(

input

('機選幾注:'))

for _ in

range

(n):

red_balls =

[x for x in

range(1

,34)]

selected_balls =

""" for _ in range(6):

index = random.randrange(len(red_balls))

"""# 通過random模組的sample函式實現無放回抽樣

selected_balls = random.sample(red_balls,6)

# 可以直接代替上面三行**

blue_ball = random.randint(1,

16)selected_balls.sort(

)for ball in selected_balls:

# print('%.2d' % ball, end=' ')

print

(f''

, end=

' ')

# 2 -> 02 8 -> 08

print

()

[外鏈轉存失敗,源站可能有防盜煉機制,建議將儲存下來直接上傳(img-ea6r**bc-1611654954910)(d:\千峰\qq20210126152602.jpg)]

排序:;列表.sort()

預設公升序,從下到大

降序:列表.sort(reverse=true)

練習:josephu環問題

有15個男人和15個女人乘船在海上遇險,為了讓一部分人活下來,

不得不將其中15個人扔到海浬,有個人想了個辦法讓大家圍成乙個圈,

由某個人開始從1報數,報到9的人就扔到海裡面,他後面的人接著從1開始報數,

報到9的人繼續扔到海裡面,直到將15個人扔到海浬。

最後15個女人都倖免於難,15個男人都被扔到了海浬。

問這些人最開始是怎麼站的,哪些位置是男人,哪些位置是女人。

count =

0humans =[1

]*30index =

0num =

1while count <15:

index %=

30if humans[index]

and num %9==

0:count +=

1 humans[index]=0

index +=

1 num +=

1elif humans[index]

: index +=

1 num +=

1elif

not humans[index]

: index +=

1for human in humans:

print

('女'

if human else

'男', end=

"")

+= 1

elif not humans[index]:

index += 1

for human in humans:

print(『女』 if human else 『男』, end="")

第三週 Day2 Python函式

1.什麼是返回值 從函式內部傳遞到函式外部的資料就是函式返回值。2.什麼時候函式需要返回值 如果實現函式的功能產生了新的資料,那麼這個函式就需要通過返回值把新產生的資料返回。3.怎麼將資料返回 1 怎麼確定函式返回值 返回值就是return關鍵字後面的值。如果沒有return,預設返回none 2 ...

Day2 Python學習筆記

1.1 if else 只考慮一種情況 例 print 111 if 5 4 print 222 print 333 考慮兩種情況,且為互補關係。例 if 4 5 print 4 5 else print 5 4 1.2 if elif else 考慮多種情況。例 score int input 請...

Day2 Python學習筆記

師從 小甲魚 and 與運算 or 或運算 not 非運算 非0整數全解釋為true randint隨機輸入乙個數字,randint a,b 隨機輸入乙個a b之間的數字。需import random。import random print 我愛兜兜 answer random.randint 1,...