Рейтинги

Розрахувати рейтинг означає знайти числовий відповідник елементам списку (наприклад, їхню частоту), і відсортувати список за числовими значеннями. Зазвичай це означає, що потрібно сортувати числа, одночасно змінюючи порядок текстових (або числових) елементів.


Вхідні дані задач містяться у текстових файлах.


Задача 1. У місті є 100 переможців олімпіад та конкурсів з 10 шкіл (за номерами 1-10, файл schools.txt). Необхідно визначити рейтинг цих шкіл



Задача 2. На спортивних змаганнях оцінку виставляють 10 суддей. Найбільша та найменша оцінки відкидаються, а з решти обраховується середнє значення, що й є оцінкою за виступ. Порівняти 2 середні бали: з відкиданням найбільшої та найменшої та без. файл sport.txt

https://www.e-olymp.com/uk/problems/7368



Задача 3. У змаганнях беруть участь 10 учасників. Кожному з них обчислити бал за чесною схемою. Надрукувати рейтинг спортсменів. Порахувати середній бал без відкидання крайніх оцінок. Порівняти отримані рейтинги. Файл champ.txt


Задача 4. Потрібно обміняти 100 євро на долари. У якому банку це найвигідніше зробити? Файли: bank.txt, buy.txt, sale.txt, buy_euro.txt, sale_euro.txt


Розв'язки самостійних задач:
file=open("champ.txt","r")
all=[]
for i in range(10):
    judge=[]
    for y in range(10):
        line=file.readline()
        judge.append(int(line))
    print(judge)
    all.append(judge)
print(all)
sportsman1=[]
sportsman2=[]
for zapys in all:
    suma=0
    for element in zapys:
        suma += element
    print(suma, suma/10)
    sportsman1.append(suma/10)
    suma=suma-max(zapys)-min(zapys)
    print(suma, suma/8)
    sportsman2.append(suma/8)
print(sportsman1,sportsman2)
file=open("surnames.txt","r")
surnames=[]
for y in range(10):
        line=file.readline()
        surnames.append(line.strip())
print(surnames)
for y in range(10):
    for i in range(9):
        if sportsman1[i]>sportsman1[i+1]:
            k=sportsman1[i]
            sportsman1[i]=sportsman1[i+1]
            sportsman1[i+1]=k
            k=surnames[i]
            surnames[i]=surnames[i+1]
            surnames[i+1]=k            
print(surnames) 



===============================================
file0=open("bank.txt","r")
file1=open("buy.txt","r")
file2=open("sale.txt","r")
file3=open("buy_euro.txt","r")
file4=open("sale_euro.txt","r")
line=file0.readline()
banks=[[],[],[],[],[]]
while line:
    banks[0].append(line.strip())
    line=file1.readline()
    banks[1].append(float(line))
    line=file2.readline()
    banks[2].append(float(line))
    line=file3.readline()
    banks[3].append(float(line))
    line=file4.readline()
    banks[4].append(float(line))
    line=file0.readline()
print(banks)
for element in banks[0]:
    if banks[0].index(element) == banks[3].index(max(banks[3])):
        print(max(banks[3]), element)
    if banks[0].index(element) == banks[2].index(min(banks[2])):
        print(min(banks[2]),element)
diff=[]
for nomer in range(len(banks[0])):
    diff.append(banks[3][nomer]-banks[2][nomer])
for element in banks[0]:
    if banks[0].index(element) == diff.index(max(diff)):
        print(max(diff), element)

Остання зміна: понеділок 13 липня 2020 4:31