Пропускает всю функцию, вывод пустой
По сути он "пропускает" всю функцию, вывод пустой, но при этом ни ошибки, ничего нет. Предупреждения также отсутствуют.
b = int(input())
g = 0
h = 0
n = 0
def check():
hn = False
hu = False
global b
global g
global h
global n
while b != 0:
if b > g and hu is False:
h += b
hu = True
if b < g and hn is False:
n += b
hn = True
g = 0
g += b
b = int(input())
return h, n, n - h
Ответы (3 шт):
Автор решения: Алексей Белкин
→ Ссылка
Потому что Вы ее не вызвали. Напишите:
print(check())
А лучше от глобальных переменных отказаться, если они нужны только в этой ф-ции:
def check(b, g=0, h=0, n=0):
hn = False
hu = False
while b != 0:
if b > g and hu is False:
h += b
hu = True
if b < g and hn is False:
n += b
hn = True
g = 0
g += b
b = int(input())
return h, n, n - h
print(check(int(input())))
Автор решения: Qwertiy
→ Ссылка
Потому что чтобы функция "работала", её кто-то должен вызвать.
А ещё, в коде вообще нет вывода.
Автор решения: SdxSdySdz
→ Ссылка
Скорее всего проблема в том, что вы эту функцию нигде не вызываете.
Для этого в самом конце файла досточно написать check()
Однако лучшей практикой является
- задание единой точки входа в приложение с помощью функции, которою принято называть
main - стараться обходиться без глобальных переменных в коде
Таким образом, предлагаю следующий код
def check(b, g, h, n):
hn = False
hu = False
while b != 0:
if b > g and hu is False:
h += b
hu = True
if b < g and hn is False:
n += b
hn = True
g = 0
g += b
b = int(input("Введите число "))
return h, n, n - h
def main():
b = int(input("Введите число "))
g = 0
h = 0
n = 0
result = check(b, g, h, n)
print(result)
if __name__ == "__main__":
main()
И конечно, не забудьте, что программа ожидает от вас на вход число, которое вы введёте в консоль