Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.85/26: Рейтинг темы: голосов - 26, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4

Требуется оптимизировать код

24.09.2019, 16:40. Показов 5410. Ответов 42
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем, доброго времени суток. Вот наверстал такой код!)))) Вопрос следующий: в каком направлении теперь двигаться, для оптимизации написанного. Хочу привести код к более читабельному виду. Просьба, без стеба).



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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
#-*-coding:-utf-8-*-
 
var = int(input('1: Ru - Eng\n2: Eng - Ru\n'))
 
if var == 1:
    print('Конвертация из метрической в неметрическую')
    con = int(input('Что считаем: \n 1. Температура\n 2. Вес\n 3. Длина\n 4. Объем\n 5. Скорость\n'))
# Считаем температуру
    con == 1
    while con == 1:
        if con == 1:
            temperature = int(input(' 1. Цельсий -> Фаренгейт\n 2. Цельсий -> Кельвин\n'))
            if temperature == 1:
                value_temperature = float(input('Сколько градусов по Цельсию?:\n'))
                print(value_temperature, 'градусов по Цельсию составляют', round((((9/5) * value_temperature +32)), 2),'градусов по Фаренгейту')
            elif temperature == 2:
                value_temperature = float(input('Сколько градусов по Цельсию? :\n'))
                print(value_temperature, 'градусов по Цельсию составляют', round((value_temperature + 273.15), 2),'градусов по Кельвину')
            return(var)
    # Считаем вес
    con == 2
    while con == 2:
        if con == 2:
            mas = int(input(' 1. Килограммы -> фунты\n 2. Граммы -> унции \n'))
            if mas == 1:
                value_mas = float(input('Сколько килограмм? :\n'))
                print(value_mas, 'килограмм составляют', round((value_mas * 2.20462), 2), 'фунтов')
            elif mas == 2:
                value_mas = float(input('Сколько грамм? :\n'))
                print(value_mas, 'грамм составляют', round((value_mas * 0.035274), 2), 'унций')
            continue
    print (var)
               
    # Считаем длину
    con == 3
    while con == 3:
        if con == 3:
            dlina = int(input(' 1. Километры -> мили\n 2. Метры -> Ярды\n 3. Метры -> футы\n 4. Сантиметры -> дюймы\n 5. Миллиметры -> дюймы\n'))
            if dlina == 1:
                value_dlina = float(input('Сколько километров? :\n'))
                print(value_dlina, 'километров составляют', round((value_dlina * 1.60934), 2),'миль')
            elif dlina == 2:
                value_dlina = float(input('Сколько метров? :\n'))
                print(value_dlina,'метров составляют', round((value_dlina * 1.09361), 2), 'ярдов')
            elif dlina == 3:
                value_dlina = float(input('Сколько метров? :\n'))
                print(value_dlina,'метров составляют', round((value_dlina / 0.3048), 2), 'футов')
            elif dlina == 4:
                value_dlina = float(input('Сколько сантиметров? :\n'))
                print(value_dlina,'сантиметров составляют', round((value_dlina * 2.5400013716), 2), 'дюймов')
            elif dlina == 5:
                value_dlina = float(input('Сколько милиметров? :\n'))
                print(value_dlina,'миллиметров составляет', round((value_dlina / 0.0393701), 2) ,'дюймов')
            continue
    print (var)            
# Считаем объем
    con == 4
    while con == 4:
        if con == 4:
            space = int(input(' 1. Литры -> галлоны, \n 2. Литры -> пинты\n'))
            if space == 1:
                value_space = float(input('Сколько литров? : '))
                print(value_space,'литров составляет', round((value_space / 3.785411784), 2), 'галлонов')
            elif space == 2:
                value_space = float(input('Сколько литров? :\n'))
                print(value_space, 'литров составляет', round((value_space / 0.56826125), 2), 'пинт')
            elif convertation == 5:
                speed = float(input(' Сколько километров в час? : '))
                print(speed, 'километров в час составляет ', round((speed / 1.60934), 2), 'миль в час')
 
if var == 2:
    print('Конвертация из неметрической в метрическую')
    con = int(input('Что считаем: \n 1. Температура\n 2. Вес\n 3. Длина\n 4. Объем\n 5. Скорость\n '))
 
# Считаем температуру
    con == ()
    while con == 1:
        if con == 1:
            temperature = int(input(' 1. Фаренгейт -> Цельсий\n 2. Кельвин -> Цельсий\n'))
            if convertation == 1:
                value_temperature = float(input('Сколько градусов по Фаренгейту? :\n'))
                print(value_temperature, 'градусов по Фаренгейту = ', round(((5/9) * value_temperature - 32), 2), ' по Цельсию')
            elif convertation == 2:
                value_temperature = float(input('Сколько градусов по Кельвину? :\n'))
                print(value_temperature, 'градусов по Кельвину = ', value_temperature - 273.15, ' по Цельсию')
            continue
# Считаем вес
    con == 2
    while con == 2:
        if con == 2:
            massa = int(input(' 1. Фунты - килограммы\n 2. Унции - граммы\n'))
            if massa == 1:
                value_massa = float(input('Сколько фунтов? :\n'))
                print(value_massa, 'фунтов составляет', round((value_massa * 0.453592), 2),'килограмм')
            elif massa == 2:
                value_massa = float(input('Сколько унций? :\n'))
                print(value_massa, 'унций составляет', round((value_massa * 28.3), 2),'граммов')
            continue
# Считаем длину
    if con == 3:
        dlina = int(input(' 1. Мили -> километры\n 2. Ярды -> метры\n 3. Футы -> метры\n 4. Дюймы -> сантиметры\n'))
        if dlina == 1:
            value_dlina = float(input('Сколько миль? :\n'))
            print(value_dlina, 'миль =', round((value_dlina / 0.621371), 2), 'километров')
        elif dlina == 2:
            value_dlina = float(input('Сколько ярдов? :\n'))
            print(value_dlina, 'ярдов =', round((value_dlina / 0.9144), 2), 'метров')
        elif dlina == 3:
            value_dlina = float(input('Сколько футов? :\n'))
            print(value_dlina, 'футов =', round((value_dlina / 3.28084), 2), 'метров')
        elif dlina == 4:
            value_dlina = float(input('Сколько дюймов? :\n'))
            print(value_dlina, 'дюймов =', round((value_dlina / 0.393701), 2), 'сантиметров')
 
# Считаем объем
    if con == 4:
        space = int(input(' 1. Галлоны -> литры\n 2. Пинты -> литры\n'))
        if space == 1:
            value_space = float(input('Сколько галлонов? : \n'))
            print(value_space,'галлонов =', round((value_space * 3.785411784), 2), 'литров')
            if space == 2:
                value_space = float(input('Сколько пинт? : \n'))
                print(value_space, 'пинт =', round((value_space * 0.473176473), 2), 'литров')
 
# Считаем скорость
    if con == 5:
        speed = float(input('Сколько миль в час? :\n'))
        print(speed,'миль в час =', round((speed * 1.60934), 2),'километров')
Добавлено через 2 минуты
Прошу прощения, в коде ошибки, забыл убрать перед выкладкой.
Не обращайте внимания на окончания циклов!!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
24.09.2019, 16:40
Ответы с готовыми решениями:

Как можно оптимизировать код? Код считывает кол-во скобок
s = input() s = cheked = set() ans = 0 L = len(s) for l in range(L+1 if L % 2 else L, 1, -2): for i in range(L-l+1): ...

Оптимизировать код
Существует число N,не превосходящее 10^9.число можно разложить на множители N=B*C несколькими способами. Нужно найти и вывести минимально...

Оптимизировать код
Как можно оптимизировать этот код, чтобы время выполнения было меньше? Во входном файле 'input.txt' первая строка - цифра, означающая...

42
Модератор
Эксперт Python
 Аватар для Fudthhh
2695 / 1601 / 513
Регистрация: 21.02.2017
Сообщений: 4,210
Записей в блоге: 1
04.10.2019, 10:03
Студворк — интернет-сервис помощи студентам
makgeer, Придерживайся такой конструкции, если используешь if ... elif ... else:

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
# -*- coding: utf-8 -*-
 
def coinTemper(type_temp:int, temp:float)->float:
    if type_temp == 1:
        return temp * 1.8 + 32
    elif type_temp == 2:
        return temp + 273.15
    return -1.0
 
def coinMass(mass_type:int, mass:float)->float:
    if mass_type == 1:
        return mass * 0.035273998
    elif mass_type == 2:
        return mass * 2.2046
    elif mass_type == 3:
        return mass * 0.157473
    elif mass_type == 4:
        return mass / 50.6
    elif mass_type == 5:
        return mass / 45.3
    elif mass_type == 6:
        return mass / 907.18
    elif mass_type == 7:
        return mass / 1016
    return -1.0
 
type_temp = int(input("Введите тип температуры: "))
temp = float(float("Введите значение температуы: "))
print("Получаем: %.3f" % coinTemper(type_temp, temp))
 
mass_type = int(input("Введите тип массы: "))
mass = int(float("Введите значение массы: "))
print("Получаем: %.3f" % coinMass(mass_type, mass))
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
04.10.2019, 10:13  [ТС]
Это просто пустая функция))), я как раз заполняю этот участок кода.
Спасибо за подсказку, буду думать!
Цитата Сообщение от makgeer Посмотреть сообщение
def coinlght():
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
if lght == 1:
i = (float(input('\n')))
return('' + str())
Добавлено через 5 минут

May be sex? No way... Life fuck me every day!
Жестко)))))

Добавлено через 2 минуты
Цитата Сообщение от DmFat Посмотреть сообщение
%.3f" %
поясните пожалуйста форматирование строки?
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
04.10.2019, 10:14
Цитата Сообщение от makgeer Посмотреть сообщение
поясните пожалуйста форматирование строки?
не смотри на этого старого пердуна, в новом молодежном питоне используют f-strings, погугли
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
04.10.2019, 10:15  [ТС]
Цитата Сообщение от DmFat Посмотреть сообщение
print("Получаем: %.3f" % coinTemper(type_temp, temp))
Не совсем понимаю, что делает кусок кода %.3f %

Добавлено через 45 секунд
спасибо, пошел в сетку))
0
04.10.2019, 10:21

Не по теме:

Цитата Сообщение от Welemir1 Посмотреть сообщение
старого пердуна
:'(

0
04.10.2019, 10:26

Не по теме:

DmFat, шутка) никак не могу тебя отучить от этого старого формата) Надеюсь в 4 питоне его задепрекатят

0
04.10.2019, 10:30

Не по теме:

Welemir1, пфф 4 питон, я с 3.5 не слажу.

0
04.10.2019, 10:43

Не по теме:

Цитата Сообщение от DmFat Посмотреть сообщение
я с 3.5 не слажу.
а почему не 3.7? у нас тут круто, словари с порядком вставки, асинк-авейт, более точное измерение времени, гетаттр и дир для модулей(!!!).

0
04.10.2019, 11:22

Не по теме:

Welemir1, не работал какой то модуль на более поздней версии, а он мне очень нужен для работы поэтому в свое время остановился на этой версии. Скорее всего это уже пофиксили, но пока проект не доделаю, не перейду. :)

0
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
24.10.2019, 09:34  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
а что если ввод принимать сразу? и сразу во флоат приводить? и только потом, в зависомти от условия возвращать варианты ответов?
Я правильно понимаю? Конструкция будет выглядеть примерно так:
>> print f(def+str+data) - на выходе получаем обработку данных + вывод
0
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7390 / 4817 / 1246
Регистрация: 30.03.2015
Сообщений: 13,667
Записей в блоге: 29
24.10.2019, 09:49
makgeer, неправильно, я писал про кокретную функцию, что надо запрашивать i до цсловий и потом сразу выводить, не надотам тва инпута.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
24.10.2019, 13:16
Цитата Сообщение от makgeer Посмотреть сообщение
Не совсем понимаю, что делает кусок кода %.3f %
Выводит float-число с точностью 3 цифры после запятой.

Глянь: https://pyformat.info/
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
24.10.2019, 13:42  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
makgeer, неправильно, я писал про кокретную функцию, что надо запрашивать i до цсловий и потом сразу выводить, не надотам тва инпута.
Я наверное не правильно сформулировал вопрос, оформлю код с f-string выложу.
0
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
15.02.2020, 11:21  [ТС]
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#-*-coding:utf-8-*-
# пересчет температур
def Temper(type_temp: int, temp: float) -> float:
    if type_temp == 1:
        return temp * 1.8 + 32
    elif type_temp == 2:
        return temp + 273.15
    return -1.0
 
# пересчет масс
def Mass(type_mass: int, mass: float) -> float:
    if type_mass == 1:
        return mass * 0.035273998
    elif type_mass == 2:
        return mass * 2.2046
    elif type_mass == 3:
        return mass * 0.157473
    elif type_mass == 4:
        return mass / 50.6
    elif type_mass == 5:
        return mass / 45.3
    elif type_mass == 6:
        return mass / 907.18
    elif type_mass == 7:
        return mass / 1016
    return -1.0
 
def Length(type_length: int, length: float) -> float:
    if type_length == 1:
        return length * 1.60934
    if type_length == 2:
        return length * 1.09361
    if type_length == 3:
        return length / 0.30481
    if type_length == 4:
        return length * 2.5400013716
    if type_length == 5:
        return length / 0.0393701
    return -1.0
def precoint():
    if convert == 1:
        type_temp = int(input("Введите тип температуры:\n 1.Forengate\n 2.Kelvin\n:"))
        temp = float(input('Введите значение температуы:\n'))
        return ("Получаем: %.3f" % Temper(type_temp, temp))
    elif convert == 2:
        type_mass = int(input("Введите тип массы:  1. Килограммы -> фунты\n 2. Граммы -> унции \n "))
        mass = float(input("Введите значение массы: "))
        return ("Получаем: %.3f" % Mass(type_mass, mass))
    elif convert == 3:
        type_length = int(input("Введите тип массы: ' 1. Километры -> мили\n 2. Метры -> Ярды\n 3. Метры -> футы\n 4. Сантиметры -> дюймы\n 5. Миллиметры -> дюймы \n' "))
        length = float(input("Введите значение массы: "))
        return ("Получаем: %.3f" % Length(type_length, length))
 
# в дальнейшем преобразовать в f-STRING
# расчет конвертации
var = int(input('1: Ru - Eng\n2: Eng - Ru\n'))
if var == 1:
    print('Конвертация из метрической в неметрическую')
    convert = int(input('Что считаем: \n 1. Температура\n 2. Вес\n 3. Длина\n 4. Объем\n 5. Скорость\n '))
    print (precoint())
Дошел до то этой стадии, понимаю, что есть еще куда двигаться. Наверное нужно в циклы обработчики ошибок добавить и еще несколько фитч. Хотелось бы услышать комментарии и критику.))))

Добавлено через 1 минуту
Цитата Сообщение от makgeer Посмотреть сообщение
Наверное нужно в циклы
Сори в функции
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
15.02.2020, 13:02
1) не использовать глобальные переменные
2) лучше написать функцию main
3) функции называть с маленькой буквы
4) отделить ввод/вывод отдельно

Мой вариант (легко масштабируется):
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
def convert_temp(from_: int, to_: int, value: float) -> float:
    """пересчет температур"""
    if from_ == 0 and to_ == 1:  # цельсия в Forengate
        return value * 1.8 + 32
    if from_ == 0 and to_ == 2:  # цельсия в Kelvin
        return value + 273.15
    raise NotImplementedError
 
convert_temp.name = 'Температура'
convert_temp.units = ('c', 'Forengate', 'Kelvin')
 
 
def convert_mass(from_: int, to_: int, value: float) -> float:
    pass
 
convert_mass.name = 'Вес'
convert_mass.units = ()
 
 
CONVERTERS = (convert_temp, convert_mass)
 
 
def main():
    print('Что конвертим?')
    for i, func in enumerate(CONVERTERS):
        print(f'[{i}] {func.name}')
    func = CONVERTERS[int(input('> '))]
 
    print('Из какой единицы измерения конвертим?')
    for i, unit in enumerate(func.units):
        print(f'[{i}] {unit}')
    from_ = int(input('> '))
 
    print('В какую?')
    for i, unit in enumerate(func.units):
        print(f'[{i}] {unit}')
    to_ = int(input('> '))
 
    value = float(input('Величина:\n> '))
    
    print('Получаем: %.3f' % func(from_, to_, value))
 
if __name__ == '__main__':
    main()
Добавлено через 33 секунды
Наверное, правильнее делать классы…

Добавлено через 7 минут
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
45
46
47
48
49
50
51
class Converter:
    name = ''
    units = ()
    
    def convert(self, from_: int, to_: int, value: float) -> float:
        raise NotImplementedError
 
 
class ConverterTemp(Converter):
    name = 'Температура'
    units = ('c', 'Forengate', 'Kelvin')
 
    def convert(self, from_: int, to_: int, value: float) -> float:
        """пересчет температур"""
        if from_ == 0 and to_ == 1:  # цельсия в Forengate
            return value * 1.8 + 32
        if from_ == 0 and to_ == 2:  # цельсия в Kelvin
            return value + 273.15
        raise NotImplementedError
 
 
class ConverterMass(Converter):
    name = 'Вес'
    units = ()
 
 
CONVERTERS = (ConverterTemp, ConverterMass)
 
 
def main():
    print('Что конвертим?')
    for i, converter in enumerate(CONVERTERS):
        print(f'[{i}] {converter.name}')
    converter = CONVERTERS[int(input('> '))]()
 
    print('Из какой единицы измерения конвертим?')
    for i, unit in enumerate(converter.units):
        print(f'[{i}] {unit}')
    from_ = int(input('> '))
 
    print('В какую?')
    for i, unit in enumerate(converter.units):
        print(f'[{i}] {unit}')
    to_ = int(input('> '))
 
    value = float(input('Величина:\n> '))
    
    print('Получаем: %.3f' % converter.convert(from_, to_, value))
 
if __name__ == '__main__':
    main()
Добавлено через 24 минуты
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Converter:
    name = ''
    units = ()
    k = ()
    
    def convert(self, from_: int, to_: int, value: float) -> float:
        # не паримся и переводим всё в СИ
        value_isu = float(value) * self.k[from_]
        print(value_isu)
        # а потом куда хотим
        return value_isu / self.k[to_]
 
 
class ConverterLength(Converter):
    name = 'Длина'
    units = ('Метр', 'Километр', 'Миля', 'Фут')
    k = (1, 1000, 1609.34, 3.28084)
 
# мили в футы
print(ConverterLength().convert(2, 3, 42.2))
Добавлено через 13 минут
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
class Converter:
    name = ''
    units = ()
    k = ()
    delta = ()
 
    def __init__(self):
        if not self.delta:
            self.delta = [0 for _ in self.k]
    
    def convert(self, from_: int, to_: int, value: float) -> float:
        # не паримся и переводим всё в СИ
        value_isu = float(value) * self.k[from_] - self.delta[from_]
        print(value_isu)
        # а потом куда хотим
        return value_isu / self.k[to_] + self.delta[to_]
 
class ConverterLength(Converter):
    name = 'Длина'
    units = ('Метр', 'Километр', 'Миля', 'Фут')
    k = (1, 1000, 1609.34, 3.28084)
 
class ConverterTemp(Converter):
    name = 'Температура'
    units = ('Кельвин', 'Цельсия', 'Фаренгейт')
    k = (1, 1, 5/9.0)
    delta = (273.15, 0, 32)
 
#print(ConverterLength().convert(2, 3, 42.2))  # мили в футы
print(ConverterTemp().convert(1, 2, 42.2))  # цельсия в Фаренгейт
Ненавижу Фаренгейты…
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
16.02.2020, 13:53  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
value_isu = float(value) * self.k[from_]
print(value_isu)
# а потом куда хотим
return value_isu / self.k[to_]
Спасибо, огромное. Но чувствую себя плагиатором. Понятно, что вверху болванки, в большей степени))).
Кстати этот код видел не раз, но все никак не мог его всунуть в свой "проект". Спасибо за подсказку)).

Добавлено через 4 минуты
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
1) не использовать глобальные переменные
А разве convert получилась глобальной? Вроде она явно не указывает ни на что в коде? Да и в функциях, на мой взгляд, глобальных переменных нет. Или я ошибаюсь?
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
16.02.2020, 14:14
Цитата Сообщение от makgeer Посмотреть сообщение
А разве convert получилась глобальной?
Да, она в глобальной области видимости. Вот здесь вы из неё читаете:
Цитата Сообщение от makgeer Посмотреть сообщение
Python
1
2
def precoint():
    if convert == 1:
Добавлено через 2 минуты
Цитата Сообщение от makgeer Посмотреть сообщение
все никак не мог его всунуть в свой "проект".
Приложения пишутся "слоями". Само ядро приложения (функции со стабильным или не очень API), выше прослойка и интерфейс пользователя. Этакая матрёшка. Ввод/вывод изолировали от вычислений и для пересылки данных сделали API.
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
16.02.2020, 14:20  [ТС]
Цитата Сообщение от Рыжий Лис Посмотреть сообщение
Приложения пишутся "слоями". Само ядро приложения (функции со стабильным или не очень API), выше прослойка и интерфейс пользователя. Этакая матрёшка. Ввод/вывод изолировали от вычислений и для пересылки данных сделали API.
Спасибо, большое.
Я пока только консолью балуюсь, скажем так, изучаю - что будет, если ... )))
До полноценных приложений пока не дорос))).
Хотя, именно этот "проект", хочу допилить до большого, полноценного приложения, для себя.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
16.02.2020, 14:26
Предлагаю далее "пострадать" и прицепить к приложению и интерактивный режим (который сейчас у вас), и модуль https://docs.python.org/3/library/argparse.html

Чтобы прямо из консоли получать результат.
Bash
1
python3 myscript.py --from m --to km 42.2
Сразу будет понятно, зачем нужна модульность кода.

Добавлено через 35 секунд
GUI пока не предлагаю.
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
05.11.2020, 17:08  [ТС]
Добрый день, ребята, подскажите, как пройти по списку и узнать тип каждого элемента?
Python
1
a = [1, 4, (1, 3, 4, ), 'lets go', 'a', 'b', 'abc', ]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2020, 17:08
Помогаю со студенческими работами здесь

Как оптимизировать код?
Школьнику Васе на лето учитель по литературе задал прочитать много художественных произведений. Как хороший ученик, Вася сходил в школьную...

Оптимизировать и модернизировать код
Добрый день, Уважаемые форумчане! Буду благодарен в помощи решения вопроса. Есть строки кода: import requests from btc import * ...

Как оптимизировать код
мне нужно найти количество натуральных делителей числа, с ограничением в 1 с. мой код чуть-чуть выходит за рамки этого ограничения, как...

Как можно максимально оптимизировать данный код через логическое индексирование? Код полностью работает
header = data = , , , , , , , , , , , , ] import numpy as np def salary_info_purchased(data, gender=None, purchased=None): ...

Оптимизировать код
вот сам код n = int(input()) chisla = kol = int(input()); for i in range(kol): zad = if (len(zad) == 2): ...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK сделайте это, JDK, то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера . . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru