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

Уменьшить код

04.06.2018, 12:14. Показов 955. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, у меня есть код который делает всего ничего, но занимает очень много строк. Суть заключается в том, что я хочу чтобы при запуске кода, к переменным присваивались названия съемных носителей для дальнейшей работы. Например если в компьютере 2 флешки, то работа будет с двумя переменными, но заранее не известно сколько всего флешек + присваиваться должна только буква. Прошу не судить строго за код, учусь всего 3 дня.

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
DRIVE_REMOVABLE = 2
 
drives = win32api.GetLogicalDriveStrings()
drives = drives.split('\000')[:-1]
 
removable = {}
idx = 1
for root in drives:
    if win32file.GetDriveTypeW(root) == DRIVE_REMOVABLE:
        removable['root_' + str(idx)] = root
        idx += 1
 
z = 0
while z == 0:
    try:
        lines1 = list(removable['root_1'])
    except KeyError:
        z = 1
    try:
        lines1 = list(removable['root_2'])
    except KeyError:
        z = 1
    try:
        lines2 = list(removable['root_3'])
    except KeyError:
        z = 1
    try:
        lines3 = list(removable['root_4'])
    except KeyError:
        z = 1
 
x = 0
while x == 0:
    try:
        a = (lines[0])
    except NameError:
        x = 1
    try:
        s = (lines1[0])
    except NameError:
        x = 1
    try:
        d = (lines2[0])
    except NameError:
        x = 1
    try:
        f = (lines3[0])
    except NameError:
        x = 1
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.06.2018, 12:14
Ответы с готовыми решениями:

Как найти ошибку и уменьшить код
Решил пощупать python для того, чтобы выбрать что изучать. Поставил задачу - написать простенькую программку, которая будет вычислять дату...

ЕГЭ-2021 уменьшить или улучшить код
Можно ли как то уменьшить код или сделать лучше? ответы верные за исключением того, что придется ручками числа делить ,которые выдал питон.

Уменьшить код
Можно ли как-то улучшить код на 14-16 строке так что-бы было столько числел сколько находится в переменной num? from tkinter import * ...

3
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.06.2018, 12:53
Цитата Сообщение от LuckyNOOB Посмотреть сообщение
у меня есть код который делает всего ничего, но занимает очень много строк.
Вы не с того начали. Расскажите, что вы собираетесь делать с буквами флешек (вы ведь уже написали основной код, кроме получения букв?) - исходя из этого вам подскажут оптимальный вариант кода.
Сказку про X,Y,Z знаете?
Цитата Сообщение от LuckyNOOB Посмотреть сообщение
я хочу чтобы при запуске кода, к переменным присваивались названия съемных носителей
На самом деле вам нужно совсем другое.
0
2 / 2 / 0
Регистрация: 02.06.2018
Сообщений: 39
04.06.2018, 15:03  [ТС]
Собираюсь использовать в дальнейшем для автоматического перемещения информации на диск

Добавлено через 1 час 56 минут
Цитата Сообщение от Garry Galler Посмотреть сообщение
На самом деле вам нужно совсем другое
Что?
0
Эксперт Python
5438 / 3859 / 1215
Регистрация: 28.10.2013
Сообщений: 9,552
Записей в блоге: 1
04.06.2018, 15:42
Цитата Сообщение от LuckyNOOB Посмотреть сообщение
Собираюсь использовать в дальнейшем для автоматического перемещения информации на диск
А код написан?

Я же вам пример уже давал - простой цикл по полученному списку(или словарю) флеш-дисков (или даже сразу в основном цикле) решает вашу задачу. Никаких дополнительных переменных на самом деле не требуется.
Python
1
2
3
4
for root in drives:
    if win32file.GetDriveTypeW(root) == DRIVE_REMOVABLE:
        print(root)
        # что-то делаем с диском
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.06.2018, 15:42
Помогаю со студенческими работами здесь

Возможно ли уменьшить данный код?
Здравствуйте! Дорогие программисты, подскажите, можно ли как-то уменьшить/сократить этот код? Для каждого поста бот отправляет...

Уменьшить код
package figures; /** * * @author Борозенцев_АГ */ import java.util.ArrayList; import java.util.List; import...

Уменьшить код
Можно как-то поменьше сделать? #include <iostream> #include <ctime> int compare(int Ch,int usernum1) { while(true) ...

Уменьшить код
Здравствуйте, меня интересует как можно избавить от большого колличества повторяемых строк, в этом деле новичёк поэтому смог написать...

Уменьшить код
Здравствуйте, сделал такую программу, но препод сказал: «можно написать в одну строчку». Помогите пожалуйста, никак не могу сократить...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru