Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Нужна помощь с python

Artem Bebe Ученик (122), на голосовании 3 недели назад
есть у меня код на python и я в нём сделал команду она сделалась и командноя строка с программой закрылась а я хочу чтоб сделал команду и можно было ещё раз ввести и крестиком закрыть. как такое осуществить?
Дополнен 1 месяц назад
вот код
from yeelight import Bulb
Bulb = Bulb("192.168.1.6")
print('on')
print('off')
print('temp')
print('bright')
print('red')
print('green')
print('blue')
y = str(input());
if y == 'on':
Bulb.turn_on()
elif y == 'off':
Bulb.turn_off()
elif y == 'temp':
print('1700-6500')
print('HOME:4000')
t = int(input());
Bulb.set_color_temp(t)
elif y == 'bright':
print('1-100')
b = int(input());
Bulb.set_brightness(b)
elif y == 'red':
Bulb.set_rgb(255, 0, 0)
Bulb.set_brightness(100)
elif y == 'green':
Bulb.set_rgb(0, 255, 0)
Bulb.set_brightness(100)
elif y == 'blue':
Bulb.set_rgb(0, 0, 255)
Bulb.set_brightness(100)
Голосование за лучший ответ
unluck1_one Мастер (1706) 1 месяц назад
Тебе в коде нужно нажать F5, тогда у тебя откроется IDLE и там делай что угодно
Artem BebeУченик (122) 1 месяц назад
Я же код забыл положить вот он
from yeelight import Bulb
Bulb = Bulb("192.168.1.6")
print('on')
print('off')
print('temp')
print('bright')
print('red')
print('green')
print('blue')
y = str(input());
if y == 'on':
Bulb.turn_on()
elif y == 'off':
Bulb.turn_off()
elif y == 'temp':
print('1700-6500')
print('HOME:4000')
t = int(input());
Bulb.set_color_temp(t)
elif y == 'bright':
print('1-100')
b = int(input());
Bulb.set_brightness(b)
elif y == 'red':
Bulb.set_rgb(255, 0, 0)
Bulb.set_brightness(100)
elif y == 'green':
Bulb.set_rgb(0, 255, 0)
Bulb.set_brightness(100)
elif y == 'blue':
Bulb.set_rgb(0, 0, 255)
Bulb.set_brightness(100)
Celtic Hammer Мудрец (12906) 1 месяц назад
Не нужно выносить этот нубский вопрос "в лидеры". Консоль Питона так устроена. Программа выполнилась - программа после завершения работы сразу же закрылась. Другого не дано. Код пишут не в консоли, а в редакторах кода. Там этой беды нет
Artem BebeУченик (122) 1 месяц назад
Я его в блокноте написао вот он
from yeelight import Bulb
Bulb = Bulb("192.168.1.6")
print('on')
print('off')
print('temp')
print('bright')
print('red')
print('green')
print('blue')
y = str(input());
if y == 'on':
Bulb.turn_on()
elif y == 'off':
Bulb.turn_off()
elif y == 'temp':
print('1700-6500')
print('HOME:4000')
t = int(input());
Bulb.set_color_temp(t)
elif y == 'bright':
print('1-100')
b = int(input());
Bulb.set_brightness(b)
elif y == 'red':
Bulb.set_rgb(255, 0, 0)
Bulb.set_brightness(100)
elif y == 'green':
Bulb.set_rgb(0, 255, 0)
Bulb.set_brightness(100)
elif y == 'blue':
Bulb.set_rgb(0, 0, 255)
Bulb.set_brightness(100)
Улик Додиков Оракул (98893) 1 месяц назад
Чтобы сделать возможность повторного ввода команд без закрытия программы, оберни весь блок команд после создания объекта `Bulb` в бесконечный цикл и добавь условие для выхода из него. Вот пример:
 
from yeelight import Bulb

bulb = Bulb("192.168.1.6")

while True:
print('on\noff\ntemp\nbright\nred\ngreen\nblue\nexit') # Добавил команду 'exit'
y = input()

if y == 'on':
bulb.turn_on()
elif y == 'off':
bulb.turn_off()
elif y == 'temp':
print('1700-6500\nHOME:4000')
t = int(input())
bulb.set_color_temp(t)
elif y == 'bright':
print('1-100')
b = int(input())
bulb.set_brightness(b)
elif y == 'red':
bulb.set_rgb(255, 0, 0)
bulb.set_brightness(100)
elif y == 'green':
bulb.set_rgb(0, 255, 0)
bulb.set_brightness(100)
elif y == 'blue':
bulb.set_rgb(0, 0, 255)
bulb.set_brightness(100)
elif y == 'exit': # Условие для выхода из цикла
break


Таким образом, программа будет запрашивать команды до тех пор, пока не будет введено `exit`.
Artem BebeУченик (122) 1 месяц назад
Спасибо большое!!!
Улик Додиков Оракул (98893) Artem Bebe, ?
Похожие вопросы