100 DaysofCodeの15日:詐欺師の数を見つけるダミープロジェクト


今日は私の15日目です.今日、私はCSSのより多くの特性を学びました、それらの中でいくつかは十分な対照を使用することによって避けられない色盲問題を避けていて、慎重に情報を伝える色を選択することによって色盲問題を回避して、記述的なリンクテキストを使用することによって意味を意味するリンクを与えて、TabIndexを使用して、Freecodecamp.の上で要素をキーボードに加えるようにしました
また、私は、coursera.からのウェブデータのPythonアクセスについてもっと知りました.私は1つのプロジェクトの総有権者、ユニークな有権者、詐欺有権者の数を見つけるために、投票数回以上投票した.

詐欺有権者の数を見つけるコード
私の挑戦は以下の通りです.
## Challenge 1
You worked hard to get a government job but it is part time only and if you did well, then there is a high chance of getting a permanent placement. And you are assigned to one task. As trainee, you have nothing hard task but a boring one. 
You are assigned to a vote counting board and you have to count valid votes. 

After looking at the past data, you knew that there has been irregularities on vote counting. Some corrupt politician feeds some money to do revote on themself. And the previous authorities didn't knew about that but lucky you, did and this is going to one hell of a promotion. So you knew that, there are 5 parties, A, B, C, D and E and a person's name, age and citizenship id. And there are only few chances that same person has similar name, age and citizenship id. So you will have data like below:
Ram Lama,29,2030-03-01-055,A
Judda Thapa,19,2040-03-01-055,B
Haris Lama,29,2030-03-03-055,B
Aakriti Tiwari,39,2023-03-01-055,C
Ramesh Shah,22,2031-03-01-034,D
Ram Lama,29,2030-03-01-055,A
Problem 1: Find out how many valid votes there has been?ファイルを読み始めました.このように、ファイルは1つのファイルポインタとして読み込まれ、自動的に閉じられます.
with open("vote 1.txt", "r") as fp:
    lines = fp.readlines()
    lines

そして、私は全体の有権者を見つけるために、len()を使いました.私はlen(set())を使用したユニークな有権者のためにこれは非繰り返し値を与える.その後、詐欺師はユニークな有権者との総有権者を差し引くことによって見つけるのは簡単です.
print(f"Total  {len(lines)} votes.")
print(f"Total {len(set(lines))} unique votes.")
print(f"There are {len(lines)-len(set(lines))} fraud votes.")
Problem 2 Who voted more than once?投票した有権者を見つけるために、私は1セットを構築します.ループがあります.アイテムの数が1回以上繰り返されるならば、繰り返されたアイテムに保たれます.私は有権者の名前をキーとして維持するために空の辞書を構築し、彼らは値として何回投票した.そして、私のプログラムは、私のコードの下で与えられます.
# Who voted more than once
repeated_items = set()
for item in lines:
    if lines.count(item)>1:
        repeated_items.add(item)
#print(repeated_items)

occurance = {}

for item in lines:
    if occurance.get(item):
        occurance[item]+=1
    else:
        occurance[item]=1
nd = {k: v for k, v in list(reversed(sorted(occurance.items(), key=lambda item: item[1])))}
nd

の15日との* FreeDeDECAMP *上のCSSのより多くのプロパティに取り組んで* Coursera * Pythonのコードのウェブサイト上でPythonのアクセスについては、総有権者、詐欺有権者、ユニークな有権者、ダミー投票データから一度以上投票した有権者