列表

详情


DA22. 牛客网用户最高的正确率

描述

现有一个Nowcoder.csv文件,它记录了牛客网的部分用户数据,包含如下字段(字段与字段之间以逗号间隔):
Nowcoder_ID:用户ID
Level:等级
Achievement_value:成就值
Num_of_exercise:刷题量
Graduate_year:毕业年份
Language:常用语言
Continuous_check_in_days:最近连续签到天数
Number_of_submissions:提交代码次数
Last_submission_time:最后一次提交题目日期
牛客网有那么多刷题的用户,有的人身经百战,刷题无数但是反复提交了多次错误的代码debug之后才能通过,牛牛想知道牛客网最高的正确率能有多少,为了公平起见,他决定只统计刷题数量大于10题的用户,请你帮帮他。

输入描述:

数据集直接从当前目录下的Nowcoder.csv文件中读取。

输出描述:

直接输出计算的正确率(刷题量/代码提交次数),保留3位小数。

原站题解

上次编辑到这里,代码来自缓存 点击恢复默认模板

Python 3 解法, 执行用时: 785ms, 内存消耗: 524288KB, 提交时间: 2022-07-26

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')

print((Nowcoder[Nowcoder['Num_of_exercise']>10]['Num_of_exercise']/Nowcoder[Nowcoder['Num_of_exercise']>10]['Number_of_submissions']).max().round(3))

Python 3 解法, 执行用时: 786ms, 内存消耗: 524288KB, 提交时间: 2022-07-21

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')

#  刷题数量大于10题,最高的正确率能有多少

a = Nowcoder['Num_of_exercise'][Nowcoder['Num_of_exercise'] > 10]
b = Nowcoder['Number_of_submissions'][Nowcoder['Num_of_exercise'] > 10]
print(round((a/b).max(), 3))

Python 3 解法, 执行用时: 793ms, 内存消耗: 524288KB, 提交时间: 2022-08-06

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
a = Nowcoder[Nowcoder['Num_of_exercise']>10]['Num_of_exercise']
b = Nowcoder[Nowcoder['Num_of_exercise']>10]['Number_of_submissions']
print('%.3f'%(a/b).max())

Python 3 解法, 执行用时: 795ms, 内存消耗: 524288KB, 提交时间: 2022-07-24

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')

Nowcoder=Nowcoder.loc[Nowcoder['Number_of_submissions']>10]
Nowcoder['right_cnt']=round(Nowcoder['Num_of_exercise']/Nowcoder['Number_of_submissions'],3)
print(Nowcoder['right_cnt'].max())

Python 3 解法, 执行用时: 796ms, 内存消耗: 524288KB, 提交时间: 2022-07-26

import pandas as pd

Nowcoder = pd.read_csv('Nowcoder.csv', sep=',')
Nowcoder=Nowcoder[Nowcoder['Num_of_exercise']>10]
Nowcoder['acc']=Nowcoder['Num_of_exercise']/Nowcoder['Number_of_submissions']
print(round(Nowcoder['acc'].max(),3))

上一题