python寫的乙個選票系統

2021-09-29 13:59:23 字數 1845 閱讀 7154

# -*- 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....