1. 程式人生 > >03-撩課-Python面試寶典-第三篇

03-撩課-Python面試寶典-第三篇

一. 程式碼實現: 計算1到100之間, 所有的奇數之和

result = 0
for i in range(1, 101):
    result += i
print(result)

二. 程式碼實現: 接收使用者輸入數字, 求出從0至這個數字的累加和;

例如: 使用者輸入9, 則計算出0 + 1 + 2 + 3 + 4 + … + 9 的和, 並打印出表示式
執行結果

num_str = input("請輸入一個數字(>=1): ")
num = int(num_str) # 可以使用try...except...以及判定語句進行容錯處理
result = 0 # 儲存最終結果
expression = "0" # 記錄表示式
for i in range(1, num + 1):
    result += i
    expression += " + {}".format(i)
else:
    expression += " = {}".format(result)
print(expression)

三. 將以下學生姓名和分陣列成的列表, 轉換成字典形式

姓名和分數列表如下:
stu_list = [“小王”, 90, “小強”, 60, “小華”, 80]
最終結果如下:
{‘小王’: 90, ‘小強’: 60, ‘小華’: 80}

stu_list = ["小王", 90, "小強", 60, "小華", 80] # 原始資料
stu_dic = {} # 結果字典
# 沒隔一個位置, 取兩個資料, 組成一個鍵值對
for idx in range(0, len(stu_list), 2):
    name, score = stu_list[idx: idx + 2]
    stu_dic[name] = score
print(stu_dic)

四. 程式碼實現: 將以上的學生分數替換成級別

姓名和分數列表如下:
stu_list = [“小王”, 90, “小強”, 60, “小華”, 80]

規則:

  • 分數 < 60 為 不及格 D
  • 80 > 分數 >= 60 為 及格 C
  • 90 > 分數 >= 80 為 良好 B
  • 分數 >= 90 為 優秀 A

最終結果如下:
{‘小王’: ‘A’, ‘小強’: ‘C’, ‘小華’: ‘B’}

stu_list = ["小王", 90, "小強", 60, "小華", 80]
stu_dic = {}
stu_list_len = len(stu_list)
for idx in range(0, stu_list_len, 2):
    name, score = stu_list[idx: idx + 2]
    if score >= 90:
        level = "A"
    elif score >= 80:
        level = "B"
    elif score >= 60:
        level = "C"
    else:
        level = "D"
    stu_dic[name] = level
print(stu_dic)

五. 程式碼實現: 完善以上案例, 求出所有學生的總分以及平均分

stu_list = ["小王", 90, "小強", 60, "小華", 80]
stu_dic = {}
stu_list_len = len(stu_list)
score_count = 0 # 用來記錄分數
score_avg = 0 # 用來記錄平均分數
for idx in range(0, stu_list_len, 2):
    name, score = stu_list[idx: idx + 2]
    score_count += score
    if score >= 90:
        level = "A"
    elif score >= 80:
        level = "B"
    elif score >= 60:
        level = "C"
    else:
        level = "D"
    stu_dic[name] = level
else:
    score_avg = score_count / (stu_list_len // 2)
print(stu_dic)
print("總分:{},平均分:{}".format(score_count, score_avg))

執行結果