Форум сайта python.su
#!/usr/bin/python
# -*- coding: utf-8 -*-
schet = 0
def func1(schet):
schet = func2(schet)
return schet
def func2(schet):
if schet < 24:
schet +=1
print(schet)
return schet
while 1:
schet = func1(schet)
if schet < 24:
TypeError: unorderable types: NoneType() < int()
Офлайн
Насколько я понял, на последней иттерации условие, что schet<24 не выполняется, и оператор If возвращает None, а он в свою очередь подставляется в func1() и вызывается ошибка.
Рабочий код:
schet = 0
def func1(schet):
schet = func2(schet)
return schet
def func2(schet):
if schet < 24:
schet +=1
print(schet)
return schet
while schet<24:
schet = func1(schet)
Офлайн
Спасибо, понял
Офлайн
Правильнее исправить func2:
schet = 0
def func1(schet):
schet = func2(schet)
return schet
def func2(schet):
if schet < 24:
schet +=1
print(schet)
return schet
while True:
schet = func1(schet)
Офлайн
GaiveRи уходим в бесконечный цикл :)while True:
schet = func1(schet)
while True:
schet = func1(schet)
if not schet:
break
Офлайн