rahimianvahidc

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

rahimianvahidc ۱۳۹۹/۰۱/۰۷ زبان برنامه‌نویسی پایتون


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

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

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

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

ورودی نمونه:

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

ali 1
hamid 1
sara 3

پاسخ‌ها به این تاپیک
mahigirmohamad
mahigirmohamad
۱۳۹۹/۰۹/۰۳

خیلی باحاله

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])
mamaly433
mamaly433
۱۳۹۹/۰۱/۱۲

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

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])#نمایش بده آرا و معنی آرا هارا

rahimianvahidc
rahimianvahidc
۱۳۹۹/۰۱/۱۳

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

در پاسخ به

srastgou
srastgou
۱۳۹۹/۰۷/۱۰

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

در پاسخ به