Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 17, 2016 18:59:11

Poll_Finnegan
Зарегистрирован: 2016-02-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Какое самое маленькое число делится нацело на все числа от 1 до 20?

Всем привет.В общем,только начинаю изучать питон.Начал решать эту задачку,писал через функцию.Саму функцию протестировал,пашет,а вот со вторым куском программы что-то не то.Кто-нибудь может объяснить почему мне выбивает что n=0 ? И как нужно написать что-бы работало?


def delenie(n):
    x=0
    for i in range(1,21):
        if n%i==0:
            x+=1
    if x==20:
        return True
    else:
        return False
n=0
while delenie(n)==False:
    n+=1
print(n)
    

Отредактировано Poll_Finnegan (Фев. 17, 2016 18:59:55)

Офлайн

#2 Фев. 17, 2016 19:12:36

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Какое самое маленькое число делится нацело на все числа от 1 до 20?

Начни не с нуля, а с единицы

n=1
while delenie(n)==False:
    n+=1
print(n)



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Отредактировано ajib6ept (Фев. 17, 2016 19:13:01)

Офлайн

#3 Фев. 17, 2016 19:26:47

Poll_Finnegan
Зарегистрирован: 2016-02-17
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Какое самое маленькое число делится нацело на все числа от 1 до 20?

ajib6ept
Начни не с нуля, а с единицы
Начал,теперь вообще ничего не происходит)

Офлайн

#4 Фев. 17, 2016 19:52:13

ampermetr
Зарегистрирован: 2016-01-27
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

Какое самое маленькое число делится нацело на все числа от 1 до 20?

Происходит)) Если первая часть задачи верная, то n == 232792560

Офлайн

#5 Фев. 18, 2016 11:23:24

andrei186
Зарегистрирован: 2016-02-04
Сообщения: 90
Репутация: +  -1  -
Профиль   Отправить e-mail  

Какое самое маленькое число делится нацело на все числа от 1 до 20?

ampermetr
792
а должно быть 19399380 ?

Офлайн

#6 Фев. 18, 2016 11:45:09

ampermetr
Зарегистрирован: 2016-01-27
Сообщения: 34
Репутация: +  1  -
Профиль   Отправить e-mail  

Какое самое маленькое число делится нацело на все числа от 1 до 20?

Не совсем понял о чем речь, если о “Если первая часть задачи верная,…” так это из-за того, что у меня было предположение, оказавшееся неверным. А исправить забыл.

Вторую часть я бы сделал так:

n=2
while delenie(n)==False:
    n+=2
print(n)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version