برنامه سیستم شمارش آراء و مرتب سازی با استفاده ازدیکشنری


آقای ژوبین آرتاباز رئیس سازمان ملل متحد هست و قراره راجع به انتخاب هیئت رئیسه یک رای گیری انجام بده! دادمهر جمشیدی که مسئول کامپیوتر سازمان ملل هست برنامه ای نوشته که می شمره هر کشور چند رائ رو کسب کرده. شما قراره با نوشتن برنامه ای به دادمهر کمک کنید تا آراء رو شمارش کنه.

خط اول ورودی شامل عدد n هست که تعداد کل آراء رو نمایش میده. هر یک از n خط بعدی شامل اسم یک کشور می باشد. اسم کشورها از حروف کوچک انگلیسی ساخته شده اند.

در خروجی m خط چاپ کنید که شامل تعداد آراء هر یک از کشورها می باشد. نام کشورها را به ترتیب الفبا در خروجی بنویسید. برای اطلاعات بیشتر به ورودی نمونه و خروجی نمونه مراجعه کنید.

نکته: سیستم داوری آنلاین از پایتون 3.4 استفاده می کند، در این نسخه دیکشنری ها ترتیب ورود اطلاعات به خود را به یاد نمی آورند و ممکن است در صورت مرتب سازی آنها به نتیجه مطلوب نرسید، برای رفع این مشکل به جای dict از OrderedDict استفاده کنید، این ساختار داده را می توانید از کتابخانه collections در برنامه وارد کنید.

ورودی نمونه:

5
sara
hamid
ali
sara
sara
خروجی نمونه:

ali 1
hamid 1
sara 3

پاسخ ها

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

به شکل زیر میشه به فارسی کامنت هاشو نوشتم که بفهمی

my_input=int(input())#
tedad=0
ara=dict()
vorodi=[]
while tedad != my_input:
 y=input()
 tedad +=1
 vorodi.append(y)#ورودی رو بریز در لیست

for letter in vorodi:
 if letter in ara:#اگر کلمه بود در دیکشنری
 ara[letter] +=1# معنی رو یا همون ولیو رو +1 کن
 else:
 ara[letter]=1 #در غیر این صورت =1 کن

for letter in sorted(ara):#برای هرکلمه در مرتب شده آرا
 print(letter,ara[letter])#نمایش بده آرا و معنی آرا هارا

sokanacademy forum
کاربر سکان آکادمی 4 سال پیش

سلام مرسی از کمکت

sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

خیلی سخت نوشتید... امکان ساده سازی هست

sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

خیلی باحاله

x=int(input())
counter=dict()
for i in range(x):
 y=input()
 counter[y]=counter.get(y,0)+1
x1=list(counter.keys())
x1.sort()
for j in x1:
 print(j,counter[j])
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

تست شده و جواب درست داده.

ولی خودتون تمرین کنید

n=int(input())

vote={}
vote1=dict()

for i in range(n):
	s=input()	
	if s in list(vote.keys()):
		vote[s]+=1
	else:
		vote[s]=1

z=list(vote.keys())
z.sort()
for i in z:
	print(i,vote[i])
sokanacademy forum
کاربر سکان آکادمی 3 سال پیش

✅💙

# this is program a system shomaresh ara ;)
tedad_ara = int(input())
natije = {}
for ara in range (0, tedad_ara):
....ray_dahande = input()
....natije[ray_dahande] = natije.get(ray_dahande , 0) + 1
ray_dahande_ha = list(natije.keys())
ray_dahande_ha.sort()
for ray_dahande in ray_dahande_ha:
....print(ray_dahande, natije[ray_dahande])
online-support-icon