在此挑战中,如果PPCG不存在信誉上限,您将计算自己的信誉。
每个人都可以访问原始数据以更改地址上的声誉:codegolf.stackexchange.com/reputation。原始数据遵循这样的设置(这些是我页面版本的前几行。
total votes: 2955
-- bonuses (100)
2 37663 (10)
-- 2014-09-11 rep +110 = 111
2 41751 (10)
-- 2014-11-23 rep +10 = 121
2 41751 (10)
2 41751 (10)
-- 2014-11-24 rep +20 = 141
第一行与该挑战无关(它显示您对所有答案和问题所获得的总票数)。第二行显示“协会奖金”。如果您没有奖金,那么该行将根本不存在。
在这两行(或一个,如果没有奖金)行之后,您将获得每个问题的声誉更改列表,以及每天获得/丢失的所有代表的摘要。您还将获得当天结束时的总声誉列表。此列表仅显示您的声誉改变的日子。
每行的开头都有标识符(每日摘要行除外)。这些代表以下潜在的声誉更改原因:
1 : Accept (+2 if you accept, +15 if your answer is accepted)
2 : Upvote (+5 for question, +10 for answer)
3 : Downvote (-1 if you downvote answer, -2 if you get downvoted)
4 : Offensive (-100)
8 : Give bounty
9 : Receive bounty
12: Spam (-100)
16: Approved edit (+2)
缺少的数字(5,6,7,10,11,13,14,15
不会影响声誉)。
您面临的挑战是计算您的声誉,如果不是为了声誉上限。
您将如何做:
将内容保存codegolf.stackexchange.com/reputation
为本地或您选择的其他位置的纯文本格式(这是因为您需要登录才能访问信息)。如果您愿意,您可以直接从网站上检索数据,尽管我认为这会花费更长的时间。
总结所有正面和负面的声誉变化。像这样显示不会引起声誉变化(由于代表上限)的投票(请注意方括号,而不是常规的括号):
2 106125 [0]
2 106125 [0]
3 106125 [-2]
2 106088 [2]
2 106125 [0]
2 106088 [0]
如果没有上限,则必须包括您将收到的代表。
帖子数量106125
是一个问题,而106088
就是一个答案。如您所见,仅使用表中给出的数据就无法分辨两者之间的区别。因此,您必须访问网站(codegolf.stackexchange.com
)来检查帖子是问题还是答案。您也可以为此使用API。
规则:
- 每个人都必须能够运行您的脚本,以便:
- 您必须包括所有不同的信誉更改类型,即使您自己从未遇到过。
- 即使您尚未获得协会奖金,该代码也必须能够正常工作(如果您尚未收到该行,则该行将不存在)
- 您可以使用非自由语言(Mathematica,MATLAB等),只要其他具有许可证的语言都可以运行该代码。
- 您不必提供原始数据,因为每个人都可以在自己的页面版本上测试您的代码(尽管共享结果会很有趣,但这是可选的)。
- 您可以使用API或直接访问网站。不允许使用网址缩短符。
- 如果还有其他方法可以找到没有代表上限的代表,那么您将无法使用它。您必须使用上述页面中的数据。
请注意,作为答案的帖子的网址有不同的扩展名:
/codegolf/106088 // Answer: Notice the end of the url
/codegolf/106079/detect-ms-windows/106088#106088
/codegolf/106079/ // Question: Notice the end of the url
/codegolf/106079/detect-ms-windows
输出:
输出应为:
Rep w cap: 15440
Rep w/o cap: 16202
格式是可选的,[15440,16202]
可以接受。Rep w cap
可以直接从** total rep 15440 :)
页面底部附近的那一行获取。
这是代码高尔夫球,因此以字节为单位的最短代码获胜。