Уведомления

Группа в Telegram: @pythonsu

#1 Май 12, 2018 00:06:06

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

проблема с циклами

 import subprocess, threading
s = 'say hello world'
num = 3
while num > 0:
    if 'say' in s:
        p = subprocess.Popen('date', shell = True, stdout = subprocess.PIPE)
        output = p.communicate()[0]
        print output
    else:
        print ('no')
num=num-1
Отрабатывает бесконечно.
А нужно только 3 раза.

Офлайн

#2 Май 12, 2018 01:19:37

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

проблема с циклами

 >>> num = 3
>>> while num:
	print(num)
	num-=1
	
3
2
1
>>> 

Офлайн

#3 Май 12, 2018 16:42:13

marvellik
Зарегистрирован: 2016-05-15
Сообщения: 639
Репутация: +  73  -
Профиль   Отправить e-mail  

проблема с циклами

вычитание единицы начнется только после завершения цикла а цикл увы бесконечный так как num не меняется. все дело в отступе в 11 строке

 import subprocess, threading
s = 'say hello world'
num = 3
while num > 0:
    if 'say' in s:
        p = subprocess.Popen('date', shell = True, stdout = subprocess.PIPE)
        output = p.communicate()[0]
        print (output)
    else:
        print ('no')
    num  = num-1

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version