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

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

24.09.2019, 16:40. Показов 5412. Ответов 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
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.11.2020, 17:10
Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
>>> a = [1, 4, (1, 3, 4, ), 'lets go', 'a', 'b', 'abc', ]
>>> for i in a:
...     print(type(i), i)
... 
<class 'int'> 1
<class 'int'> 4
<class 'tuple'> (1, 3, 4)
<class 'str'> lets go
<class 'str'> a
<class 'str'> b
<class 'str'> abc
Добавлено через 16 секунд
Новую тему бы создал
1
2 / 2 / 0
Регистрация: 24.04.2018
Сообщений: 45
Записей в блоге: 4
05.11.2020, 17:25  [ТС]
Да нет, я в рамка этого проекта, решил заморочиться на проверки)). Почитал, примерно ту же конструкцию написал, только скобки не те применил. Туплю немного type[i], i и у меня прога ругается и падает.))) Спасибо за помощь.

Добавлено через 5 минут
Решил, взять вашу конструкцию со списками, очень продуктивно для конвертера. И для проверки ввода от пользователя, решил сделать проверки типов данных на вводе и в списке, для устранения разногласий.
0
Просто Лис
Эксперт Python
 Аватар для Рыжий Лис
5972 / 3734 / 1099
Регистрация: 17.05.2012
Сообщений: 10,791
Записей в блоге: 9
05.11.2020, 17:43
Проверки лучше пилить через
Python
1
if isinstance(i, int):
Python
1
if isinstance(i, (list, tuple)):
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
05.11.2020, 17:43
Помогаю со студенческими работами здесь

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

Оптимизировать и модернизировать код
Добрый день, Уважаемые форумчане! Буду благодарен в помощи решения вопроса. Есть строки кода: 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): ...


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

Или воспользуйтесь поиском по форуму:
43
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка 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 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru