Найти - Пользователи
Полная версия: Здраствуйте форумчани...=)
Начало » Python для новичков » Здраствуйте форумчани...=)
1 2 3 4
py.user.next
lolbefree
простите, но там условие
если число больше 100, то прекращаем считывать числа
Если введённое число больше ста, то выход, но никак не “если введено сто чисел, то выход”.

lolbefree
Работаю сисадмином, хочу переквалифицироватся в программера)
Вот и представь, что на стандартный поток ввода (stdin) подаётся содержимое файла с миллионом чисел.
lolbefree
Shaman
Осталось совсем чуть-чуть.
так уже ) условие выполненно.
n = 1
while (n < 100):
n = int(input())
if n in range(10,101):
print (n)
Shaman
lolbefree
условие выполненно.
Даже целых два раза.
lolbefree
Shaman
а как по другому сделать если я знаю только цикл while и for…
FishHook
lolbefree
if n in range(10,101):
больше так никогда не делай
lolbefree
FishHook
а почему? есть какоето обьяснение?
FishHook
lolbefree
а почему? есть какоето обьяснение?
Потому что программирование - это прежде всего искусство создания эффективных алгоритмов. Твой код работает, но он неэффективен. “Но работает же! Что еще надо?”. Работает, но надо чтобы работал не абы как, а с наименьшими затратами памяти, процессорного времени, времени выполнения - т.е. ресурсов. Теоретически можно воду в решете носить и собачьим хвостом гвозди забивать, но это тупая неэффективная работа.
Что твой код делает по шагам
if n in range(10,101):
1. Создаём в памяти список из 90 элементов
2. Проходимся по этому списку
3. С каждым из элементов списка сравниваем число n

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

и после этого прокатило…
FishHook
lolbefree
но я первое свое решение так же решил… Сайт на котором я прохожу обучение не принимал решения
Мне насрать. Надеюсь ты понял, почему так нельзя делать и следующие свои решения будешь оценивать с точки зрения рациональности и здравого смысла.
lolbefree
FishHook
за чем ты так? я только начал- пытаюсь как-то разобратся, спрашиваю как, что… интересуюсь..
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB