# -*- coding: utf-8 -*-
"""spyder editor
this is a temporary script file.
"""# -*- coding: utf-8 -*-
"""created on fri nov 12 13:54:22 2019
@author: mikey
"""import numpy as np
def count_name():
count = {}
count['bill'] = 10
count['jane'] = 15
count['charlle'] = 18
count['mary'] = 17
value_list = sorted(list(count.items()), key=lambda x:x[1], reverse=true)
print(value_list)
se = 0
vlist=
for e in value_list:
se += e[1]
c = 0.5* float(se)
print(vlist)
#c=0.5*float(np.sum(value_list[1]))
while(1):
#排序#
print("\n一輪開始:競選者的新票數-origin")
print(vlist)
print("競選者的票數-排序後")
vlist = sorted(vlist, key=lambda x:x[1], reverse=true)
#value_list.sort(reverse=true)
print(vlist)
number_of_list=len(vlist)
minv = vlist[-1][1]
if float(vlist[0][1])>c:
#print(count[0]+" is winner")
print("winner " + str(vlist[0][0]) + " has " + str(vlist[0][1]) + " votes")
break
else:
del vlist[-1]
print("競選者的票數-去掉最低")
print(vlist)
number_of_list=len(vlist)
print(number_of_list)
y=np.random.randint(minv, size=number_of_list)
v={}
ratio = minv / sum(y)
for i in range(len(y)):
v[i] = int(y[i]*ratio)
vl = list(v.values())
##隨機產生乙個序號,將差值加給這個人
idx=np.random.randint(number_of_list)
v[idx] = v[idx] + (minv-int(np.sum(vl)))
#v則為隨機產生的序列,序列之和為淘汰那位的票數
print("淘汰者的票數產生的隨機數")
print(v)
#將隨機產生的序列加到原來的序列中
print(type(vlist[0][0]))
for i in range(len(vlist)):
vlist[i][1] += v[i]
count_name()
進行投票選舉時,如果投票者手中有多票的時候,該怎麼統計票數呢? python寫乙個服務 Python寫乙個服務
coding utf 8 import json from urllib.parse import parse qs from wsgiref.server import make server 定義函式,引數是函式的兩個引數,都是python本身定義的,預設就行了。定義檔案請求的型別和當前請求成功...
用python寫乙個簡單的推薦系統
在上篇文章豆瓣電影,電視劇集dm實戰中提及到,我和室友們產生了劇荒,萌生出要做乙個個人用的推薦系統,解決劇荒的問題的想法,經過一輪的死纏爛打,這個個人推薦系統終於成型了。今天來分享一下心得,對此感興趣的朋友可以自己對著寫乙個。首先介紹一下傳統的推薦系統方法,之所以叫它傳統,是因為大部分學習資料上都是...
python寫乙個incaseformat檢測工具
1.13日爆發的incaseformat病毒會在對應的系統時間觸發攻擊行為,能在短時間內刪除除了系統盤之外的所有檔案。據研究人員稱該病毒會在1.23再次爆發,小r根據該病毒生成特點製作了乙個簡單的檢測工具。程式設計環境 python3.7 from tkinter import import os....