Top.Mail.Ru
Ответы

Помогите найти ошибку в коде

Код для задания написан, но не работает

import math as s

Nmax = 10
eps =0.0
X = [-0.98, -0.5, 0.1, 0.5, 0.95, 0.9]
n = 0
s_n = 0.0
sum_s = 0.0
k = 0
z = 0
m = 0

n = int(input("Введите количество тестов: "))
while n <= 1 or n > Nmax:
print("Неверно задано количество тестов.")
print()
n = int(input("Введите количество тестов: "))
else:
eps= [0.0]*n
for i in range(n):
eps[i]= float(input('Введите точность: '))

for k in range(len(eps)):
if eps[k] >= 1 :
print('\nНеверно задана точность!')
for i in range(80):
print('=', end='')
print()
else:
# Туть поменял
o_z = str(s.ceil(abs(s.log(eps[k]) / s.log((10)))) )
# Туть поменял
# o_z[k] = str(o[k])
print('\n')

print('Eps = {0:e}'.format(eps[k]))
print("=" * 130)
print(" N | X | S(X) | K | F(X) | S(X)-F(X)")
print("=" * 130)

for j in range(len(X)):
x=X[j]
F = 1 / (1 + X[i]) ** 5

n = 1
a = 2*X[i]+3
b= X[i]**i
c = 2*X[i]
s_n = a*b/c
sum_s= s_n
while s_n > eps[k] and n < 1000:
n=n+1
a= a+2
b=(-X[i] * 2*X[i]+3) / (2*X[i])
c=c+1
s_n = (a*b)/c
sum_s=sum_s+s_n
# Туть поменял
z = '{0:2d}|{1:17.' + o_z + 'f}|{2:17.' + o_z + 'f}|{3:4d}|{4:17.' + o_z + 'f}|{5:17.' + o_z + 'f}|'
print(z.format(k + 1, X[i], sum_s,n, F, abs(sum_s - F)))
print('='*80)

По дате
По рейтингу
Аватар пользователя
Мастер

скиньте нормально код через вкладку "блок кода"



Видео по теме