一,for迴圈:
1,功能:重複執行同一段程式碼
語法:
for index in range(n):
# 迴圈體程式碼
index : 用來依次接收可迭代物件中的元素的變數名
range()函式:負責返回整數序列
流程圖:
2,應用
range可以同時指定start 和stop,用for遍歷並列印
1
2
3
4
|
# 指定 start和stop # print的引數 end=" " 用來使列印不換行 for num in range ( 3 , 9 ): print (num, end = " " ) |
執行結果:
3 4 5 6 7 8
說明:劉宏締的架構森林—專注it技術的部落格,
網址:https://imgtouch.com
本文: https://blog.imgtouch.com/index.php/2024/03/22/python-suan-fa-jie-shu-fang-an/
程式碼: https://github.com/liuhongdi/ 或 https://gitee.com/liuhongdi
說明:作者:劉宏締 郵箱: 371125307@qq.com
二,借書方案的題目與解析
1,題目:
小明有5本新書,要借給A、B、C三位小朋友,
若每人每次只能借1本,則可以有多少種不同的借法?
2,解析:
思路:
本題屬於數學中常見的排列組合問題,即求從5個數中取3個不同數的排列組合的總數,
第一個人取時有5種選擇,
第二個人取時有4種選擇(第一個人已選走了一本),
第三個人取時有3種選擇(前兩個人已選走了兩本),
所以預計有5x4x3=60種分法
用程式處理時:
1,對於每個人所選書號,我們可以採用迴圈實現,
即從每個人可選書號(1、2、3、4、5)的範圍內進行窮舉。
第一個人的選擇,可以用迴圈將其列出,即for a in range(1,6)。
同理,對於第二個人、第三個人可以用同樣的方法。
2,因為一本書只能借給一個人,所以第二個人的選擇會受到第一個人的限制,
最後一個人的選擇會受到前兩個人的限制,
即後面的選擇都是在前面選擇的前提下進行的,
所以需要採用迴圈的巢狀來解決問題。
3,因為要保證三個人所選書號各不相同,
所以需要用 “if a != b and a != c and c != b”進行判斷
三,編寫程式碼:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# A、B、C三位小朋友,5本書,每人每次只能借一本 # 用a、b、c分別表示三人所選圖書的編號 count = 0 # count表示有效借閱次數 # a表示A借閱圖書的編號 for a in range ( 1 , 6 ): # b表示B借閱圖書的編號 for b in range ( 1 , 6 ): # c表示C借閱圖書的編號 for c in range ( 1 , 6 ): if a ! = b and a ! = c and c ! = b: # 三個人借的書必須編號不同 print (f "A:{a} B:{b} C:{c} " , end = '') count + = 1 # 借閱方法加1 if count % 6 = = 0 : # 每6個方法列印一個換行符 print () # 換行 print (f "共有{count}種有效借閱方法" ) |
執行結果:
A:1 B:2 C:3 A:1 B:2 C:4 A:1 B:2 C:5 A:1 B:3 C:2 A:1 B:3 C:4 A:1 B:3 C:5
A:1 B:4 C:2 A:1 B:4 C:3 A:1 B:4 C:5 A:1 B:5 C:2 A:1 B:5 C:3 A:1 B:5 C:4
A:2 B:1 C:3 A:2 B:1 C:4 A:2 B:1 C:5 A:2 B:3 C:1 A:2 B:3 C:4 A:2 B:3 C:5
A:2 B:4 C:1 A:2 B:4 C:3 A:2 B:4 C:5 A:2 B:5 C:1 A:2 B:5 C:3 A:2 B:5 C:4
A:3 B:1 C:2 A:3 B:1 C:4 A:3 B:1 C:5 A:3 B:2 C:1 A:3 B:2 C:4 A:3 B:2 C:5
A:3 B:4 C:1 A:3 B:4 C:2 A:3 B:4 C:5 A:3 B:5 C:1 A:3 B:5 C:2 A:3 B:5 C:4
A:4 B:1 C:2 A:4 B:1 C:3 A:4 B:1 C:5 A:4 B:2 C:1 A:4 B:2 C:3 A:4 B:2 C:5
A:4 B:3 C:1 A:4 B:3 C:2 A:4 B:3 C:5 A:4 B:5 C:1 A:4 B:5 C:2 A:4 B:5 C:3
A:5 B:1 C:2 A:5 B:1 C:3 A:5 B:1 C:4 A:5 B:2 C:1 A:5 B:2 C:3 A:5 B:2 C:4
A:5 B:3 C:1 A:5 B:3 C:2 A:5 B:3 C:4 A:5 B:4 C:1 A:5 B:4 C:2 A:5 B:4 C:3
共有60種有效借閱方法