美文网首页Python面试题python面试题集锦
撩课-Python-每天5道面试题-第3天

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

作者: 撩课学院 | 来源:发表于2018-11-09 18:18 被阅读2次

    一. 代码实现: 计算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))
    
    
    执行结果

    相关文章

      网友评论

        本文标题:撩课-Python-每天5道面试题-第3天

        本文链接:https://www.haomeiwen.com/subject/kenoxqtx.html