Цикл с отступом не выполняется - Python - PullRequest
0 голосов
/ 06 мая 2019

У меня есть цикл while под другим циклом while, и внутренний цикл не выполняется

код:

def iterate():
    while True:
        print 'jk jk'   
        while freqsenderdict.i in freqsenderdict.senders:
            print 'In here'
            #some function calls
    return

Он печатает только

jkjk

freqsenderdict - еще один модуль, импортированный в эту программу.код:

#!/usr/bin/env python
i = 0
senders = {
        1 : 600,
        2 : 601
        }

Если я не объявляю i в freqsenderdict, я получаю сообщение об ошибке: глобальное имя не определено.

Ответы [ 3 ]

0 голосов
/ 06 мая 2019

Это потому, что внутренний цикл while не удовлетворяет условию. то есть freqsenderdict.i in freqsenderdict.senders: (Ложь). Вы должны использовать цикл while осторожно. На основании вашего кода, если условие удовлетворяет, цикл будет выполняться бесконечно.

0 голосов
/ 06 мая 2019

Для будущих читателей:

Я написал этот код неправильно. Это должно было быть for вместо while, и это заставило его работать.

0 голосов
/ 06 мая 2019

очевидно, исходя из вашего объяснения,

i = 0
senders = {
        1 : 600,
        2 : 601
        }

freqsenderdict.i не в freqsenderdict.senders.будь крут

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...