Найти - Пользователи
Полная версия: целое число + 1 = NoneType
Начало » Python для новичков » целое число + 1 = NoneType
1
Voroshek
#!/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)
добросовестно возвращает числа от 1 до 24, после чего сообщает:
if schet < 24:
TypeError: unorderable types: NoneType() < int()
В каком месте schet становится NoneType?:rolleyes:
МаксЩедров
Насколько я понял, на последней иттерации условие, что 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)
Voroshek
Спасибо, понял
GaiveR
Правильнее исправить 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)
pill
GaiveR
while True:
schet = func1(schet)
и уходим в бесконечный цикл :)

while True:
schet = func1(schet)
if not schet:
break
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB