Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 32
1

Не могу создать алгоритм

13.03.2020, 11:08. Показов 1145. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех!
В общем задумка такая.
Есть эксель файл где есть лиги и процент проходимости.
Где A1:A335 - Лиги
F1:F335 - процент проходимости

Получается вытащил все что мне нужно и перевёл в такой формат.
Лига Албания 60%
Лига Американская 53%
Лига Алжир. Кубок 70%

Далее я отсеял все цифры которые ниже 60%. Но вот лиги к сожалению не отсеял, не могу понять как это сделать
То есть у меня процент не прикреплен к лиге, а они работают по отдельности. Вот мне нужно чтобы если я убирал процент какой-либо, то и лига убиралась. Как это сделать подскажите пожалуйста.
Вот код программы:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
from openpyxl import load_workbook #подружаем библиотеку
 
wb_val = load_workbook(filename = "firstquarter.xlsx", data_only = True) 
#указываем файл
info = wb_val["Лист2"]
 
#---------------------------------Список ЛИГ-------------------------------
def lisst():
    result = []
    for i in info["A5:A335"]:
        for j in i:
            a = j.value
            result.append(a)
    return result
lisst()
 
#-------------------------------Проходимость-------------------------------
def percent():
    result = []
    for i in info["F5:F335"]:
        for j in i:
            chisla = j.value * 100
            otvet = str(chisla // 1)
            test = otvet + "%"
            result.append(otvet)
    return result      
percent()
 
 
a = percent()
b = lisst()
 
 
for i in range(len(b)):
    print(b[i] + " " + a[i])
 
#----------------------------Убираем левые значения ниже 60%------------------------
def minClear():
    result = []
    for i in range(len(a)):
        if float(a[i]) > float(60):
            result.append(a[i])
    return result
norm = minClear()
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2020, 11:08
Ответы с готовыми решениями:

Возможно ли теоретичеки создать такой алгоритм, который победит "идеальный" алгоритм?
Здравствуйте формучане, вопрос такой. Предположим есть идеальный алгоритм решения конкретной...

Не могу закрепить программы в панели задач, корзина сразу удаляет файлы, не могу создать папку
Небольшая кучка проблем с интерфейсом, если поможете буду признателен! 1. Не могу закрепить...

Алгоритм. Не могу придумать.
Задача такая: Имеется, грубо говоря, 256-битовый порт. Имеется несколько многобитных (от 1 до 16)...

Не могу придумать алгоритм
В общем у меня есть переменные left = 'n'; top = 'n'; right = 'y'; down = 'y'; и нужно чтоб...

11
140 / 110 / 34
Регистрация: 01.11.2019
Сообщений: 387
13.03.2020, 11:18 2
Для работы с таблицами учите Pandas

Python
1
2
3
4
5
6
import pandas as pd 
 
df = pd.read_excel('firstquarter.xlsx')
df = df[df['имя колонки'] >= float(60)]
 
print(df)
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 32
13.03.2020, 11:24  [ТС] 3
А как же openpyxl.
С моим кодом не могли бы подсказать?
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
13.03.2020, 11:25 4
Лучший ответ Сообщение было отмечено naopite как решение

Решение

Сохраняйте не a[i] в список, а i. Потом что-то вроде
Python
1
2
for i in result:
    print(f'Лига: {b[i]}, процент: {a[i]}')
1
140 / 110 / 34
Регистрация: 01.11.2019
Сообщений: 387
13.03.2020, 11:34 5
Зачем писать длинный не читаемый код, когда можно вместо 44 строк можно обойтись 6-ю?
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 32
13.03.2020, 11:38  [ТС] 6
я только учусь. не совсем понимаю как сокращать код)
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
13.03.2020, 11:39 7
volkomorov, так это и есть процесс обучения. Главное, чтобы сам делал. Потом и до pd доберется.
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 32
13.03.2020, 11:41  [ТС] 8
ты бы не мог пожалуйста объяснить что ты конкретно написал вот в коде выше. Всё работает, но не совсем понимаю вот эти f' { и т д . Или что гуглить нужно
0
Status 418
Эксперт Python
4577 / 2344 / 602
Регистрация: 26.11.2017
Сообщений: 5,265
Записей в блоге: 3
13.03.2020, 11:44 9
Подскажите с циклом
0
1303 / 843 / 409
Регистрация: 12.03.2018
Сообщений: 2,305
13.03.2020, 11:49 10
Цитата Сообщение от naopite Посмотреть сообщение
Всё работает, но не совсем понимаю вот эти f' { и т д . Или что гуглить нужно
форматирование строк
Python
1
2
3
4
5
6
str(5) + ' + ' + str(10) + ' = ' + str(5 + 10)
Out[15]: '5 + 10 = 15'
'{} + {} = {}'.format(5, 10, 5 + 10)
Out[16]: '5 + 10 = 15'
f'{5} + {10} = {5 + 10}'
Out[17]: '5 + 10 = 15'
0
0 / 0 / 0
Регистрация: 13.03.2020
Сообщений: 32
13.03.2020, 11:51  [ТС] 11
капец, чуть мозг не взорвался, очень интересно, но так хочется изучить...
0
140 / 110 / 34
Регистрация: 01.11.2019
Сообщений: 387
13.03.2020, 12:22 12
Объедините списки

Python
1
2
3
4
5
6
7
a = ['1 лига', '2 лига']
b = [3, 4]
 
tbl = list(zip(a, b))
for x in tbl:
    if x[1] == 4:
        print(x[0], ': ', x[1])
0
13.03.2020, 12:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.03.2020, 12:22
Помогаю со студенческими работами здесь

Не могу составить алгоритм
Нужно составить алгоритм решения задачи: Даны целые числа а1, а2,...а9. Получить новую...

Не могу сообразить алгоритм
Пользовательский сеанс входящих в промежуток времени он берет. Не могу придумать алгоритм чей сеанс...

Не могу понять алгоритм
Взялся писать шифратор с использованием алгоритма scrypt. Сутки сижу уже - мозг кипит, но не могу...

Не могу реализовать алгоритм
Задание в аттаче, есть идеи как правильно реализовать? void main() { setlocale(LC_ALL,...

Не могу реализовать алгоритм
Доброго времени суток. Имеется каталог товаров с категориями. Сотруднику требуется списать...

Не могу понять алгоритм
Немогу понять алгоритм(закономерность) который потом нужно запоковать в for loop Задача: Есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru