撩课-Python-每天5道面试题-第3天

一. 代码实现: 计算1到100之间, 所有的奇数之和

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

二. 代码实现: 接收用户输入数字, 求出从0至这个数字的累加和;

例如: 用户输入9, 则计算出0 + 1 + 2 + 3 + 4 + … + 9 的和, 并打印出表达式

《撩课-Python-每天5道面试题-第3天》 执行结果

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))

《撩课-Python-每天5道面试题-第3天》 执行结果

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注