Вы не получаете вывод, потому что вы определили функцию внутри функции, но вы вызываете только первую. Второй определен, но никогда не выполняется. Что вы хотите сделать, чтобы выполнить второй, так это добавить вызов функции в конце первого, так что в вашем случае это будет:
def check_triangle(a, b, c):
a, b, c = [float(i) for i in input('Enter the stick lengths: ').split(' ')]
x, y, z = [int(num) for num in [a, b, c]]
list_1 = [x, y, z]
def is_triangle(x, y, z):
for i in list_1:
if (list_1[i] <(list_1[i+1] + list_1[i+2])):
print("Yes")
else:
print("No")
is_triangle(x,y,z)
Отступы могут быть испорчены, потому что я ' Я отвечаю по телефону, извините за это. Кроме того, из того, что я вижу, вы получите список ошибок вне диапазона в этой строке.
if (list_1 [i] <(list_1 [i + 1] + list_1 [i + 2])) </p>
Это происходит потому, что ваш i на самом деле является элементом вашего списка, как определено в строке ниже, а не индексом, но вы пытаетесь получить элемент из списка по его индексу с синтаксисом my_list [index ].
для i в list_1
То, что вы хотите сделать вместо упомянутого выше для l oop, - это итерация в диапазоне его длины, то есть итерация по возможным индексам в списке , сделано так:
для i в диапазоне (len (list_1))
Я заметил несколько других вещей в вашем коде и много возможностей для улучшения, но я надеюсь, что вы можете Остальное сделай сам!