Уведомления

Группа в Telegram: @pythonsu

#1 Май 18, 2015 23:28:12

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

lolbefree
простите, но там условие
если число больше 100, то прекращаем считывать числа
Если введённое число больше ста, то выход, но никак не “если введено сто чисел, то выход”.

lolbefree
Работаю сисадмином, хочу переквалифицироватся в программера)
Вот и представь, что на стандартный поток ввода (stdin) подаётся содержимое файла с миллионом чисел.



Отредактировано py.user.next (Май 18, 2015 23:28:38)

Офлайн

#2 Май 19, 2015 08:23:18

lolbefree
Зарегистрирован: 2015-05-18
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

Shaman
Осталось совсем чуть-чуть.
так уже ) условие выполненно.
n = 1
while (n < 100):
n = int(input())
if n in range(10,101):
print (n)

Офлайн

#3 Май 19, 2015 20:10:52

Shaman
Зарегистрирован: 2013-03-15
Сообщения: 1369
Репутация: +  88  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

lolbefree
условие выполненно.
Даже целых два раза.

Офлайн

#4 Май 20, 2015 07:50:43

lolbefree
Зарегистрирован: 2015-05-18
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

Shaman
а как по другому сделать если я знаю только цикл while и for…

Офлайн

#5 Май 20, 2015 07:59:35

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

lolbefree
if n in range(10,101):
больше так никогда не делай



Офлайн

#6 Май 20, 2015 08:24:00

lolbefree
Зарегистрирован: 2015-05-18
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

FishHook
а почему? есть какоето обьяснение?

Офлайн

#7 Май 20, 2015 08:35:30

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

lolbefree
а почему? есть какоето обьяснение?
Потому что программирование - это прежде всего искусство создания эффективных алгоритмов. Твой код работает, но он неэффективен. “Но работает же! Что еще надо?”. Работает, но надо чтобы работал не абы как, а с наименьшими затратами памяти, процессорного времени, времени выполнения - т.е. ресурсов. Теоретически можно воду в решете носить и собачьим хвостом гвозди забивать, но это тупая неэффективная работа.
Что твой код делает по шагам
if n in range(10,101):
1. Создаём в памяти список из 90 элементов
2. Проходимся по этому списку
3. С каждым из элементов списка сравниваем число n

Если тебе дать задачу сделать то же самое, то есть определить, входит ли число в диапазон, ты будешь делать эти шаги (напишешь на бумажке 90 чисел от 10 до 101 и будешь с каждым из них сравнивать) или выполнишь два простых сравнения?
if n > 10 and n < 101



Отредактировано FishHook (Май 20, 2015 08:38:30)

Офлайн

#8 Май 20, 2015 10:29:33

lolbefree
Зарегистрирован: 2015-05-18
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

FishHook
Спасибо ! но я первое свое решение так же решил… Сайт на котором я прохожу обучение не принимал решения
c = 0
while c < 100:
    n = input()
    n = int(n)
    if (n < 100) and (n > 10):
        print (n)
    if (n > 100):
        break
    if 10 < n:
        continue
    c += 1
потом я подумал может изза счетчика c = 0
переделал на
n = 1
while (n < 100):
    n = int(input())
    if n in range(10,101):
        print (n)

и после этого прокатило…

Отредактировано lolbefree (Май 20, 2015 10:30:51)

Офлайн

#9 Май 20, 2015 10:40:00

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

lolbefree
но я первое свое решение так же решил… Сайт на котором я прохожу обучение не принимал решения
Мне насрать. Надеюсь ты понял, почему так нельзя делать и следующие свои решения будешь оценивать с точки зрения рациональности и здравого смысла.



Офлайн

#10 Май 20, 2015 10:46:25

lolbefree
Зарегистрирован: 2015-05-18
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Здраствуйте форумчани...=)

FishHook
за чем ты так? я только начал- пытаюсь как-то разобратся, спрашиваю как, что… интересуюсь..

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version