一、選秀評分
-
需求:某比賽評分規則如下:由 5 位評委進行打分,最終結果去掉一個最高分和最低分后求平均成績,
-
代碼:
list = [0,0,0,0,0] i = j = sum = 0 while i < 5: list[i] = input("請輸入第 %s 位評委評分:" % (i + 1)) i += 1 maxItem = max(list) minItem = min(list) list.remove(maxItem) # 移除最大值 list.remove(minItem) # 移除最小值 for j in list: sum += int(j) print("去掉一個最高分 %s 分," % maxItem,end="") print("去掉一個最低分 %s 分," % minItem,end="") print("選手的最終得分為:%.2f 分," % (sum / 3)) -
運行結果:

二、斐波那契數列
-
需求:輸出斐波那契數列前 10 位,已知第 0 位是 0,第 1 位是 1,
-
代碼:
i = num0 = 0 num1 = 1 print(num0,end="-") print(num1,end="-") # 回圈條件終值為:期望位數 (10位) / 2 - 1 while i < 4: num0 += num1 num1 += num0 print(num0,end="-") print(num1,end="-") i += 1 -
運行結果:

三、列印九九乘法表
-
需求:輸出傳統的九九乘法表
-
代碼:
i = j = 1 while i < 10: while j <= i: print(j,"*",i,"=",i * j,end=" ") j += 1 i += 1 j = 1 print() -
運行結果:

四、雞兔同籠問題
-
需求:輸入雞和兔總頭數和總腳數,計算雞和兔各有多少只,
-
代碼:
''' head: 總頭數 foot: 總腳數 chicken: 雞的數量 rabbit: 兔的數量 ''' head = int(input("請輸入雞和兔的總頭數:")) foot = int(input("請輸入雞和兔的總腳數:")) chicken = 1 while chicken <= head: rabbit = head - chicken if chicken * 2 + rabbit * 4 == foot: print("雞有 %s 只" % chicken) print("兔有 %s 只" % rabbit) break chicken += 1 if chicken > head: print("不存在這種情況!") -
運行結果:

五、列印素數
-
需求:列印 100 ~ 200 之間所有素數,若一個數能整除 2 到這個數的平方根內任意一個數,則這個數不是素數,反之是素數,
-
代碼:
i = 100 j = 2 while i <= 200: while j <= i ** 0.5: if i % j == 0: break else: j += 1 if j > i ** 0.5: print(i,end=",") i += 1 j = 2 -
運行結果:

六、列印水仙花數
-
需求:列印 100 ~ 999 之間的水仙花數,一個三位數的各位數立方和等于這個數本身,則這個數是水仙花數,
-
代碼:
i = 100 print("水仙花數:",end="") while i < 1000: a = i // 100 # 百位數 b = i // 10 % 10 # 十位數 c = i % 10 # 各位數 if a ** 3 + b ** 3 + c ** 3 == i: print(i,end=" ") i += 1 -
運行結果:

七、公因數與公倍數
-
需求:鍵盤輸入兩個數,計算兩個數的最小公因數和最大公倍數,
-
代碼:
num1 = int(input("請輸入第一個數:")) num2 = int(input("請輸入第二個數:")) arr0 = [] arr1 = [] # 保證 num1 < num2 if num1 > num2: t = num2 num2 = num1 num1 = t # 最大公因數 i = 1 while i < num2: if num1 % i == 0 and num2 % i == 0: arr0.append(i) i += 1 # 最小公倍數 j = num2 while j <= num1 * num2: if j % num1 == 0 and j % num2 == 0: arr1.append(j) j += 1 print("{} 和 {} 的最大公因數是:{}".format(num1,num2,max(arr0))) print("{} 和 {} 的最小公倍數是:{}".format(num1,num2,min(arr1))) -
運行結果:

八、判斷天數
-
需求:
- 禁止使用時間工具
- 鍵盤輸入年月日,判斷并列印這一天是本年的第幾天及本年剩余天數
-
代碼:
# 判斷閏年函式 def judgeYear(y): if y % 400 == 0 or y % 4 == 0 and y % 100 != 0: return True return False # 求和函式 def sumDay(list): sum = 0 for i in list: sum += i return sum # 定義每個月的天數,索引 0 是當年的總天數 yDay = [365,31,28,31,30,31,30,31,31,30,31,30,31] y = int(input("請輸入年份:")) m = int(input("請輸入月份:")) d = int(input("請輸入日期:")) # 如果數閏年,修改串列 if judgeYear(y): yDay[0] = 366 yDay[2] = 29 days = sumDay(yDay[1:m]) + d surplus = yDay[0] - days print("{} 年 {} 月 {} 日是 {} 年的第 {} 天".format(y,m,d,y,days)) print("{} 年 {} 月 {} 日距離新年還有 {} 天".format(y,m,d,surplus)) -
運行結果:

九、計算階乘
-
需求:鍵盤輸入一個數,求這個數的階乘,
-
代碼:
num = int(input("請輸入求階乘的數字:")) i = j = 1 while i <= num: j *= i i += 1 print(j) -
運行結果:

十、排序
-
需求:使用 max() 和 min() 給串列中的資料進行排序,鍵盤輸入排序規則,
-
代碼:
# 定義排序變數 def sort(ty): list = [11,5,22,31,9,4,17,26,41,7] orList = [] i = 0 while i < len(list): if ty == 0: num = min(list) else: num = max(list) orList.append(num) list.remove(num) if len(list) == 0: break return orList # 輸出引數,呼叫函式 ty = int(input("請輸入 0 或 1 表示排序規則,0-升序,1-降序:")) print(sort(ty)) print() # 輸出引數,呼叫函式 ty = int(input("請輸入 0 或 1 表示排序規則,0-升序,1-降序:")) print(sort(ty)) -
運行結果:

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/319737.html
標籤:python
上一篇:用Python編了一個魷魚游戲
