列表和while迴圈

2021-08-14 03:18:32 字數 2144 閱讀 8327

分解問題

首先需要知道輸入是什麼,並且希望獲得什麼樣的輸出(結果)。

輸入是:

包含 20 個隨機生成的整數的列表

輸出是:

乙個整數列表,每個數字(稱其為「n」)表示整數出現在隨機生成的整數列表中 n 次。

例如,如果數字 4 出現在隨機生成的列表裡 5 次,那麼我們需要建立另乙個列表,該列表索引 4 的位置是數字 5。如果數字 6 出現在隨機生成的列表裡 2 次,那麼輸出列表的索引 6 處將為數字 2。到目前為止的輸出列表為:[0,0,0,0,5,0,2,0,0,0,0]

要執行的操作

概述下用筆和紙手動解答的步驟:

迴圈訪問隨機生成列表中的每個元素

獲取列表中的當前數字

現在需要將此數字的計數器加一

通過檢視輸出列表獲取此數字的當前計數,然後將該計數器加一

到達迴圈結束位置了嗎?

如果沒有,重新執行步驟 1-5(當我們依然在迴圈訪問列表的時候)

轉換為**

看看這些步驟,然後轉換為計算機**。

1. 迴圈訪問列表中的每個元素

似乎首先需要設定迴圈結構,迴圈訪問列表中的每個元素。為此,我們應該設定一些變數,以便儲存列表的當前索引並建立初始 count_list:

count_list = [0]*11

index = 0

現在可以設定迴圈結構了:

while index < len(random_list):

# put other code here

index = index + 1

請注意,我們已經將 index = index + 1 新增到迴圈中了。此**可以保證計算機不會進入無限迴圈中。對於多數迴圈而言,我們始終需要明確定義結束點。在此示例中,結束點是數字 index 大於列表長度時

2. 獲取列表中的當前數字

通過訪問列表的當前索引獲取該數字:

number = random_list[index]

3-4. 現在需要將此數字的計數器加一。

因為 count_list 的索引是查詢依據,我們可以按照以下方法增加當前數字的計數:

count_list[number] = count_list[number] + 1

5: 到達迴圈的結尾了嗎?如果沒有,再次執行 while 迴圈部分。

我們的迴圈結構已經考慮到這一條件,因為在迴圈的頂部,我們始終檢查索引編號是否依然小於隨機列表的長度:index < len(random_list)

我們採用的邏輯:如果索引編號小於列表的長度,則可以有信心地判斷,每當我們使用 index 訪問列表時,始終不會產生錯誤,並且將能夠使用數字 index 訪問列表中的元素。

答案**

count_list = [0]*11

count = 0

while index < len(random_list):

number = random_list[index]

count_list[number] = count_list[number] + 1

index = index + 1

完整的答案**

import random

random_list =

list_length = 20

while len(random_list) < list_length:

count_list = [0] * 11

index = 0

count = 0

while index < len(random_list):

number = random_list[index]

count_list[number] = count_list[number] + 1

index = index + 1

方法二: 簡單for

import random

random_list =

list_len = 10

while len(random_list)print random_list

count_list = [0]*11

for ele in random_list:

count_list[ele]+=1

print count_list

for迴圈和while迴圈

while迴圈 語法 while 判斷條件 迴圈體 計算 1 2 3 4 100 n 1 res 0 while n 100 res n n 1 print res 5050while迴圈之else 語法 while 判斷條件 迴圈體else 語句塊for迴圈 for x in 序列 迴圈體rang...

While 迴圈和 do while 迴圈

示例1 輸出1 100 輸出1 100 int i 0 while i 100 示例2 死迴圈 死迴圈 while true 示例3 計算 1 加到 100 計算 1 加到 100 int m 0 int sum 0 while m 100 system.out.println sum 示例 計算 ...

while迴圈 do while和for迴圈總結

迴圈結構的特點 特徵 迴圈條件 迴圈操作 迴圈體 迴圈變數 什麼是while迴圈 while 迴圈條件 特點 先判斷,在執行。while迴圈使用 什麼是do while迴圈 do while 迴圈條件 符合條件,迴圈繼續 否則,迴圈退出。注意 while 後分號不可少 特點 先執行,在判斷。比較wh...