с постусловием:
def F(k):
if k == 1: return 1
return 1/k + F(k-1)
A = float(input('Введите A: '))
i = 1
while True:
s = F(i)
if s > A: break
s1 = s
i += 1
print('Наибольшее K =', i-1)
print('Сумма при данном К = ', s1)
Или с предусловием, но это менее эффективно с точки зрения вычислительных ресурсов:
def F(k):
if k == 1: return 1
return 1/k + F(k-1)
A = float(input('Введите A: '))
i = 0
s = 0
while s < A:
i += 1
s = F(i)
print('Наибольшее K =', i-1)
print('Сумма при данном К =', F(i-1))