2016-03-17 3 views
-2
multiple_one = 3.0 
multiple_two = 5.0 
multiple_answer = 1 
while (multiple_answer < 1000): 
    number_of_multiples = 0 
    checking_multiple = 1000.0 
    if (checking_multiple/multiple_one).is_integer: 
     number_of_multiples += 1 
    elif (checking_multiple/multiple_one).is_integer: 
     number_of_multiples += 1 
    checking_multiple -= 1 
print number_of_multiples 

Мой код должен печатать, сколько кратных есть, но продолжает терпеть неудачу. Почему это ?Почему мой код не выводит вывод?

+0

для начинающих вы инициализируете 'number_of_multiplies' на' 0' на каждой итерации, поэтому любые изменения в вашей строке 'if' будут выброшены, а для' check_multiple' – EdChum

+2

Вы не меняете 'multiple_answer' вообще. Вы никогда не выйдете из цикла таким образом. –

+3

Также ваши 'if' и' elif' полностью совпадают ... – Idos

ответ

0

Вы никогда не меняете multiple_answer, поэтому он всегда меньше 1000, поэтому вы застряли в бесконечном цикле в инструкции while. Вы хотите подсчитать количество раз умноженных чисел? Если да, то вы хотите изменить

multiple_one = 3.0 
multiple_two = 5.0 
multiple_answer = 1 
while (multiple_answer < 1000): 
    number_of_multiples = 0 
    checking_multiple = 1000.0 
    if (checking_multiple/multiple_one).is_integer: 
     number_of_multiples += 1 
    elif (checking_multiple/multiple_one).is_integer: 
     number_of_multiples += 1 
    checking_multiple -= 1 
print number_of_multiples 

быть:

multiple_one = 3.0 
multiple_two = 5.0 
multiple_answer = 1 
while (number_of_multiples < 1000): 
    checking_multiple = 1000.0 
    if (checking_multiple/multiple_one).is_integer: 
     number_of_multiples += 1 
    elif SOMETHING_DIFFERENT: 
     SOMETHING_ESLE_DIFFERENT 
print number_of_multiples 

Таким образом, вы не сбросить number_of_multiples в каждой итерации, и вы проверяете время цикла против чего-то, что меняется на основе итерации ,

1

Ваша программа застревает в бесконечном цикле. Вы начинаете цикл здесь:

while (multiple_answer < 1000): 

, но никогда не обновлять multiple_answer так что ваш цикл никогда не заканчивается.

Смежные вопросы