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

复制代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值